Partiful APIpartiful.com ↗
Retrieve structured event data from any Partiful event URL: title, date/time, location with coordinates, organiser, and banner image via one API endpoint.
What is the Partiful API?
The Partiful API exposes one endpoint — get_event — that returns 10 structured fields for any public Partiful event given its URL or event ID. Fields include the event title, ISO 8601 start and end times, venue name, latitude/longitude coordinates, suburb, organiser, banner image URL, and pricing information. It covers the core metadata visible on a public Partiful event page.
curl -X POST 'https://api.parse.bot/scraper/ca43657e-f2ef-4670-9cea-e6233c39a0c8/get_event' \
-H 'X-API-Key: $PARSE_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"event_url": "https://partiful.com/e/gCWfz67jiLTLLtdswmxX"
}'Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace partiful-com-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: Partiful SDK — fetch event details from a public event URL."""
from parse_apis.partiful_com_api import Partiful, EventNotFound
client = Partiful()
# Fetch event details by URL
event = client.events.get(event_url="https://partiful.com/e/gCWfz67jiLTLLtdswmxX")
print(f"Event: {event.title}")
print(f"Organiser: {event.organiser_name}")
print(f"Start: {event.start_time}")
print(f"Location: {event.location}, {event.suburb}")
print(f"Coordinates: ({event.lat}, {event.lng})")
print(f"Image: {event.image_url}")
# Handle a missing event gracefully
try:
missing = client.events.get(event_url="https://partiful.com/e/nonexistent123")
print(missing.title)
except EventNotFound as exc:
print(f"Event not found: {exc}")
print("exercised: events.get / EventNotFound error handling")
Retrieve full details for a Partiful event given its URL or event ID. Returns structured event data including title, description, start/end times, location with coordinates, organiser name, banner image URL, and suburb. The event URL is the public sharing link (e.g. https://partiful.com/e/ABC123). Events that have been removed return a 404 upstream error.
| Param | Type | Description |
|---|---|---|
| event_urlrequired | string | Partiful event URL (e.g. https://partiful.com/e/gCWfz67jiLTLLtdswmxX) or bare event ID. |
{
"type": "object",
"fields": {
"id": "string - Partiful event ID",
"lat": "number or null - latitude of event location",
"lng": "number or null - longitude of event location",
"url": "string - the input event URL",
"price": "integer or null - price in cents (null=unknown, 0=free)",
"title": "string - event title",
"source": "string - always 'partiful'",
"suburb": "string or null - suburb/neighborhood name",
"end_time": "string or null - ISO 8601 UTC end datetime",
"location": "string or null - venue name or address",
"image_url": "string or null - banner image URL",
"start_time": "string or null - ISO 8601 UTC start datetime",
"description": "string or null - full event description text",
"organiser_name": "string or null - name of the primary host",
"source_event_id": "string - same as id"
},
"sample": {
"data": {
"id": "gCWfz67jiLTLLtdswmxX",
"lat": -33.89,
"lng": 151.23,
"url": "https://partiful.com/e/gCWfz67jiLTLLtdswmxX",
"price": null,
"title": "OMG! It's Book Club: Sydney",
"source": "partiful",
"suburb": "Paddington",
"end_time": null,
"location": "The London - Paddington",
"image_url": "https://partiful.imgix.net/external/user/zoE9YO0vmPW4As8G9EXLc3RpwHJ3/TkAqf8csttJ13XQOlL3Rp?fit=clip&auto=format",
"start_time": "2026-04-29T08:30:00.000Z",
"description": "It's official, we're finally running our first book club!",
"organiser_name": "Sarah Saliba",
"source_event_id": "gCWfz67jiLTLLtdswmxX"
},
"status": "success"
}
}About the Partiful API
What the API returns
The get_event endpoint accepts a event_url parameter — either the full sharing link (e.g. https://partiful.com/e/gCWfz67jiLTLLtdswmxX) or a bare event ID — and returns a flat JSON object with the event's core metadata. Fields include title, start_time (ISO 8601 UTC), end_time (ISO 8601 UTC or null), location (venue name or address string), lat/lng (decimal coordinates or null), suburb, and source (always 'partiful').
Pricing and geography fields
The price field returns an integer in cents where 0 means free and null means the price is not publicly listed on the event page. The lat, lng, and suburb fields are populated when a structured location is attached to the event, making it straightforward to plot events on a map or filter by proximity without a secondary geocoding call.
Input flexibility
The event_url input accepts the full public event URL or just the event ID segment. The response always echoes back the url and the parsed id, so you can reconcile lookups regardless of which input format you used.
The Partiful API is a managed, monitored endpoint for partiful.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when partiful.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official partiful.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Aggregate Partiful events by location using the
lat/lngfields to build a local events map - Track event scheduling changes by polling
start_timeandend_timefor a list of event IDs - Filter publicly listed free events using the
pricefield (value0) - Display event previews in a third-party app using
title,suburb, and the banner image URL - Enrich a social calendar with structured venue data from the
locationfield - Monitor new events from known organisers by checking the
organiserfield in batch lookups
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Partiful have an official public developer API?+
What does `get_event` return for the event location?+
location (a venue name or address string), and lat/lng (decimal coordinates). It also returns suburb as a separate neighbourhood-level string. If the event creator did not attach a structured location, these fields may be null.Does the API return the guest list or RSVP counts?+
Does the API support fetching multiple events in one call?+
get_event endpoint takes a single event_url or event ID per request. Batch lookup is not built in. You can fork the API on Parse and revise it to add a batch endpoint that accepts an array of event IDs.