# Fever Scraper - Events & Experiences (`aboo.script/feverup-scraper`) Actor

\[💰$3 / 1K] Fast Fever scraper for events and experiences by city, category, keyword or event URL. Extract venues, ratings, photos, dates and all published session ticket prices with availability. No login needed.

- **URL**: https://apify.com/aboo.script/feverup-scraper.md
- **Developed by:** [Aboo Script](https://apify.com/aboo.script) (community)
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.10 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

## Fever Scraper

![Fever Scraper](https://i.ibb.co/fVLsWMrZ/feverup-banner.png)

**Fever Scraper** collects events and experiences from [Fever](https://feverup.com), including ticket prices, dates, venues, ratings and photos. Paste city, category or event URLs, or search by keyword, and download structured results as JSON, CSV or Excel. No login is needed.

### Introduction

Fever lists concerts, Candlelight performances, exhibitions, attractions, food experiences and other things to do in cities around the world. This actor turns public Fever listings and published ticket options into data for research, event directories and price comparisons.

### What data can you extract from Fever?

- Event ID, title, link, category, city, country and descriptions.
- Starting price, currency, original price and discount percentage.
- Rating, rating count, photos, first and last published event dates.
- Venue names, addresses and map coordinates.
- Published sessions and ticket types with labels, dates, prices, booking fees and availability.
- Source URL and collection timestamp.

### Use Cases

- **Event directories:** collect local experiences for city guides and travel planning.
- **Price comparisons:** compare starting prices with prices for individual dates and ticket types.
- **Market research:** track categories, venues, ratings and event availability across cities.
- **Automation:** send structured results to spreadsheets, dashboards and scheduled workflows.

### How to scrape Fever step by step

1. Fill **Start URLs**, **Search queries**, or both.
2. For keyword searches, choose the **City** and **Category** using their Fever URL slugs.
3. Set **Maximum number of results** per URL or query. Leave **Include sessions and ticket prices** enabled for complete published ticket options.
4. Click **Start**, then download results from the **Output** tab.

### Input

- **Start URLs** (`startUrls`): city pages such as `https://feverup.com/en/dubai`, categories such as `https://feverup.com/en/dubai/candlelight`, search pages such as `https://feverup.com/en/dubai/search-list?q=candlelight`, or events such as `https://feverup.com/m/786155`. Supported category date, venue, musician, music-genre and sort filters in URLs are preserved when the category offers them.
- **Search queries** (`searchQueries`): one keyword or phrase per entry. Each query has its own result limit.
- **Maximum number of results** (`maxResults`): default `3` events per URL or query. Set `0` for all matching events. Nested ticket options do not count toward this limit.
- **City** (`city`): Fever city slug, default `dubai`. For example, use `london` or `new-york` from the city's Fever URL. Applies only to search queries.
- **Category** (`category`): category slug available in that city, default `things-to-do`. For example, `candlelight`. Applies only to search queries.
- **Sort order** (`sort`): relevance, earliest date, rating, price low to high, or price high to low. Default `relevance`. Applies only to search queries; start URLs use their own `sort` parameter.
- **Start date** and **End date** (`startDate`, `endDate`): optional date range in `YYYY-MM-DD` format. Supply both. Applies only to event selection for search queries; all published ticket dates for selected events are still collected.
- **Include sessions and ticket prices** (`includeSessions`): default `true`. Disable to collect event metadata more quickly. The event's starting price is still returned.

### Input Examples

Default city collection:

```json
{
  "startUrls": [{ "url": "https://feverup.com/en/dubai" }],
  "maxResults": 3,
  "city": "dubai",
  "category": "things-to-do",
  "sort": "relevance",
  "includeSessions": true
}
```

Keyword search using the default filters:

```json
{
  "searchQueries": ["candlelight"],
  "maxResults": 3,
  "city": "dubai",
  "category": "things-to-do",
  "sort": "relevance",
  "includeSessions": true
}
```

### Output

Each dataset item represents one event. This real example includes its published ticket options; long descriptions are shortened for readability.

```json
{
  "id": 198571,
  "url": "https://feverup.com/m/198571",
  "title": "Candlelight: A Haunted Evening of Halloween Classics",
  "category": "concert",
  "city": "dubai",
  "cityCode": "DXB",
  "countryCode": "AE",
  "description": "⭐ Candlelight concerts bring the magic of a live, multi-sensory musical experience to awe-inspiring locations like never seen before in Dubai. Get your tickets now to discover Halloween Classics at the Majlis Mina A’Salam Hotel under the gentle glow of candlelight.\n🎃🚨Spooky season is almost here! Halloween special concerts are selling fast. Get your tickets before they fully SELL OUT!🚨🎃\nGenera...",
  "descriptionHtml": "<p>⭐ <em data-renderer-mark=\"true\"><strong data-renderer-mark=\"true\">Candlelight</strong> concerts bring the magic of a live, multi-sensory musical experience to awe-inspiring locations like never seen before in Dubai. Get your tickets now to discover Halloween Classics at the Majlis Mina A’Salam Hotel under the gentle glow of candlelight.</em></p>\r\n\r\n<p>🎃🚨<strong>Spooky season is almost here! H...",
  "price": 150,
  "currency": "AED",
  "priceType": "from",
  "originalPrice": null,
  "discountPercent": null,
  "rating": null,
  "ratingCount": 23,
  "firstSessionDate": "2026-10-31T19:00:00+04:00",
  "lastSessionDate": "2026-10-31T19:00:00+04:00",
  "isTimeless": false,
  "isUrgent": true,
  "images": [
    "https://applications-media.feverup.com/image/upload/f_auto,w_720,h_720/fever2/plan/photo/2302aecc-3baa-11f0-b8c4-6a88c6b53b6d.jpg",
    "https://applications-media.feverup.com/image/upload/f_auto,w_720,h_720/fever2/plan/photo/233d79e4-3baa-11f0-b8c4-6a88c6b53b6d.jpg",
    "https://applications-media.feverup.com/image/upload/f_auto,w_720,h_720/fever2/plan/photo/234aa3ee-3baa-11f0-b8c4-6a88c6b53b6d.jpg",
    "https://applications-media.feverup.com/image/upload/f_auto,w_720,h_720/fever2/plan/photo/3f275828-3baa-11f0-8cd0-6e8423f6f749.jpg",
    "https://applications-media.feverup.com/image/upload/f_auto,w_720,h_720/fever2/plan/photo/23567a16-3baa-11f0-b8c4-6a88c6b53b6d.jpg"
  ],
  "venues": [
    {
      "id": 41627,
      "name": "Al Majlis Madinat Jumeirah Mina A’Salam",
      "address": "Madinat Jumeirah - King Salman Bin Abdulaziz Al Saud Street, 73137",
      "latitude": 25.1352005,
      "longitude": 55.18735880000001,
      "isHidden": false
    }
  ],
  "sessions": [
    {
      "id": 559997123,
      "ticketTypeId": "31099128",
      "label": "Zone C",
      "description": null,
      "startsAt": "2026-10-31T19:00:00+04:00",
      "endsAt": "2026-10-31T20:00:00+04:00",
      "expiresAt": "2026-10-31T20:00:00+04:00",
      "timezone": "Asia/Dubai",
      "venueId": 41627,
      "price": 150,
      "currency": "AED",
      "surchargePerTicket": 0,
      "surchargePerTransaction": 0,
      "availableTickets": 14,
      "hasAvailableTickets": true,
      "minTickets": 1,
      "maxTickets": 14,
      "isPack": false,
      "isAddOn": false
    },
    {
      "id": 559997121,
      "ticketTypeId": "31099129",
      "label": "Zone B",
      "description": null,
      "startsAt": "2026-10-31T19:00:00+04:00",
      "endsAt": "2026-10-31T20:00:00+04:00",
      "expiresAt": "2026-10-31T20:00:00+04:00",
      "timezone": "Asia/Dubai",
      "venueId": 41627,
      "price": 200,
      "currency": "AED",
      "surchargePerTicket": 0,
      "surchargePerTransaction": 0,
      "availableTickets": 14,
      "hasAvailableTickets": true,
      "minTickets": 1,
      "maxTickets": 14,
      "isPack": false,
      "isAddOn": false
    },
    {
      "id": 559997120,
      "ticketTypeId": "31099130",
      "label": "Zone A",
      "description": null,
      "startsAt": "2026-10-31T19:00:00+04:00",
      "endsAt": "2026-10-31T20:00:00+04:00",
      "expiresAt": "2026-10-31T20:00:00+04:00",
      "timezone": "Asia/Dubai",
      "venueId": 41627,
      "price": 250,
      "currency": "AED",
      "surchargePerTicket": 0,
      "surchargePerTransaction": 0,
      "availableTickets": 14,
      "hasAvailableTickets": true,
      "minTickets": 1,
      "maxTickets": 14,
      "isPack": false,
      "isAddOn": false
    }
  ],
  "sessionCount": 3,
  "ticketTypes": [
    "Zone C",
    "Zone B",
    "Zone A"
  ],
  "externalBookingUrl": null,
  "sourceUrl": "https://feverup.com/en/dubai/search-list?q=candlelight",
  "scrapedAt": "2026-10-16T14:53:25.060Z"
}
```

JSON preserves nested venues and ticket options. You can also export results in CSV, Excel, XML or HTML.

### Notes

- City URLs collect the full experiences catalogue, whose selection and order can differ from the homepage's promotional carousels.
- Keywords use Fever search results within the selected category. Selection follows the category's chosen sort order; saved row order may vary.
- Category slugs differ by city and language. Copy the slug from a working Fever category URL. An unavailable category causes the run to fail.
- Date filters select events with matching dates, while the output includes all published ticket dates for those events.
- Availability is the ticket quantity Fever exposes to customers; it may be a purchase limit rather than the venue's remaining inventory. Fees are separate fields.
- Partner bookings, sold-out events and some special experiences may not publish ticket options. Missing values are `null`. Disabling ticket collection makes `sessions`, `sessionCount` and `ticketTypes` `null`.
- Results are deduplicated within each URL or query. The same event can appear again when it matches multiple input sources.
- Country pages, venue directories, checkout and relative-date pages are not supported. Distance filters and promotional spotlight parameters are not applied.
- Broad collections with ticket details can contain thousands of options per event and take longer. Choose specific categories or disable ticket collection when only event metadata is needed.
- More filters and input types can be requested.

### Why use the Fever Scraper?

- Collect multiple cities, categories, search queries and individual events in one run.
- Compare the starting price with published dates and individual ticket labels.
- Control the number of events independently for each input source.
- Collect public event data without logging in.

### FAQ

#### Do I need a Fever account?

No. The actor collects publicly available event information without login.

#### How many events can I collect?

Set a limit for each URL or query, or use `0` to continue until Fever has no more matching events.

#### Can I run it on a schedule?

Yes. Use Apify Schedules to refresh your event dataset automatically.

#### Can I request a custom filter or private version?

Yes. Get in touch for additional filters, a private actor or a scraper tailored to your workflow.

### Need to scrape other event platforms?

- [Ticketmaster Scraper](https://apify.com/aboo.script/ticketmaster-scraper): collect event listings and ticket information.

***

**Need help or want a custom solution?**

- 📧 Email: aboo.script@gmail.com
- 🧩 More scrapers: [Apify profile](https://apify.com/aboo.script)

### Image Credit

Image credit: [Fever](https://feverup.com/)

# Actor input Schema

## `startUrls` (type: `array`):

Fever city, category, search-list or event URLs. Each URL has its own result limit. Category URL date, venue, musician, music-genre and sort filters are preserved when available.

## `searchQueries` (type: `array`):

Keywords to search in the selected city and category. Each query has its own result limit.

## `maxResults` (type: `integer`):

Maximum number of events per start URL or search query. Use 0 for all matching events. Sessions do not count towards this limit.

## `city` (type: `string`):

Fever city URL slug, such as dubai, london or new-york. Applies only to search queries.

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

Fever category URL slug in the selected city, such as things-to-do or candlelight. Applies only to search queries.

## `sort` (type: `string`):

Order matching search-query events. Start URLs use their own sort parameter.

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

Optional first event date for search queries. Supply both dates. Applies to event selection; all published ticket sessions are returned.

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

Optional last event date for search queries. Supply both dates. Applies to event selection; all published ticket sessions are returned.

## `includeSessions` (type: `boolean`):

Collect all published session dates, ticket types, prices, fees and availability. Disable for faster event metadata collection.

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://feverup.com/en/dubai"
    }
  ],
  "maxResults": 3,
  "city": "dubai",
  "category": "things-to-do",
  "sort": "relevance",
  "includeSessions": true
}
```

# Actor output Schema

## `overview` (type: `string`):

No description

# 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 = {
    "startUrls": [
        {
            "url": "https://feverup.com/en/dubai"
        }
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("aboo.script/feverup-scraper").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 = { "startUrls": [{ "url": "https://feverup.com/en/dubai" }] }

# Run the Actor and wait for it to finish
run = client.actor("aboo.script/feverup-scraper").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 '{
  "startUrls": [
    {
      "url": "https://feverup.com/en/dubai"
    }
  ]
}' |
apify call aboo.script/feverup-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,aboo.script/feverup-scraper"
        }
    }
}
```

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/zBjQv6OsvGYa5fHvf/builds/DDCrk0vZbZNanVhxt/openapi.json
