Resident Advisor Scraper — Events, Clubs & DJs
Pricing
from $3.00 / 1,000 event results
Resident Advisor Scraper — Events, Clubs & DJs
Scrape Resident Advisor events, clubs, and DJ profiles by city, date, or URL. Lineups, venue GPS, attendance, and public booking contacts from public GraphQL. HTTP only, no login.
Pricing
from $3.00 / 1,000 event results
Rating
0.0
(0)
Developer
Andrej Kiva
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
20 hours ago
Last modified
Categories
Share
Disclaimer: Unofficial tool — not affiliated with, sponsored by, or endorsed by Resident Advisor Ltd or its affiliates. Data is read from publicly accessible pages only. No login. You are responsible for complying with applicable law (including GDPR where personal data appears) and the site’s terms. No warranty on accuracy or availability. Provided for informational and research use.
Resident Advisor scraper for Apify — a RA events scraper for city calendars, club profiles, and DJ pages. Built for nightlife aggregation, talent booking, and venue lead lists. Export lineups, venue GPS, attendance, ticketed flags, and public booking contacts as JSON. A practical Resident Advisor API alternative for Python, Node.js, Sheets, and MCP / AI assistants. HTTP-only (no browser).
Crawloop Events suite — ticketed nightlife, editorial club calendars, and general catalogs.
| Resident Advisor Scraper ◄── you are here | Shotgun Scraper | Eventbrite Scraper |
|---|---|---|
| Club nights, lineups, RA clubs & DJs | Ticketed club nights, prices, SKUs | Conferences, gigs, organizers |
When to use this Actor
- Resident Advisor events scraper — city name,
uk/londonpath, or numeric area id, plus a date window - Club / venue scraper — up to 20 clubs per city (RA list cap), or a
/clubs/{id}URL (address, phone, capacity, website) - DJ / artist scraper — search a name or paste
/dj/slug(socials + public booking blurb) - Change monitor — scheduled runs that emit only new or changed rows
- RA API alternative — structured GraphQL dataset without a partner key
When not to use this Actor
- RA Pro, orders, barcodes, or guest lists — promoter/account surfaces, not public listings
- Guaranteed ticket SKU prices — listings expose
isTicketedand a cost string when RA publishes one; use Shotgun Scraper for nightlife SKUs - Magazine, reviews, or RA Exchange — out of scope for this Actor
- Private or unlisted events — public listings only
- Mainstream ticketed catalogs (conferences, local gigs with SKU prices) — use Eventbrite Scraper
Key features
- HTTP GraphQL — first-party public
ra.co/graphql. No headless browser, no API key - City resolver —
London,uk/london, or13all work (no hardcoded city map) - Start URLs — event, city calendar, club, and DJ pages auto-routed
- Rich event rows — lineup ids, venue GPS/capacity, promoters, genres, attending, RA Pick
- DJ booking blurb — public
bookingDetailswhen the artist published it - Monitor mode — remember ids between runs; emit only
neworchanged - Caps that save budget —
maxItems(default 50) - Proxy optional — public GraphQL usually works from datacenter HTTP
Input Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
mode | String | events | events, venues, or artists. URLs are auto-routed either way |
areas | Array | — | City name, RA path (de/berlin), or numeric area id |
startUrls | Array | — | Event, city, club, or DJ URLs |
searchTerms | Array | — | DJ names (artists mode) or club names (venues mode) |
dateFrom / dateTo | String | today / +30 days | YYYY-MM-DD listing window |
genres | Array | — | Keep events tagged with these RA genre names/slugs |
festivalsOnly | Boolean | false | Festival / multi-day events only |
venueOrderBy | String | POPULAR | Club list sort: Popular / Latest / Alphabetical (max 20 clubs per city) |
maxItems | Integer | 50 | Hard cap (0 = unlimited) |
monitorMode | Boolean | false | Emit only new & changed rows |
monitorKey | String | default | Isolated monitor memory per saved search |
requestDelaySecs | Number | 0.15 | Delay between GraphQL requests |
proxyConfiguration | Object | off | Enable only if you see HTTP 403/429 |
Provide at least one of: areas, startUrls, searchTerms.
Input example — city calendar
{"mode": "events","areas": ["london"],"dateFrom": "2026-09-18","dateTo": "2026-09-25","maxItems": 50}
Input example — city path + genres
{"mode": "events","areas": ["de/berlin", "uk/london"],"genres": ["techno"],"maxItems": 100}
Input example — event URL + club + DJ
{"startUrls": [{ "url": "https://ra.co/events/2516476" },{ "url": "https://ra.co/clubs/237" },{ "url": "https://ra.co/dj/frankyrizardo" }]}
Input example — monitor a city
{"mode": "events","areas": ["berlin"],"maxItems": 200,"monitorMode": true,"monitorKey": "berlin-nights"}
Output
Each dataset item is one event, venue, or artist (recordType).
| Field | Type | Description |
|---|---|---|
recordType | String | event, venue, or artist |
id | String | Stable RA id |
title / name | String | Event title or profile name |
url | String | Canonical ra.co page |
startTime / endTime | String | Event timestamps |
timezone | String | IANA timezone from the RA area |
venueName / city / country | String | Where it happens |
latitude / longitude | Number | Venue GPS |
artists / artistNames | Array | Lineup with ids and /dj/ URLs |
genres | Array | RA genre id/name/slug |
promoters | Array | Promoter id/name/URL |
cost | String | Cost text when RA publishes one |
isTicketed / isSoldOut / isFestival | Boolean | Public flags |
attending | Integer | Public attending count |
phone / website / capacity | String | Club contact fields |
bookingDetails | String | Public DJ booking blurb (often includes an email) |
monitorChange | String | new or changed in monitor mode |
scrapedAt | String | UTC timestamp |
Output example — event
{"recordType": "event","id": "2516476","title": "KOKO Electronic: Franky Rizardo [SOLD OUT]","url": "https://ra.co/events/2516476","startTime": "2026-09-18T22:00:00.000","endTime": "2026-09-19T05:00:00.000","timezone": "Europe/London","venueName": "KOKO","city": "London","country": "United Kingdom","latitude": 51.534617,"longitude": -0.138338,"isTicketed": true,"isSoldOut": true,"attending": 1295,"artistNames": ["Franky Rizardo", "Toman", "Chelina Manuhutu"]}
Use cases
- City nightlife calendars — London / Berlin / NYC week or month dumps for aggregators
- Talent booking — DJ profiles with public booking blurbs and socials
- Venue leads — club address, phone, capacity, website by city
- Demand signals — attending counts and sold-out flags for pricing or editorial
- Change monitoring — Scheduler +
monitorModefor newly announced nights
Integration examples
Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('crawloop/resident-advisor-scraper').call({mode: 'events',areas: ['london'],maxItems: 50,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items.slice(0, 5));
Python
import osfrom apify_client import ApifyClientclient = ApifyClient(os.environ["APIFY_TOKEN"])run = client.actor("crawloop/resident-advisor-scraper").call(run_input={"mode": "events", "areas": ["london"], "maxItems": 50})items = client.dataset(run["defaultDatasetId"]).list_items().itemsprint(items[:5])
cURL
curl "https://api.apify.com/v2/acts/crawloop~resident-advisor-scraper/runs?token=$APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"mode":"events","areas":["london"],"maxItems":50}'
MCP and AI assistants
Use this Actor from AI tools via Apify MCP.
Connect your Apify account, then call this Actor by its Store ID crawloop/resident-advisor-scraper.
Example prompts:
- "Run crawloop/resident-advisor-scraper for London this week and return the top 20 events as JSON"
- "Scrape Resident Advisor techno events in Berlin and summarize venue and lineup fields"
- "Chain Resident Advisor Scraper then Shotgun Scraper for Paris this weekend — editorial lineups plus ticket SKUs"
FAQ
Do I need an API key? No. The Actor uses Resident Advisor’s public website GraphQL.
How do I find an area id? You do not have to. Pass London or uk/london. Numeric ids (London 13, Berlin 34) still work.
Why are ticket prices missing? Many events only expose isTicketed plus a free-text cost. This Actor does not invent SKU prices.
Can I watch a city for new nights? Yes. Turn on monitorMode, set a stable monitorKey, and run on Apify Scheduler.
Does it work without a proxy? Usually yes. Enable a proxy only after 403/429.
Can I scrape Resident Advisor with Python or Node.js? Yes. Call crawloop/resident-advisor-scraper from the Apify client (examples above) or via MCP. The dataset is JSON.
Does monitor mode write unchanged events? No. Unchanged rows are skipped and not added to the dataset.
What to run next
After a Resident Advisor city dump, run Shotgun Scraper for the same city when you need ticket display prices, sold-out flags, and SKUs. Use Eventbrite Scraper for conferences and general catalogs. Keep magazine or editorial scrapes out of the same run.
Related Actors
- Shotgun Scraper — Shotgun.live events, venues, artists, ticket prices
- Eventbrite Scraper — city search, event URLs, organizers, ticket price range