Ghanas Event API
The Ghanas Event API gives you read-only access to the public side of the platform: published events, their ticket types and prices, event categories and organiser profiles. Everything returned is already visible on www.ghanasevent.com.
- JSON over HTTPS, with stable field names
- No sign-up, no API key, no OAuth
- Open CORS, so it works from browsers
- Prices in Ghana cedis (GHS), dates in ISO 8601 (UTC)
Quickstart
Fetch the next three events in Accra:
curl "https://www.ghanasevent.com/api/v1/events?city=Accra&per_page=3"Then fetch one event in full using its slug:
curl "https://www.ghanasevent.com/api/v1/events/accra-dev-summit-2026"Every endpoint, parameter and field is listed in the API Reference, where you can also send live requests.
Base URL & versions
https://www.ghanasevent.com/api/v1The version is part of the path. Within v1 we only make additive changes (new fields or endpoints). Anything that would break existing integrations will ship as v2, and v1will keep working for at least 6 months afterwards. Ignore fields you don't recognise.
Authentication
None. The API only exposes public data, so there are no keys, tokens or accounts. Do not send cookies or credentials; they are ignored. Buying tickets, managing events and personal data are deliberately not part of the public API.
Pagination
List endpoints take page (from 1) and per_page (default 20, max 50). Each response includes a pagination object:
{
"data": [ … ],
"pagination": { "page": 2, "per_page": 20, "total": 57, "has_more": true }
}Keep requesting the next page while has_more is true.
Filtering & dates
/eventsreturns events that haven't ended yet, soonest first. Combine filters freely:
q: search title, venue and citycategory: a slug from/categoriescityorregion: e.g.Kumasi,Ashantistart_after/start_before: ISO dates, e.g.2026-12-01free=true,include_past=true,sort=newest
curl "https://www.ghanasevent.com/api/v1/events?category=music®ion=Ashanti&start_after=2026-12-01&start_before=2026-12-31"All timestamps are ISO 8601 in UTC. Ghana is on UTC all year, so these are also local times.
Rate limits
Each IP address can make 60 requests per minute. Over the limit you get 429 Too Many Requests with a Retry-After header (seconds). Cache responses on your side. Listings only change every few minutes, so polling more than once a minute gains nothing.
Errors
Errors use standard HTTP status codes and a consistent JSON body:
{ "error": { "code": "event_not_found", "message": "No published event with slug \"x\"." } }400 invalid_parameter: a parameter has the wrong format404 event_not_found,organiser_not_found,category_not_found429 rate_limited: slow down and retry afterRetry-After500 server_error: temporary; retry with backoff
Browser use & caching
Every endpoint sends Access-Control-Allow-Origin: *, so you can call it with fetch from any website or app. Responses are cached at the edge for about 60 seconds (categories and the spec for an hour). Ticket availability can therefore lag by up to a minute, and the event page is always the final word.
Linking to tickets
Every event includes a url to its official page, where people buy tickets with MoMo or card. Link there rather than copying ticket details into a checkout of your own. If external_ticket_url is set, the organiser sells tickets elsewhere. Use the ticket button builder for a ready-made “Get tickets” button.
Terms of use
- Free for personal and commercial use within the rate limits.
- Credit "Ghanas Event" near the listings and link each event to its
url. - Don't present events as your own, change prices or dates, resell tickets, or imply that Ghanas Event endorses your product.
- Event content belongs to its organisers; images may not be reused out of context.
- We may block traffic that abuses the service, and may change or retire endpoints in line with the versioning policy above.
- Use of Ghanas Event is also governed by our Terms of Service and Privacy Policy.
Support
Questions, bugs or feature requests: support@ghanasevent.com. Need write access (for example, creating events from your system)? Tell us what you're building and we'll get in touch.
Developer line: +233 24 567 1832 · WhatsApp: 053 050 5031