Unified Event API Service - Aggregate events from Eventbrite, Meetup, Ticketmaster, and more
Project description
Event API Service
A unified Python API service that aggregates event data from multiple sources including Eventbrite, Meetup, Ticketmaster, AllEvents, SerpApi, and PredictHQ.
Features
- 🎯 Multi-Source Aggregation: Fetch events from 6+ different providers
- 🔐 Built-in Authentication: API Key-based authentication
- ⚡ Rate Limiting: Configurable request limits
- 🌍 Geocoding Support: Automatic location resolution
- 📦 Easy to Deploy: Simple Flask-based architecture
- 🔧 Configurable: Environment-based configuration
Installation
pip install event_api_service
Quick Start
1. Set up environment variables
Create a .env file:
# API Keys for Event Providers (optional, configure as needed)
TICKETMASTER_KEY=your_ticketmaster_key
MEETUP_TOKEN=your_meetup_token
ALLEVENTS_KEY=your_allevents_key
SERPAPI_KEY=your_serpapi_key
PREDICTHQ_TOKEN=your_predicthq_token
# API Key for this service
API_KEY=your_secret_api_key
2. Run the server
from dotenv import load_dotenv
from event_api import create_app
load_dotenv()
app = create_app()
if __name__ == '__main__':
app.run(debug=True, port=5000)
3. Make requests
curl -H "x-api-key: your_secret_api_key" \
"http://localhost:5000/api/v1/events?location=New York&category=music"
API Documentation
Authentication
All endpoints require an API Key in the request header:
x-api-key: your_secret_api_key
Endpoints
GET /api/v1/events
Fetch events by location and category.
Parameters:
location(string, required): City name (e.g., "New York", "London")category(string, required): Event category (e.g., "music", "tech", "sports")
Response:
{
"status": "success",
"count": 15,
"data": [
{
"id": "evt-123",
"title": "Tech Conference 2025",
"description": "Annual technology conference...",
"start_time": "2025-12-01T09:00:00",
"url": "https://example.com/event/123",
"location": "Convention Center",
"source": "eventbrite"
}
]
}
Supported Event Sources
| Provider | Configuration Required | Notes |
|---|---|---|
| Eventbrite | No | Free, supports major US cities |
| Ticketmaster | TICKETMASTER_KEY |
Music, sports, arts events |
| Meetup | MEETUP_TOKEN |
Community events |
| AllEvents | ALLEVENTS_KEY |
Global event aggregator |
| SerpApi | SERPAPI_KEY |
Google Events search |
| PredictHQ | PREDICTHQ_TOKEN |
Professional event data |
Rate Limits
- 10 requests per minute
- 50 requests per hour
- 200 requests per day
Python Client Example
import requests
class EventAPIClient:
def __init__(self, api_key, base_url="http://localhost:5000/api/v1"):
self.api_key = api_key
self.base_url = base_url
def get_events(self, location, category):
headers = {"x-api-key": self.api_key}
params = {"location": location, "category": category}
response = requests.get(
f"{self.base_url}/events",
headers=headers,
params=params
)
return response.json()
# Usage
client = EventAPIClient(api_key="your_secret_api_key")
events = client.get_events("San Francisco", "tech")
print(f"Found {events['count']} events")
Documentation
For complete API documentation, see API_DOCUMENTATION.md
License
MIT License
Support
For issues and questions, please open an issue on GitHub.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file event_api_service-0.1.0.tar.gz.
File metadata
- Download URL: event_api_service-0.1.0.tar.gz
- Upload date:
- Size: 12.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9b1bddb024638d620d7d90b3c5d23bc939f712900a186224c3a2ec43d97839c5
|
|
| MD5 |
fbc0e1b1d5b50b91bad109da4086749a
|
|
| BLAKE2b-256 |
0b241aeb1a7573ad2516f0708ff6ced8bd15b896d805555b108b83b3a76d3276
|
File details
Details for the file event_api_service-0.1.0-py3-none-any.whl.
File metadata
- Download URL: event_api_service-0.1.0-py3-none-any.whl
- Upload date:
- Size: 10.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2ff8009d776dd239d7daf61df2f842d73fa859a88a0eefbd12a6c0cfa5ad81a4
|
|
| MD5 |
0bf1bd5f8a174a159b116a15aed560ac
|
|
| BLAKE2b-256 |
5ce3d39dfad71c57bac96c59a3d784ed905d44b237a146d8d28fe83828413c2b
|