← Back to your dashboard · Your API keys

Local events API docs

One REST endpoint for events, one for venues. JSON over HTTPS, GET only, CORS open.

Try it — no key needed

Press Run to call the API. Real data, up to 5 rows.

curl "https://findlocal.community/api/events?city=boston&when=weekend" \
  -H "Authorization: Bearer $FINDLOCAL_KEY"
Raw JSON
Run a query first.

Next: create a free API keygrab a key from your dashboard — 100 calls a month, every row, no card — and send it as Authorization: Bearer. The same key works for the MCP server.

Full reference

Every parameter and field, with a Test Request button on each endpoint.

Keyless sandbox · 5 rows a call
Use your API key

Calls then go to the production API with full results, and each one spends a call from your monthly quota. The key stays in this browser tab — it is sent only to findlocal.community/api and forgotten when you close the tab. Get a key from your dashboardNo key yet? Create a free account.

Loading the playground…

API reference

Base URL https://findlocal.community/api. JSON over HTTPS, GET only, CORS open. Every response is { "data": …, "meta": … }. Send your key as Authorization: Bearer <key>. The machine-readable contract is openapi.json, and the same reference as Markdown is llms-full.txt.

GET /api/events — Search upcoming events

Upcoming events in one metro (city), around a point (near), or for one niche tag in every metro (tag with no city), filtered and chronological by default.

