Event search
GET
/v1/events/searchSearch events that organisers have opted in to public discovery, across the whole platform.
Cross-organisation, so it is not scoped to any one key and cannot be locked down per organiser. Meant for discovery surfaces rather than a single event's own website.
No key is required today — send one anywayThe Grofomo mobile app still calls this endpoint without a credential, so it cannot be locked down yet. It will be. A key sent now is accepted and ignored, so an integration built this way keeps working on the day enforcement lands; one built without a key will start returning
401 unauthorized.Request
curl -sS \
-H 'X-Grofomo-Key: pk_live_YOUR_PUBLISHABLE_KEY' \
'https://api.grofomo.com/v1/events/search'Query parameters
qstring- Matched against event name and slug. Empty returns the soonest events. Example: `summer`.
limitnumber- Maximum results. Defaults to 20, capped at 50.
Response
200 OK
{
"apiVersion": 1,
"data": {
"query": "summer",
"results": [
{
"id": "6f1c8e2a-4b3d-4c9e-9f21-8a7d5e0b1c34",
"slug": "summer-fest",
"name": "Summer Fest",
"startDate": "2026-07-17",
"endDate": "2026-07-19",
"venueName": "Ashton Court",
"city": "Bristol",
"country": "GB",
"artworkUrl": "https://cdn.grofomo.com/summer-fest/brand/poster.jpg"
}
]
}
}querystringresultsobject[]results[].iduuidresults[].slugstring- Pass this to any of the per-event endpoints.
results[].namestringresults[].startDatestring | null- First day, as `YYYY-MM-DD`.
results[].endDatestring | null- Last day, as `YYYY-MM-DD`.
results[].venueNamestring | nullresults[].citystring | nullresults[].countrystring | null- Raw ISO 3166-1 alpha-2 code, e.g. "GB".
results[].artworkUrlstring | null- Poster or key artwork, for a listing card.
Generated from EventSearchResponse