
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.
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/mcpYou 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 volume | Price 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_atis in UTC. For example,2026-10-19T02:00:00.000Zis the same event aslocal.date2026-10-18withlocal.time"7:00 PM".- The
localblock is a display string with no timezone field. - Use
starts_atfor sorting and filtering. - Use
localfor display only. categoryis coarse. A comedy show comes back as"arts", so do not expect fine-grained genre filtering from this field.venuehasnameandcity. The example has no address or coordinates.links.sourcepoints to the original listing, which is Ticketmaster in the example.links.ticketsis 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, uselinks.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
Related in mcp

OKX Agent Trade Kit (okx-trade-mcp / okx-trade-cli)