ParameterTypeDescription
citystring
albuquerque · ann-arbor · asheville · atlanta · austin · baltimore … (134 values)
Metro slug (or name). One of 90 metros (US and UK) plus 44 API-only metros in Europe. Required unless near, tag (or venue/ids) is given: no city, no near and no tag is a 400 missing-city, an unknown one a 400 unknown-city — there is no default metro. With tag, a comma list (city=berlin,hamburg) narrows the tag search to those metros.
whenstringDate window, resolved in the metro's own time zone — or one day as YYYY-MM-DD.
date_fromstring (date)Inclusive start day (YYYY-MM-DD) of an explicit window; used when when is absent. Defaults to today. A multi-day run (end_date) that started earlier but is still on is included.
date_tostring (date)Inclusive end day (YYYY-MM-DD) of an explicit window; used when when is absent. Open-ended when omitted.
updated_sincestring (date-time)Incremental sync: only events changed at or after this ISO-8601 instant, delisted ones included (is_deleted: 1). Pass the previous response's meta.synced_at.
catstringComma list of category slugs. literary also matches everything at bookstores and libraries.
freestring
1
Free events only.
paidstring
1
Paid events only.
maxnumberMaximum price in the city's local currency (USD for US metros, GBP for London, EUR/CHF/PLN in the API-only European metros; events with a parsed price).
todstringComma list of times of day.
regionstringNeighborhood / sub-area inside the metro, e.g. Cambridge.
qstringFree text, matched word by word (up to 4 words; every word must match): event title, venue name, neighbourhood/town, description, performer and author names, and linked book titles. Common words like "the" and "in" are ignored.
performerstringSubstring match on performer names only.
series_idstringEvery upcoming occurrence of one series (an event's series_id).
authorsstring
1
Only events with a known author on the bill.
nearstringProximity search: <lat>,<lng>. Orders by distance and overrides sort. The radius spans metros (a point between Washington and Baltimore returns both; each event's city says which); city then only sets the time zone for "today", and defaults to the metro nearest the point.
radius_kmnumberRadius for near (default 25, max 200).
sortstring
featured · date
date is chronological; featured is the site's editorial ranking.
collapsestring
0 · 1
0 = one row per date for every series. By default a DENSE series — at least 5 upcoming dates, on at least 50% of the days from its first to its last (a daily ranger tour, a twice-daily flag ceremony) — is listed once: its first date that matches the filters, with collapsed: 1 and series_first / series_last. Same-day repeats fold into that row. Weekly events are never collapsed; meta.total counts what is listed. Never applied with series_id, ids or updated_since.
tagstring
forro
A niche tag, finer than a category: forro (Forró; related: baião, xote, arrasta-pé, pé de serra, forrobodó). With a city it narrows that metro. WITHOUT a city (and no near) it searches EVERY metro at once, API-only ones included: when / date_from / date_to are then read in each event's own metro time zone, meta.city is null and each row carries its country and currency. An unknown tag is a 400 unknown-tag.
pageinteger1-based page of limit rows (100 when no limit). Ignored by the playground server.
limitintegerRows per call (max 500; 100 from Nov 15, 2026). The playground server caps this at 5 (100 signed in).
venuestring (uuid)A venue uuid: upcoming events at that venue (the metro comes from the venue).

GET /api/events/{id} — One event

A single event by id — past and delisted events included (is_deleted).

ParameterTypeDescription
id (path)string (uuid)The event’s id, from any GET /events row.

GET /api/venues — Venues in a metro

Active venues with their upcoming-event counts.

ParameterTypeDescription
citystring
albuquerque · ann-arbor · asheville · atlanta · austin · baltimore … (134 values)
Metro slug (or name). Missing is a 400 missing-city, unknown a 400 unknown-city.
regionstringNeighborhood / sub-area.
qstringSubstring match on the venue name.
typestringVenue type, case-insensitive: Music Venue, Performing Arts Center, Theater, Comedy Club, Bar, Nightclub, Brewery & Winery, Restaurant, Cafe, Bookstore, Library, Museum, Art Gallery, University & College, Arena & Stadium, Park & Outdoors, Community Center, Place of Worship, Market, Festival Grounds, Other.
sortstring
name · upcoming
Order.
limitintegerRows per page (max 500; 100 from Nov 15, 2026).
pageinteger1-based page; keep going while meta.has_more.

Event fields

FieldTypeDescription
idstring (uuid)
titlestring
descriptionstring
event_datestring (date)Calendar day in the venue's own time zone.
start_timestringHH:MM, 24-hour, venue-local.
end_timestring
categorystringmusic | comedy | theater | dance | literary | film | talks | art | food_drink | family | market | workshop | fitness | sports | nightlife | community | festival | parks
event_typestring[]Type tokens as the source published them (free text).
event_typesstring[]Event Intelligence: what kind of event this is, from a fixed vocabulary of 44 slugs (e.g. concert, author-talk, trivia, stand-up). Empty until classified.
category_confidencenumberEvent Intelligence: 0-1 confidence in category. Null when the category came from keywords or a person, not the classifier.
is_real_eventintegerEvent Intelligence: 1 = checked and is an attendable event; null = not checked yet. Rows judged not to be events (closures, deadlines, placeholders) are never served.
performersobject[]Who the event is by: the bill, authors, instructors, speakers. Empty when unknown. Search it with performer (or q).
pricestringPrice label as published, e.g. "$18 adv / $22 door".
price_amountnumberParsed lowest price in the city's local currency (USD for US metros, GBP for London, EUR/CHF/PLN in the European metros: see currency); 0 = free.
statusstringWhat the source states: scheduled | cancelled | postponed | rescheduled | sold_out. Null when the source does not say.
attendancestringHow to attend, as the source states it: in_person | online | hybrid. Null when the source does not say; treat as in person.
detail_page_urlstring
ticket_page_urlstring
image_urlstring
citystringMetro name. Its currency is the currency of price_amount (single-event responses carry no meta.currency).
regionstring
countrystringISO 3166-1 alpha-2 country of the metro (US, GB, DE…). List responses only.
currencystringISO 4217 currency of price_amount in this metro (USD, GBP, EUR…). List responses only; a cross-metro tag list mixes currencies.
tagsstring[]Niche tags (filter with tag): a scene finer than category, e.g. forro for forró dance. Empty for most events.
langstringISO 639-1 language of the title and description as published (en, de, pt…). Text is never translated. Null when unknown.
venue_idstring (uuid)
venue_namestring
venue_addressstring
venue_latnumber
venue_lngnumber
venue_urlstring
venue_imagestring
venue_regionstring
venue_typestringThe venue's type: Music Venue | Performing Arts Center | Theater | Comedy Club | Bar | Nightclub | Brewery & Winery | Restaurant | Cafe | Bookstore | Library | Museum | Art Gallery | University & College | Arena & Stadium | Park & Outdoors | Community Center | Place of Worship | Market | Festival Grounds | Other.
venue_capacityintegerVenue capacity, when known.
venue_tbainteger1 when the source has not named the place yet ("venue to be announced"): the event is filed under the organiser that lists it, so venue_name is the organiser and the venue address/coordinates are not a location. 0 otherwise.
venue_sizestringSmall | Medium | Large | Unknown.
author_idsstring[]
book_idsstring[]
end_datestringLast day (YYYY-MM-DD) of a multi-day run stored as one event: an exhibition, festival or trade show. Null for single-day events and for runs listed night by night (those are separate events sharing series_id). A run whose event_date is past is still upcoming until end_date.
series_idstringGroups the occurrences of one recurrence rule or run: every night of a residency, every week of a quiz. A title that repeats on several weekdays can have one series_id per weekday (series_count counts all of them). Stable across scrapes; filter with series_id=.
organizerstringWho puts the event on, when that is not the venue: a talk series, promoter, festival or council programme. The venue fields always describe where it happens.
duplicate_ofstringSet when the same show is also listed under another venue: the id of the event we keep. Such events are never in lists; by id and in updated_since syncs they report is_deleted: 1.
series_countintegerUpcoming dates of the same recurring event at this venue.
series_imagestringFirst image in the recurring series — a fallback when image_url is empty.
collapsedinteger1 when this row stands for a whole dense series (a daily or near-daily programme) listed once instead of a row per date; see collapse. For every date pass collapse=0: a title can repeat under several series_ids (one weekly rule per weekday), so series_id= may return only some of the dates.
series_firststringWith collapsed: 1: the first upcoming date (YYYY-MM-DD) of the series. Null otherwise.
series_laststringWith collapsed: 1: the last upcoming date (YYYY-MM-DD) of the series. Null otherwise.
booksobject[]The books behind book_ids (title, isbn13, cover_url, publisher, pub_year…). Absent when there are none.
authorsobject[]The authors behind author_ids (canonical_name, photo_url, bio, wikipedia_url…). Absent when there are none.
is_deletedinteger1 when the source stopped listing it, or it is a cross-venue duplicate (duplicate_of).
updated_atstring

Venue fields

FieldTypeDescription
idstring (uuid)
namestring
citystring
regionstring
addressstring
latitudenumber
longitudenumber
typestringOne of: Music Venue | Performing Arts Center | Theater | Comedy Club | Bar | Nightclub | Brewery & Winery | Restaurant | Cafe | Bookstore | Library | Museum | Art Gallery | University & College | Arena & Stadium | Park & Outdoors | Community Center | Place of Worship | Market | Festival Grounds | Other.
venue_sizestringSmall | Medium | Large | Unknown. Small is under 100 people, Medium 100-499, Large 500+; derived from capacity when that is known, otherwise an estimate.
capacityintegerMaximum capacity (people), when a source states one: Wikidata, the venue's own website, or a venue directory. null = unknown.
categoriesstring[]
urlstring
imagestring
image_attributionstringCredit line for image (Wikimedia Commons / Openverse CC licenses). When present you must display it next to the image.
descriptionstring
upcomingintegerUpcoming (non-deleted) events at this venue.
wikidata_idstringMatched Wikidata entity, e.g. Q123456.
wikipedia_urlstring
image_sourcestring
description_sourcestring

Seen enough? Full results, paging and the MCP server are one free account away.

Start free