# Resident Advisor Scraper – RA Event Listings (`unnoted/resident-advisor-events`) Actor

Get Resident Advisor (RA) event listings for any city: title, date, start and end time, venue and address, lineup, genres, ticket price, attending count and flyer. Filter by date range and genre, or add single events by URL. Export JSON, CSV or Excel. No login needed. Unofficial.

- **URL**: https://apify.com/unnoted/resident-advisor-events.md
- **Developed by:** [Unnoted](https://apify.com/unnoted) (community)
- **Categories:** Travel, Other
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $4.50 / 1,000 events

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

### What does Resident Advisor Scraper – RA Event Listings do?

Resident Advisor Scraper collects the public event listings of RA (ra.co) for any city or region: title, date and times, venue and address, the artist lineup, genres, ticket price text, attending count and the flyer, ready to export or call by API.

Unofficial, not affiliated with Resident Advisor.

**Main features:** paste links, up to 100,000 events per run, no login needed, export to JSON, CSV or Excel, and full API and scheduling support on Apify.

### What data can you get from Resident Advisor?

Each event is one row with these fields:

| Field | Description |
|---|---|
| `eventId` | RA id of the event (always filled) |
| `url` | RA page of the event (always filled) |
| `title` | Event title (always filled) |
| `date` | Day of the event (YYYY-MM-DD) |
| `startTime` | Start, local time at the venue (YYYY-MM-DDTHH:MM:SS) |
| `endTime` | End, local time at the venue (YYYY-MM-DDTHH:MM:SS) |
| `listingDate` | Day the event is listed under in the city listing (YYYY-MM-DD; empty for events added by URL) |
| `venueName` | Venue name (empty when the venue is not announced yet) |
| `venueId` | RA id of the venue |
| `venueAddress` | Street address of the venue |
| `venueUrl` | RA page of the venue |
| `area` | RA city or region of the event (e.g. London) |
| `country` | Country of the event |
| `artists` | Names of the artists on the lineup |
| `genres` | RA genres of the event |
| `attendingCount` | How many RA users marked themselves as going |
| `costText` | Ticket price as shown on RA (free text, e.g. "£15 - £25") |
| `isTicketed` | Whether tickets are sold through RA |
| `minimumAge` | Minimum age, when the event sets one |
| `isFestival` | Whether RA marks the event as a festival |
| `flyerUrl` | Front flyer image |
| `scrapedAt` | When the event was collected (ISO 8601) |

### How to scrape Resident Advisor with Resident Advisor Scraper – RA Event Listings

1. Open Resident Advisor Scraper – RA Event Listings on Apify and go to the **Input** tab.
2. In **Cities or regions**, enter `https://ra.co/events/uk/london`.
3. In **Max events**, enter `20`.
4. Click **Start** and wait for the run to finish. A small run like this one takes under a minute.
5. Open the **Output** tab to see the results, or download them as JSON, CSV, Excel or HTML.

### Input

See the **Input** tab for every option. The fields:

| Field | Name | What it does | Default |
|---|---|---|---|
| `areaUrls` | Cities or regions | RA event pages of the cities or regions to list, one per line (e.g. https://ra.co/events/uk/london, https://ra.co/events/de/berlin). A city name works too (e.g. Amsterdam): the first RA area with that name is used. |  |
| `eventUrls` | Event URLs | Single RA events to get, one per line (e.g. https://ra.co/events/2544328). |  |
| `startDate` | From date | First day of events to list, as YYYY-MM-DD (e.g. 2026-11-01). Leave empty for today. | `""` |
| `endDate` | To date | Last day of events to list, as YYYY-MM-DD (included). Leave empty for no end. | `""` |
| `genres` | Genres | Only events tagged with one of these RA genres (e.g. techno, house, drum & bass). Leave empty for all genres. |  |
| `maxItems` | Max events | Maximum number of events in total, across all cities and URLs. You pay only for events saved. | `100` |

Example input:

```json
{
  "areaUrls": [
    "https://ra.co/events/uk/london"
  ],
  "maxItems": 20
}
```

### Output

You can download the dataset in various formats such as JSON, HTML, CSV, or Excel. One real result:

```json
{
  "eventId": "2544328",
  "url": "https://ra.co/events/2544328",
  "title": "Kings of the Rollers 'The Holy Grail' Album Launch",
  "date": "2026-10-08",
  "startTime": "2026-10-08T18:00:00",
  "endTime": "2026-10-08T22:00:00",
  "listingDate": "2026-10-08",
  "venueName": "UNLOCKED",
  "venueId": "259378",
  "venueAddress": "118, Curtain Road, London, EC2A 3AY",
  "venueUrl": "https://ra.co/clubs/259378",
  "area": "London",
  "country": "United Kingdom",
  "artists": [
    "Kings of the Rollers"
  ],
  "genres": [
    "Drum & Bass"
  ],
  "attendingCount": 1709,
  "costText": "0",
  "isTicketed": true,
  "minimumAge": 18,
  "isFestival": false,
  "flyerUrl": "https://images.ra.co/62a6c59d0d94255b4d4589e826463e343747f660.jpg",
  "scrapedAt": "2026-10-08T06:14:03.533Z"
}
```

### How much does it cost to scrape Resident Advisor?

Resident Advisor Scraper – RA Event Listings uses pay-per-event pricing: **$4.50 per 1,000 events** (Event). You pay only for events saved to the dataset; platform usage is included in the price. Each run also has Apify's standard start fee of a fraction of a cent.

| Events | Price |
|---|---|
| 100 | $0.45 |
| 1,000 | $4.50 |
| 10,000 | $45.00 |

Set **Max items** (and the run's maximum cost in the run options) to cap what a run can spend. The run stops when either limit is reached.

### Use cases

- **Event calendars and city guides:** pull every club night and festival in a city for a date range and publish your own listings.
- **Booking and A\&R research:** see which artists play where and how often, by city, genre and venue.
- **Venue and promoter benchmarking:** compare venues by number of events, lineups and attending counts.
- **Ticketing and nightlife market research:** track prices, ticketed events and attendance across cities over time.
- **Alerts:** schedule a daily run for your city and genre and get new events into Slack, a sheet or your app.

### Tips

- Copy the city page from RA (e.g. https://ra.co/events/de/berlin) into **Cities or regions**, or just type the city name.
- Set **From date** and **To date** (YYYY-MM-DD) to list a weekend, a month or a season. Without them the list starts today.
- Use **Genres** with RA genre names such as techno, house, drum & bass or ambient. An event matches when it has any of them.
- Big cities list thousands of events: set **Max events** to what you need. You pay only for events saved.
- A multi-day event appears once, under its first listing day.

### FAQ

#### Is it legal to scrape Resident Advisor?

Resident Advisor Scraper – RA Event Listings collects only data that Resident Advisor shows publicly to every visitor, and it leaves out personal data such as private profiles and contact details. Our Actors are ethical and do not extract private user data. Results could still contain personal data in titles or descriptions written by uploaders. Personal data is protected by the GDPR in the European Union and by other regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you're unsure whether your reason is legitimate, consult your lawyers. You are responsible for how you use the data.

#### Can I use it through an API?

Yes. Every Apify Actor has an API: start runs, pass input and read results over HTTP, or use the JavaScript and Python clients. See the **API** tab on the Actor page for ready-made examples.

#### Can I schedule runs and connect other apps?

Yes. Use Apify **Schedules** to run Resident Advisor Scraper – RA Event Listings every hour, day or week, and integrations (Make, Zapier, Google Sheets, webhooks and more) to send the results where you need them.

#### Why did I get fewer results than expected?

The run stops at **Max items** or at the run's maximum cost, whichever comes first. Resident Advisor may also return fewer results for rare search terms. Duplicates across search terms are saved once. Check the run's `RUN_SUMMARY` record in the key-value store for the inputs that returned nothing.

#### What if it stops working?

Sites change. We run a daily check of our own and fix breakages quickly. If something looks wrong, open an issue in the **Issues** tab with the run link and we'll look at it.

#### Which cities are covered?

Every city and region RA lists events for. Paste its RA events URL or type its name.

#### Are times in my time zone?

No. Start and end times are the local time at the venue, as RA shows them.

#### Does it include attendees or user profiles?

No. The output holds the attending count only: no attendee names, user profiles or promoter contacts.

### Not included

No personal data: attendee lists, user profiles and promoter or artist contact details are left out. Ticket tiers and resale prices, event descriptions and artist biographies are not included.

### More Actors from us

- [AliExpress Search Scraper – Products & Prices](https://apify.com/unnoted/aliexpress-product-search)
- [BBB Scraper – Business Ratings & Accreditation](https://apify.com/unnoted/bbb-business-search)
- [Bilibili Scraper – Video Search & Stats API](https://apify.com/unnoted/bilibili-video-scraper)
- [Bumeran Jobs Scraper – LATAM Job Listings](https://apify.com/unnoted/bumeran-job-listings)
- [Foundit Jobs Scraper – India Job Listings API](https://apify.com/unnoted/foundit-job-listings)
- [Google Jobs Scraper – Job Listings API](https://apify.com/unnoted/google-jobs-listings)
- [Google Play Reviews Scraper – App Reviews API](https://apify.com/unnoted/google-play-reviews-scraper)
- [Google Trends Scraper – Interest & Related Queries](https://apify.com/unnoted/google-trends-data)
- [Idealo Scraper – Price Comparison Data](https://apify.com/unnoted/idealo-price-search)
- [Kleinanzeigen Scraper – Listings & Prices](https://apify.com/unnoted/kleinanzeigen-listings-scraper)
- [Mercari Japan Scraper – Listings & Prices API](https://apify.com/unnoted/mercari-japan-search)
- [Sainsbury's Scraper – UK Grocery Prices](https://apify.com/unnoted/sainsburys-grocery-search)
- [Tokopedia Scraper – Product Search & Prices](https://apify.com/unnoted/tokopedia-product-search)
- [Workday Jobs Scraper – Any Careers Site](https://apify.com/unnoted/workday-jobs-scraper)
- [Yandex Maps Scraper – Places & Business Data](https://apify.com/unnoted/yandex-maps-places)

# Actor input Schema

## `areaUrls` (type: `array`):

RA event pages of the cities or regions to list, one per line (e.g. https://ra.co/events/uk/london, https://ra.co/events/de/berlin). A city name works too (e.g. Amsterdam): the first RA area with that name is used.

## `eventUrls` (type: `array`):

Single RA events to get, one per line (e.g. https://ra.co/events/2544328).

## `startDate` (type: `string`):

First day of events to list, as YYYY-MM-DD (e.g. 2026-11-01). Leave empty for today.

## `endDate` (type: `string`):

Last day of events to list, as YYYY-MM-DD (included). Leave empty for no end.

## `genres` (type: `array`):

Only events tagged with one of these RA genres (e.g. techno, house, drum & bass). Leave empty for all genres.

## `maxItems` (type: `integer`):

Maximum number of events in total, across all cities and URLs. You pay only for events saved.

## Actor input object example

```json
{
  "areaUrls": [
    "https://ra.co/events/uk/london"
  ],
  "startDate": "",
  "endDate": "",
  "maxItems": 20
}
```

# Actor output Schema

## `results` (type: `string`):

One item per event.

## `runSummary` (type: `string`):

Items saved, inputs done, and how complete each field was.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "areaUrls": [
        "https://ra.co/events/uk/london"
    ],
    "maxItems": 20
};

// Run the Actor and wait for it to finish
const run = await client.actor("unnoted/resident-advisor-events").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "areaUrls": ["https://ra.co/events/uk/london"],
    "maxItems": 20,
}

# Run the Actor and wait for it to finish
run = client.actor("unnoted/resident-advisor-events").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "areaUrls": [
    "https://ra.co/events/uk/london"
  ],
  "maxItems": 20
}' |
apify call unnoted/resident-advisor-events --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,unnoted/resident-advisor-events"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/cBTZWYphDD7ocaqrJ/builds/aSNcfhJHHZis8jE4c/openapi.json
