curl "https://evento.so/api/public/v1/users/johndoe/events?type=upcoming&limit=10" \ -H "x-evento-api-key: YOUR_API_KEY"
{ "success": true, "message": "Events fetched successfully", "data": { "events": [ { "id": "evt_future1", "title": "Summer Festival 2026", "description": "Annual summer celebration", "cover": "https://cdn.evento.so/covers/future1.jpg", "location": "Central Park, NY", "start_date": "2026-06-21T14:00:00Z", "end_date": "2026-06-21T22:00:00Z", "timezone": "America/New_York", "status": "published", "visibility": "public", "cost": 25.0, "created_at": "2026-05-15T09:00:00Z", "creator": { "id": "usr_123", "username": "johndoe", "image": "https://cdn.evento.so/avatars/123.jpg", "verification_status": "verified" }, "links": { "spotify_url": "https://open.spotify.com/playlist/summer2026", "wavlake_url": null }, "contributions": { "cashapp": "$johndoe", "venmo": "@johndoe", "paypal": "[email protected]", "btc_lightning": null } } ], "pagination": { "limit": 10, "offset": 0, "total": 1 } } }
List public events by username with filtering and pagination
GET /api/public/v1/users/{username}/events
x-evento-api-key: YOUR_API_KEY
@
upcoming
past
profile
start_date >= now
start_date < now
async function getAllEventsForUser(username, apiKey) { const events = []; let offset = 0; const limit = 50; while (true) { const params = new URLSearchParams({ type: 'upcoming', limit: String(limit), offset: String(offset) }); const response = await fetch( `https://evento.so/api/public/v1/users/${username}/events?${params}`, { headers: { 'x-evento-api-key': apiKey } } ); const json = await response.json(); events.push(...json.data.events); if (offset + limit >= json.data.pagination.total) break; offset += limit; } return events; }