Collect real dating and singles event listings from Eventbrite across major cities with clean, structured data. This project helps platforms and aggregators discover, organize, and analyze dating events efficiently. Built for accuracy, coverage, and scale, it turns scattered listings into actionable datasets.
Created by Bitbash, built to showcase our approach to Scraping and Automation!
If you are looking for eventbrite-dating-scraper you've just found your team — Let’s Chat. 👆👆
This project gathers dating and singles events from Eventbrite and converts them into a consistent, structured format. It solves the problem of fragmented event discovery by centralizing listings across cities and categories. It’s designed for dating platforms, event aggregators, marketers, and researchers who need reliable event data.
- Covers multiple dating-related categories for broader visibility
- Supports both in-person and online events
- Detects free vs paid pricing automatically
- Avoids duplicates using stable event identifiers
- Provides city-level coverage for market comparison
| Feature | Description |
|---|---|
| Multi-City Coverage | Collects events across major metropolitan areas with configurable city lists. |
| Category Expansion | Scans multiple dating and singles categories to maximize discovery. |
| Pagination Handling | Traverses several pages per category for deeper coverage. |
| Price Detection | Identifies whether events are free or paid and captures ticket pricing. |
| Online Event Detection | Flags virtual events separately from in-person listings. |
| Duplicate Prevention | Ensures unique events using event-level identifiers. |
| Image Extraction | Captures event thumbnails for rich presentation use cases. |
| Resilient Retrieval | Includes retry logic and fallback selectors for higher reliability. |
| Field Name | Field Description |
|---|---|
| id | Unique identifier assigned to the event. |
| title | Name of the dating or singles event. |
| description | Short summary of the event details. |
| date | Formatted date of the event. |
| city | City where the event is hosted or targeted. |
| venue | Venue name or placeholder when not announced. |
| address | Full address when available. |
| price | Ticket price or indication that the event is free. |
| eventUrl | Direct link to the event listing. |
| imageUrl | Thumbnail image associated with the event. |
| category | Event classification such as Dating & Singles. |
| isOnline | Indicates whether the event is virtual. |
| source | Origin of the event listing. |
| extractedAt | Timestamp indicating when the data was collected. |
[
{
"id": "7890123456",
"title": "Speed Dating NYC - Ages 30-40",
"description": "Meet 10-15 singles in one fun evening at our popular speed dating event...",
"date": "Sat, Dec 14, 2024",
"city": "New York",
"venue": "The Manhattan Lounge",
"price": "$45",
"eventUrl": "https://www.eventbrite.com/e/speed-dating-nyc-tickets-7890123456",
"imageUrl": "https://img.evbuc.com/https%3A%2F%2Fcdn.evbuc.com%2Fimages%2F...",
"category": "Dating & Singles",
"isOnline": false,
"source": "EventBrite",
"extractedAt": "2025-08-21T00:00:00.000Z"
}
]
eventbrite-dating-scraper/
├── src/
│ ├── index.js
│ ├── crawler/
│ │ ├── cityRunner.js
│ │ ├── categoryScanner.js
│ │ └── pagination.js
│ ├── extractors/
│ │ ├── eventParser.js
│ │ └── priceDetector.js
│ ├── utils/
│ │ ├── deduplicator.js
│ │ ├── dateFormatter.js
│ │ └── retryHandler.js
│ └── config/
│ └── defaults.json
├── data/
│ ├── sample-output.json
│ └── cities.example.json
├── package.json
└── README.md
- Dating platforms use it to aggregate local events, so they can increase user engagement with real-world meetups.
- Event aggregators use it to build curated city guides, so users can discover singles events easily.
- Marketing teams use it to analyze pricing and formats, so they can plan competitive promotions.
- Researchers use it to study trends in dating events, so they can understand seasonal and regional demand.
- Community organizers use it to monitor offerings, so they can identify gaps and opportunities.
Can I customize which cities are included? Yes, the city list is configurable, allowing you to focus on specific regions or expand coverage as needed.
Does it include online dating events? Yes, virtual events are detected and clearly marked, making it easy to separate them from in-person listings.
What happens if fewer events exist than expected? The scraper returns all available events up to the defined limit, ensuring accuracy rather than forcing artificial counts.
How does it handle duplicate listings? Each event is tracked using a unique identifier to prevent repeated entries across categories or pages.
Primary Metric: Processes approximately 30–40 events per city within a few minutes, depending on availability.
Reliability Metric: Achieves a 70–90% successful retrieval rate across diverse cities and categories.
Efficiency Metric: Uses paginated traversal and batching to minimize redundant requests while maximizing coverage.
Quality Metric: Delivers high data completeness with consistent fields and minimal duplication across results.
