RA APIra.co ↗
Access Resident Advisor's global electronic music database. Query clubs by city, get venue profiles with capacity and contact info, and browse upcoming event lineups.
What is the RA API?
The RA.co API exposes 7 endpoints covering Resident Advisor's global database of electronic music venues, artists, and events. Use list_clubs to retrieve all venues in a city sorted by follower count, get_club_detail to pull capacity, phone, website, and editorial description for a specific venue, and list_area_events or list_events to page through upcoming event lineups with full artist rosters and flyer URLs.
curl -X GET 'https://api.parse.bot/scraper/b89b7fc2-7fcb-49f4-8b0d-8ba592c967cc/list_clubs?area_name=berlin&country_code=de' \ -H 'X-API-Key: $PARSE_API_KEY'
List all clubs/venues in a given city area on RA.co. Returns venue names, addresses, follower counts, IDs and, for each club, the date of its most recent past event (last_event_date) and the date of its first/oldest listed event (first_event_date), sorted by follower count (most popular first). The full list for the requested area is returned in a single response (no pagination). After loading the area's club list, both dates are looked up for every club in batches of 300 clubs per request, so a large area (e.g. 2,000+ clubs) costs several extra round trips. Both dates are RA event dates (ISO datetime string, midnight local): last_event_date is the newest event dated on or before today and first_event_date the earliest event RA lists for the club; either is null when RA lists no such event. Areas and country codes correspond to RA.co URL segments; 'newyork' is accepted as an alias for RA's 'newyorkcity' segment (New York City). An area/country pair RA does not recognise returns a stale_input error rather than another city's clubs.
| Param | Type | Description |
|---|---|---|
| area_name | string | Area/city URL name (e.g., 'washingtondc', 'paris', 'berlin', 'london', 'vienna'); 'newyork' selects New York City. |
| country_code | string | Country URL code (e.g., 'us', 'fr', 'uk', 'de', 'at'). |
{
"type": "object",
"fields": {
"area": "string — area name as passed in the request",
"clubs": "array of club summary objects with keys: id, name, address, content_url, follower_count, is_closed, logo_url, last_event_date (ISO datetime string of the club's most recent past event on RA, or null when none is listed), first_event_date (ISO datetime string of the club's earliest/oldest event listed on RA, or null when none is listed)",
"country": "string — country code as passed in the request",
"total_clubs": "integer — total number of clubs returned"
},
"sample": {
"data": {
"area": "newyork",
"clubs": [
{
"id": "165976",
"name": "BASEMENT",
"address": "52-19 Flushing Ave., Maspeth, NY 11378 USA",
"logo_url": "https://static.ra.co/images/clubs/basement_squareblack(1)(2).jpg?dateUpdated=1744393492450",
"is_closed": null,
"content_url": "/clubs/165976",
"follower_count": 20709,
"last_event_date": "2026-10-03T00:00:00.000",
"first_event_date": "2019-05-10T00:00:00.000"
},
{
"id": "163751",
"name": "Zürcher Gallery",
"address": "33 Bleecker St, New York, NY 10012",
"logo_url": null,
"is_closed": null,
"content_url": "/clubs/163751",
"follower_count": null,
"last_event_date": "2023-07-19T00:00:00.000",
"first_event_date": "2023-07-19T00:00:00.000"
}
],
"country": "us",
"total_clubs": 2934
},
"status": "success"
}
}About the RA API
Venue Discovery and Profiles
The list_clubs endpoint accepts an area_name and country_code and returns every RA-listed venue for that city in a single, un-paginated response sorted by follower_count descending. Each club summary includes id, name, address, content_url, logo_url, and an is_closed flag. Feed any returned id into get_club_detail to retrieve deeper profile data: capacity, phone, website, a long-form blurb, and structured area and country objects. Fields are null for venues with incomplete RA profiles rather than omitted, so response shapes are consistent.
Event Listings by Venue or City
list_events returns upcoming events for a single club filtered by club_id, with optional date_from, page, and page_size (max 50) parameters. Each event object carries id, title, date, start_time, flyer_url, interested_count, and an artists array of {id, name} objects. For city-wide coverage, list_area_events accepts a numeric area_id (obtainable from get_club_detail's area.id field or known values like 8 for New York City) and pages through all events across every venue in that area. If you need to resolve a city name to its numeric area_id, call search_areas first with a free-text city string and optional country filter.
Event and Artist Detail
get_event_detail accepts a numeric event_id and returns the complete event record: cost, end_time, sold_out status (boolean or null when ticketing is not tracked), a venue object with address, and the full artists lineup with individual RA profile URLs. When an event does not exist the endpoint returns a stale_input marker rather than a 404, which is worth handling explicitly. get_artist_detail returns a DJ/producer profile including bio, blurb, aliases, pronouns, image_url, social links, and an array of mixes with duration and content_url for each recorded set.
The RA API is a managed, monitored endpoint for ra.co — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when ra.co changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official ra.co API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Map all open electronic music venues in a city ranked by RA follower count using list_clubs.
- Build a venue directory with capacity, contact details, and website pulled from get_club_detail.
- Aggregate this-weekend's events across a city via list_area_events filtered with date_from.
- Track whether a specific event is sold out by polling the sold_out field in get_event_detail.
- Generate artist profile pages with biography, aliases, and linked mixes from get_artist_detail.
- Notify users about new upcoming events at a favourite club by diffing list_events results over time.
- Resolve a user-supplied city name to a numeric area_id before querying list_area_events using search_areas.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.