Skip to content

Back to the catalog

Show HN: Things to Do API
thingstodoapi.comtool

Show HN: Things to Do API

Things to Do API is a hosted knowledge base of local events (shows, talks, pop-ups, markets, festivals) that you query in natural language, for example `/v1/search?q=comedy+in+san+francisco+this+weekend`. It returns structured JSON with title, category, local start time, venue and ticket and source links. It also exposes an HTTP MCP endpoint, added with `claude mcp add --transport http thingstodo https://api.thingstodoapi.com/mcp`, so agents can use it as a tool. Coverage is live for the San Francisco Bay Area, with New York City and Los Angeles coming. Pricing is pay-as-you-go from $5 per 1,000 calls, the first 1,000 a month are free, and there is a 300 calls/min limit.

TL;DR Natural-language local events search API with a hosted MCP server for agents; Bay Area live, free tier.
Document

What it claims

A natural-language events search API aimed at agents. The page adds three things the summary does not: volume pricing tiers, a no-key trial, and a sample record that shows how times and links are encoded.

How to use it

The page shows these two entry points verbatim:

curl "https://api.thingstodoapi.com/v1/search?q=comedy+in+san+francisco+this+weekend"
claude mcp add --transport http thingstodo https://api.thingstodoapi.com/mcp

You can call the API without a key for 50 queries a day, so you can test coverage before signing up. The page does not say how a key is passed once you have one.

Pricing beyond the free 1,000 calls a month:

Monthly volumePrice per 1,000 calls
Up to 100,000$5
After 100,000$3
After 1 million$2

There is no spending cap unless you set one. The rate limit is 300 calls a minute.

Response shape, from the single example:

  • starts_at is in UTC. For example, 2026-10-19T02:00:00.000Z is the same event as local.date 2026-10-18 with local.time "7:00 PM".
  • The local block is a display string with no timezone field.
  • Use starts_at for sorting and filtering.
  • Use local for display only.
  • category is coarse. A comedy show comes back as "arts", so do not expect fine-grained genre filtering from this field.
  • venue has name and city. The example has no address or coordinates.
  • links.source points to the original listing, which is Ticketmaster in the example.
  • links.tickets is a different URL. It is a tracking redirect (ticketmaster.evyy.net/c/...?SharedId=DoStuff&u=<encoded source URL>) that wraps the source link. If your product needs clean outbound links, or you have your own affiliate setup, use links.source.

Limits

The page does not document:

  • any query parameters beyond q
  • pagination or result counts
  • the full response schema (the example shows one object, not the envelope it comes in)
  • error formats
  • how fresh the data is, or which sources it covers beyond the Ticketmaster example
  • terms of use for redistributing results

Only the San Francisco Bay Area is live. New York City and Los Angeles are marked "Soon", with no date given.

Before relying on this API, use the keyless tier to check two things:

  • how well it resolves relative time phrases like "this weekend"
  • how deep its coverage is for your category

Organisations named here

  • Ticketmaster
  • Claude Code
  • Model Context Protocol

Technologies named here

  • Things to Do API
  • Things to Do API MCP server
  • Claude Code
  • Model Context Protocol
  • REST