API reference / Events
Get one event
Written and maintained by The ProspectAPIs team
GET/v1/events/:id
GET /v1/events/:id is the ProspectAPIs operation getEvent, in the Events group of the REST API. One event read fresh from its platform, in the GET /v1/events shape. Billed as one event at GET /pricing events.price_per_event_usd once events are available; an unknown id is a free 404. Launching soon: answers 503 and charges nothing until GET /pricing reports events available. Cost: Launching soon. Send your API key as a Bearer token in the Authorization header.
How this fits with the rest of the events API, with worked examples, is in the event discovery guide.
Parameters
| Name | In | Type | Description |
|---|---|---|---|
| id required | path | string | An event id from GET /v1/events, such as luma.evt-AbC123. |
Responses
| Status | Meaning |
|---|---|
| 200 | The event, and how it was read. |
| 400 | The request was invalid (e.g. a bad filter or input); nothing was charged. |
| 401 | The API key is missing or invalid. |
| 402 | Out of credits. The body carries top_up_url; nothing was charged. |
| 404 | No such record for this account. |
| 429 | Too many requests; retry after the window. |
| 503 | Events are not available yet, or the platform cannot be read and no copy is stored. Nothing is charged. |
Every error answers with the same JSON body, an error string and sometimes a code; the errors page lists each status and when it happens. A per-key 429 carries Retry-After; see rate limits.
200 response fields
The event, and how it was read.
| Field | Type | Description |
|---|---|---|
| data required | Event | One public event, the same shape for every platform. A field the platform does not publish is null, never guessed. |
| data.id required | string | The platform and its own id, such as luma.evt-AbC123. |
| data.platform required | string: luma, partiful | |
| data.platform_event_id required | string | The platform's own stable id. |
| data.url required | string (uri) | |
| data.title required | string | |
| data.start_at required | string (date-time) | UTC. |
| data.end_at | string (date-time) or null | |
| data.start_local | string or null | Local time with the offset. |
| data.end_local | string or null | |
| data.timezone required | string or null | |
| data.city | string or null | |
| data.city_slug | string or null | |
| data.country_code | string or null | |
| data.venue | object or null | |
| data.online | boolean | |
| data.category | string or null | Luma's own category slug; null on Partiful. |
| data.categories required | array of string | |
| data.guest_count | integer or null | Null when the host hides the guest list. |
| data.guest_count_exact | boolean or null | |
| data.hosts required | array of object | |
| data.speakers | array of object | |
| data.organizer | object or null | |
| data.ticket | object or null | |
| data.cover_url | string or null | |
| data.first_seen_at | string (date-time) or null | |
| data.last_seen_at | string (date-time) or null | |
| source required | EventSource | |
| source.platform required | string: luma, partiful | |
| source.status required | string: ok, not_covered, unreadable, stored | |
| source.reason | string | |
| source.read_at | string (date-time) | |
| source.events_seen | integer | |
| source.complete | boolean | |
| source.cached | boolean |
| Header | Meaning |
|---|---|
| RateLimit-Limit | Requests this API key may make per minute. |
| RateLimit-Remaining | Requests left in the current one-minute window. |
| RateLimit-Reset | Seconds until the current window resets. |
Code samples
Each sample sends the same request. Set PROSPECTAPIS_KEY in your environment first. Values come from the spec's examples; replace them with your own.
curl https://api.prospectapis.com/v1/events/luma.evt-AbC123 \
-H "Authorization: Bearer $PROSPECTAPIS_KEY"const res = await fetch("https://api.prospectapis.com/v1/events/luma.evt-AbC123", {
headers: { Authorization: `Bearer ${process.env.PROSPECTAPIS_KEY}` },
});
if (!res.ok) throw new Error(`${res.status}: ${(await res.json().catch(() => ({}))).error ?? res.statusText}`);
const data = await res.json();
console.log(data);import os, requests
res = requests.get(
"https://api.prospectapis.com/v1/events/luma.evt-AbC123",
headers={"Authorization": f"Bearer {os.environ['PROSPECTAPIS_KEY']}"},
timeout=30,
)
res.raise_for_status()
data = res.json()
print(data)Billing
Billing reserves before it serves: the call holds what it may cost, serves at most what that hold covers, and refunds the rest when the response closes. Any non-2xx answer refunds the whole hold, so a failed call costs nothing. The response reports your balance in X-Credits-Remaining.
Related
The event discovery guide covers this area end to end. Previous operation: List event cities. Next operation: Enrich one event. Every operation, grouped by area, is on the API reference index.
Create a free account to get a key, then run the samples above with your own values.
Was this page helpful?