# Fever Events Scraper (`maximedupre/fever-events`) Actor

Collect public Fever events and experiences by city, category path, keyword, or event page. Get structured rows with titles, Fever links, venues, dates, ticket prices, ratings, availability, descriptions, and images when Fever shows them.

- **URL**: https://apify.com/maximedupre/fever-events.md
- **Developed by:** [Maxime Dupré](https://apify.com/maximedupre) (community)
- **Categories:** Travel, Business, Marketing
- **Stats:** 1 total users, 0 monthly users, 96.8% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$0.90 / 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/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.
Actors are written with capital "A".

## 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.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

### 🎟️ Find Fever Events by City, Category, or Event Page

Use Fever Events Scraper when you plan local activities, research experiences, or build a city event list. Choose one Fever source, then get structured event rows with titles, direct Fever pages, venues, dates, ticket prices, ratings, availability, descriptions, and images when Fever shows them.

- Find local listings with **[Candlelight Concert](https://apify.com/maximedupre/fever-events/examples/candlelight-concert)** and compare titles, dates, and ticket prices.
- Find New York listings with **[Candlelight Concert NYC](https://apify.com/maximedupre/fever-events/examples/candlelight-concert-nyc)** and review venues, dates, and prices.
- Compare ratings and rating counts for **[Candlelight Concert Reviews](https://apify.com/maximedupre/fever-events/examples/candlelight-concert-reviews)** when choosing an experience.
- Check dates and sessions in **[Candlelight Concert Schedule](https://apify.com/maximedupre/fever-events/examples/candlelight-concert-schedule)** before planning a visit.
- Find Orange County listings with **[Candlelight Concert Orange County](https://apify.com/maximedupre/fever-events/examples/candlelight-concert-orange-county)** and compare available events.
- Compare prices and Fever pages in **[Fever Candlelight Concert Tickets](https://apify.com/maximedupre/fever-events/examples/fever-candlelight-concert-tickets)**.

#### 📦 Fever event data in each row

Each row represents one Fever event. Rows include the title and direct Fever page, with other fields added when Fever shows them. Missing optional values are not guessed. If the same source event appears again from another submitted city, category path, keyword, or event page, the Actor keeps the first saved match and ignores later matches.

#### ▶️ Run Fever event collection in three ways

Choose one target for each run:

- **City events**: Enter one or more city names or Fever city paths, such as `London` or `es/madrid`. Add a keyword to keep matching events.
- **Category listings**: Enter a Fever category path, such as `new-york/candlelight` or `en/new-york/candlelight`.
- **Event details**: Add one or more public Fever event page URLs on `feverup.com`.

For City events and Category listings, turn on `includeDetails` when you need page-level details such as descriptions, venue locations, ratings, and images. Event details already opens event pages, so this option does not change that target. This can take longer.

Set `maxItems` to a positive integer when you want a run limit. Leave it empty to return all available results until the source is exhausted.

#### ⚙️ Input

Only fields for the selected `target` are used. The shared run options apply where supported. `target` is required; the other fields are used by the target they describe.

| Field | Type | What it does |
| --- | --- | --- |
| `target` | string | Selects `city`, `category`, or `event` collection. |
| `locations` | string\[] | For `city`, accepts one or more city names or Fever city paths. |
| `keyword` | string | Optional keyword for `city`; leave it empty to keep all matching events. |
| `category` | string | For `category`, accepts a Fever category path, with an optional locale. |
| `eventUrls` | object\[] | For `event`, accepts one or more public Fever event page objects. |
| `eventUrls[].url` | string | A public Fever event page URL on `feverup.com`. |
| `includeDetails` | boolean | For `city` and `category`, opens event pages for more details. The `event` target already opens them. |
| `maxItems` | integer | Stops after this many event records. Leave it empty to return all available results until the source is exhausted. |

Example input from a successful current-beta run:

```json
{
  "target": "city",
  "locations": [
    "London"
  ],
  "includeDetails": false,
  "maxItems": 20
}
```

#### 🧾 Output

The output schema provides a `dataset` link to the Fever event records saved by the run. Each row must have `title` and `url`; the other fields are optional and appear when Fever provides them.

**Listing rows**

Listing-only runs can return a smaller row. A category listing can also include categories, dates, a venue name, ratings, prices, and images.

| Field | Type | What it does |
| --- | --- | --- |
| `title` | string | The event title shown by Fever. |
| `url` | string | The direct Fever page for the event. |
| `categories` | string\[] | The event categories or types shown by Fever. |
| `dateRange` | object | The event date window when available. |
| `dateRange.start` | string | The first event date or time shown by Fever. |
| `dateRange.end` | string | The last event date or time shown by Fever. |
| `prices` | object\[] | Ticket prices, currencies, and price notes when available. |
| `prices[].amount` | number | The ticket price amount. |
| `prices[].currency` | string | The ticket price currency. |
| `prices[].qualifier` | string | A price note, such as `from`. |
| `venue` | object | The venue information when available. |
| `venue.name` | string | The venue name shown by Fever. |
| `rating` | object | The event rating when available. |
| `rating.value` | number | The rating value shown by Fever. |
| `rating.count` | integer | The number of ratings shown by Fever. |
| `images` | string\[] | Event image URLs shown by Fever. |

Example listing row from the current beta:

```json
{
  "title": "LUMINISCENCE: The new 360° projection concert at London’s Westminster Cathedral",
  "url": "https://feverup.com/m/643072",
  "prices": [
    {
      "amount": 27.5,
      "currency": "GBP",
      "qualifier": "from"
    }
  ],
  "rating": {
    "value": 4.26,
    "count": 1047
  },
  "categories": [
    "Music Events"
  ],
  "venue": {
    "name": "Westminster Cathedral"
  },
  "images": [
    "https://applications-media.feverup.com/image/upload/f_auto,w_720,h_720/fever2/plan/photo/3a5775ca-420d-11f1-a005-72777a39ac94.jpeg"
  ],
  "dateRange": {
    "start": "2026-08-05T20:45:00+01:00",
    "end": "2026-09-26T20:30:00+01:00"
  }
}
```

**Detailed rows**

Event details and enriched city rows can include the fields below. Nested fields use dotted paths so they are easy to map in code.

| Field | Type | What it does |
| --- | --- | --- |
| `title` | string | The event title shown by Fever. |
| `url` | string | The direct Fever page for the event. |
| `description` | string | The event description shown by Fever. |
| `categories` | string\[] | The event categories or types shown by Fever. |
| `dateRange` | object | The event date window when available. |
| `dateRange.start` | string | The first event date or time shown by Fever. |
| `dateRange.end` | string | The last event date or time shown by Fever. |
| `sessions` | object\[] | Event sessions and their timing when available. |
| `sessions[].start` | string | The session start date or time. |
| `sessions[].end` | string | The session end date or time. |
| `sessions[].availability` | object | The availability signal for the session. |
| `sessions[].availability.status` | string | The availability text shown by Fever. |
| `sessions[].availability.soldOut` | boolean | Whether Fever marks the session as sold out. |
| `venue` | object | The event venue and location when available. |
| `venue.name` | string | The venue name shown by Fever. |
| `venue.address` | string | The venue address shown by Fever. |
| `venue.city` | string | The venue city shown by Fever. |
| `venue.country` | string | The venue country shown by Fever. |
| `venue.latitude` | number | The venue latitude shown by Fever. |
| `venue.longitude` | number | The venue longitude shown by Fever. |
| `prices` | object\[] | Ticket prices, currencies, and price notes when available. |
| `prices[].amount` | number | The ticket price amount. |
| `prices[].currency` | string | The ticket price currency. |
| `prices[].qualifier` | string | A price note, such as `from`. |
| `availability` | object | The event availability signal when available. |
| `availability.status` | string | The event availability text shown by Fever. |
| `availability.soldOut` | boolean | Whether Fever marks the event as sold out. |
| `rating` | object | The event rating when available. |
| `rating.value` | number | The rating value shown by Fever. |
| `rating.count` | integer | The number of ratings shown by Fever. |
| `images` | string\[] | Event image URLs shown by Fever. |

Example detailed row from the current beta:

```json
{
  "title": "Candlelight: The Best of Hans Zimmer",
  "url": "https://feverup.com/m/100852",
  "description": "⭐ Candlelight concerts bring the magic of a live, multi-sensory musical experience to breathtaking venues in London that have never been used for this purpose before. Secure your tickets now and discover the best works of Hans Zimmer at Central Hall Westminster under the gentle glow of candlelight. This is a tribute concert. It has no affiliation with, nor is it endorsed or sponsored by, the artist, their estate, or official representatives. General Info 📍 Venue: Central Hall Westminster 📅 Dates and times: Select date and time directly in the ticket selection tool ⏳ Duration: 60 minutes. Doors open 45 minutes before the start, and doors close 15 minutes before the start. Late entry is not permitted. 👤 Age requirement: 8 years and older. Anyone under the age of 16 must be accompanied by an adult. ♿ Accessibility: The venue is wheelchair accessible ❓ You can find the FAQs for this event here 🪑 Seating is assigned on a first-come, first-served basis within each zone 🚇 Travel via the TfL network 🕯️ For private concerts or group tickets (+30 people), click here 🎻 Discover all Candlelight concerts in London 🎁 Give the gift of a Candlelight gift card here Program Time – Inception This Land – The Lion King Zooster's Breakout – Madagascar Supermarine – Dunkirk Honor – The Pacific A Dark Knight – The Dark Knight Wonder Woman Suite Gladiator Suite Cornfield Chase – Interstellar Dune Suite Discombobulate – Sherlock Holmes Pirates of the Caribbean Suite Performers String Quartet – Morassi Quartet (March 28) String Quartet – To be announced! (All other dates) Seating Plan",
  "categories": [
    "Candlelight concert",
    "Nightlife & Concerts"
  ],
  "dateRange": {
    "start": "2026-08-29T21:00:00+01:00",
    "end": "2027-01-30T21:00:00+00:00"
  },
  "sessions": [
    {
      "start": "2026-08-29T21:00:00+01:00",
      "end": "2026-08-29T22:00:00+01:00",
      "availability": {
        "status": "Join in!",
        "soldOut": false
      }
    },
    {
      "start": "2026-09-18T18:30:00+01:00",
      "end": "2026-09-18T19:30:00+01:00",
      "availability": {
        "status": "Join in!",
        "soldOut": false
      }
    },
    {
      "start": "2026-10-24T18:30:00+01:00",
      "end": "2026-10-24T19:30:00+01:00",
      "availability": {
        "status": "Join in!",
        "soldOut": false
      }
    },
    {
      "start": "2026-10-31T21:00:00+00:00",
      "end": "2026-10-31T22:00:00+00:00",
      "availability": {
        "status": "Join in!",
        "soldOut": false
      }
    },
    {
      "start": "2026-12-05T18:30:00+00:00",
      "end": "2026-12-05T19:30:00+00:00",
      "availability": {
        "status": "Join in!",
        "soldOut": false
      }
    },
    {
      "start": "2027-01-30T21:00:00+00:00",
      "end": "2027-01-30T22:00:00+00:00",
      "availability": {
        "status": "Join in!",
        "soldOut": false
      }
    }
  ],
  "venue": {
    "name": "Central Hall Westminster",
    "address": "Storey's Gate, London, SW1H 9NH",
    "city": "London",
    "country": "UK",
    "latitude": 51.5000648,
    "longitude": -0.1302408
  },
  "prices": [
    {
      "amount": 21,
      "currency": "GBP",
      "qualifier": "from"
    },
    {
      "amount": 49,
      "currency": "GBP",
      "qualifier": "from"
    },
    {
      "amount": 20,
      "currency": "GBP",
      "qualifier": "from"
    }
  ],
  "availability": {
    "status": "InStock",
    "soldOut": false
  },
  "rating": {
    "value": 4.64,
    "count": 8306
  },
  "images": [
    "https://applications-media.feverup.com/image/upload/f_auto,w_720,h_720/fever2/plan/photo/5c755a1c-0b29-11f0-827c-a2cfe8261701.jpg",
    "https://applications-media.feverup.com/image/upload/f_auto,w_720,h_720/fever2/plan/photo/5cb081c8-0b29-11f0-827c-a2cfe8261701.jpg",
    "https://applications-media.feverup.com/image/upload/f_auto,w_720,h_720/fever2/plan/photo/5cbe10cc-0b29-11f0-827c-a2cfe8261701.jpg",
    "https://applications-media.feverup.com/image/upload/f_auto,w_720,h_720/fever2/plan/photo/5ccb5d86-0b29-11f0-827c-a2cfe8261701.jpg",
    "https://applications-media.feverup.com/image/upload/f_auto,w_720,h_720/fever2/plan/photo/5cdc35b6-0b29-11f0-827c-a2cfe8261701.jpg",
    "https://applications-media.feverup.com/video/upload/f_auto,w_720,h_720/fever2/plan/video/e51e86a0-7770-11f0-b4c5-7aeb113208fa.mp4"
  ]
}
```

#### 💳 Pricing

This Actor uses pay-per-event pricing. One successfully returned Fever event saved to the dataset is the charged outcome, so the total follows the number of saved event rows. See the Store pricing panel for the current rate.

#### 🔌 Integrations

Read the `dataset` link through the Apify API after a run, or use Apify's dataset tools to move the saved event rows into your workflow.

https://www.youtube.com/watch?v=bNACk1\_S\_6w\&list=PLObrtcm1Kw6MUrlLNDbK9QRg8VDJg0gOW\&index=4

#### ❓ FAQ

##### Can I get ticket details or buy tickets?

Rows can include ticket amounts, currencies, and price qualifiers, plus a direct Fever page. The Actor does not buy tickets or reserve seats.

##### What happens when Fever does not show a field?

Optional fields stay unavailable when the public page does not show them. The Actor does not fill them with guesses.

##### Can I use a Fever category path?

Yes. Choose `category` and enter a path such as `new-york/candlelight` or a localized path such as `en/new-york/candlelight`.

##### Can I use one Fever event page?

Yes. Choose `event` and add a public event page URL from `feverup.com`. Event details already opens that page for the richer row shape.

##### Do I need a Fever login or API key?

No. The Actor collects public Fever pages and does not need Fever credentials or an API key.

##### Can I use city, category, and event targets together?

No. Choose one target for each run. Run separate collections when you need different source kinds.

##### How does `includeDetails` change a run?

For City events and Category listings, it opens event pages for more details and can take longer. Event details already opens event pages, so the option does not change that target.

##### How are repeated event matches handled?

The Actor saves the first eligible match for a source event. If that event appears again from another submitted value, later matches are ignored.

##### Does this track changes or send alerts?

No. Each run returns a current public snapshot. Historical change tracking, scheduled monitoring, and alerts are not automatic services of this Actor.

##### What happens when I leave `maxItems` empty?

The Actor returns all available results until the source is exhausted. Use a positive integer when you want a run limit.

### 📝 Changelog

**0.0: Initial release**

### 🆘 Support

For issues, questions, or feature requests, [file a ticket](https://console.apify.com/actors/maximedupre~fever-events/issues) and I'll fix or implement it in less than 24h 🫡

### 🔗 Related Actors

- [10times Events Scraper](https://apify.com/maximedupre/10times-events-scraper) — collect public trade shows and conference listings when Fever is not the source.
- [Doing Good Leeds Scraper](https://apify.com/maximedupre/doing-good-leeds-scraper) — collect public community events and training listings from Leeds.
- [Fever Events Scraper](https://apify.com/solidcode/feverup-scraper) — compare Fever titles, venues, dates, and prices from another Fever collection Actor.
- [Fever Scraper](https://apify.com/chimerical_quicklime/fever-scraper) — collect Fever city listings with price and venue fields for price research.
- [Feverup.com Scraper](https://apify.com/hoholabs/feverup-scraper) — build event analytics from Fever names, descriptions, tickets, ratings, media, venues, prices, and dates.

**Made with ❤️ by Maxime Dupré**

# Actor input Schema

## `target` (type: `string`):

Choose the Fever source to collect.

## `locations` (type: `array`):

For City events, enter one or more city names. You can also enter a Fever city path, such as es/madrid.

## `keyword` (type: `string`):

Add an optional keyword for City events. Leave it empty to keep all matching events.

## `category` (type: `string`):

For Category listings, enter a Fever category path, such as new-york/candlelight. You can also add a locale, such as en/new-york/candlelight.

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

For Event details, add one or more public Fever event page URLs.

## `includeDetails` (type: `boolean`):

For City events and Category listings, open each event page to add descriptions, ratings, and images. Event details already opens event pages, so this option does not change that target. This can take longer.

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

Stop after this many event records. Leave it empty to return all available results until the source is exhausted.

## Actor input object example

```json
{
  "target": "city",
  "locations": [
    "London"
  ],
  "includeDetails": false,
  "maxItems": 20
}
```

# Actor output Schema

## `dataset` (type: `string`):

A link to the Fever event records saved in this run.

# 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 = {
    "target": "city",
    "locations": [
        "London"
    ],
    "maxItems": 20
};

// Run the Actor and wait for it to finish
const run = await client.actor("maximedupre/fever-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 = {
    "target": "city",
    "locations": ["London"],
    "maxItems": 20,
}

# Run the Actor and wait for it to finish
run = client.actor("maximedupre/fever-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 '{
  "target": "city",
  "locations": [
    "London"
  ],
  "maxItems": 20
}' |
apify call maximedupre/fever-events --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,maximedupre/fever-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/GpWCsM3EUJWOtD1Et/builds/SUkjoRfwmrCHUUeRV/openapi.json
