For developers and agents
Sheffield Events public API
The same public facts people can see on this site, as JSON with stable ids, sources and citations. Read only, no key, no account. Cache what you fetch: responses carry ETags and a five-minute public cache, and each address has a budget of 300 requests per five minutes.
Endpoints
Every response is an envelope: data, meta (counts and paging), sources (name, licence, attribution, updated) and citation (a URL you can quote). Field selection: fields=a,b,c. Paging: page and per_page (max 100).
/areasThe 147 neighbourhoods with counts. q= filters by name./areas/city-centreOne neighbourhood: counts, Census 2021 shares, sold prices, constituency, neighbours./areas/locate?lat=53.3811&lng=-1.4701Which neighbourhood and constituency a point is in, with the nearest stops./events?from=2026-09-14&per_page=10Upcoming events. q, from, to, area, category, lat, lng, radius, classes./events/{id}One event with venue, times, price flags, canonical URL and source./places?q=theatreBusinesses and venues from the directory. kind=business|location, lat, lng, radius./services?kind=pharmacy&lat=53.3811&lng=-1.4701GP practices, pharmacies, dentists, libraries, family hubs, housing offices, foodbanks, community venues and schools./stops/nearest?lat=53.3811&lng=-1.4701NaPTAN stops with walk times. Stop records, not departures./sourcesEvery data source with licence, credit, freshness and status./layersPublic Local Map layers and their data URLs./teamsSheffield sports teams and grounds./fixtures?competition=championshipFixtures and results by competition or team./mpsThe six constituencies, their MPs and recent activity.
MCP
Agents can use the same facts through a read-only Model Context Protocol server with no authentication:
https://sheff.events/wp-json/sheff-public/mcpIt exposes these abilities as tools:
sheff-events/search-eventsUpcoming Sheffield events by keyword, date window, neighbourhood or area tag, category, and distance from a point. Returns canonical URLs and each event's source.sheff-events/get-eventOne published event with venue, times, categories, price flags, canonical URL and source.sheff-events/search-placesBusinesses and venues in the Sheffield Events directory by keyword or distance, with conservative location fields.sheff-events/get-areaFacts for one of the 147 Sheffield neighbourhoods: counts, census shares, sold prices, constituency and links.sheff-events/list-areasAll Sheffield neighbourhoods with counts, optionally filtered by name.sheff-events/locateWhich neighbourhood and constituency a latitude and longitude fall in, with the nearest stops.sheff-events/nearest-servicesGP practices, pharmacies, dentists, libraries, family hubs, housing offices, foodbanks, community venues and schools near a point or by keyword.sheff-events/nearest-stopsNaPTAN stop records near a point with walk times. Not live departures.sheff-events/list-map-layersMetadata for the public Local Map layers and where to fetch each.sheff-events/source-healthEvery public data source behind Sheffield Events with licence, credit, freshness and status. Never internal error text.sheff-events/list-mpsThe six constituencies covering Sheffield, their MPs and recent Parliamentary activity, with official record links.sheff-events/list-teamsSheffield sports teams with grounds and competitions.
Nothing on this server writes, refreshes a source or reaches an upstream provider. Member and organiser actions stay on the authenticated site.
Members
A second, authenticated MCP server lets a signed-in member work with their own saves, plan, follows, notification preferences, conversations and submissions, plus everything public. Authenticate with a WordPress application password from your account settings; every call acts only as you, on your own records, is rate-limited, and is written to a log you can read back with my-activity-log.
https://sheff.events/wp-json/sheff-member/mcpsheff-events/mesheff-events/my-savessheff-events/save-eventsheff-events/unsave-eventsheff-events/my-plansheff-events/plan-addsheff-events/plan-removesheff-events/my-followssheff-events/followsheff-events/unfollowsheff-events/notification-preferencessheff-events/update-notification-preferencessheff-events/my-notificationssheff-events/my-conversationssheff-events/send-messagesheff-events/my-submissionssheff-events/submit-eventsheff-events/my-activity-logsheff-events/update-eventsheff-events/submit-businesssheff-events/update-businesssheff-events/submit-jobsheff-events/update-jobsheff-events/withdraw-listing
Organiser abilities change only listings you submitted (editors can change any). Submissions and a member's edits to a live listing enter review; withdraw-listing previews unless confirm is true and only ever moves a listing to draft.
Errors and limits
- Not found: 404 with code sheff_*_not_found.
- Bad input: 400 with code sheff_bad_*.
- Layer without data yet: 503.
- Over budget: 429 with Retry-After.
- Send If-None-Match with the ETag you were given to get a 304 when nothing changed.
Licences
Each source keeps its own licence and asks for its own credit; both are in every response and on the sources page. Quote the citation URL when you use a result. All data sources