Skip to main content
GET
https://evento.so
/
api
/
public
/
v1
/
users
/
{username}
/
events
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
    }
  }
}

Endpoint

GET /api/public/v1/users/{username}/events

Authentication

This endpoint requires a public API key.
x-evento-api-key: YOUR_API_KEY
Retrieve public events created by a user, with optional filtering for time-based views.

Path parameters

username
string
required
Username (case-insensitive, no @ prefix).

Query parameters

type
string
Optional filter: upcoming, past, or profile.
limit
integer
default:"20"
Results per page (max 100).
offset
integer
default:"0"
Pagination offset.

Request examples

curl "https://evento.so/api/public/v1/users/johndoe/events?type=upcoming&limit=10" \
  -H "x-evento-api-key: YOUR_API_KEY"

Success response

{
  "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
    }
  }
}

Filter semantics

Returns events where start_date >= now.
Returns events where start_date < now.
Returns profile-visible events (created by or RSVP-associated to the user).

Pagination pattern

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;
}

Use cases

Organizer profiles

Show upcoming and past events on user profile pages.

Creator analytics

Build aggregate reports for event volume and cadence by organizer.

Calendar exports

Transform public schedules into external calendars and feeds.

Discovery pages

Curate creators and surface upcoming events by niche.

Next steps