SpaceX APIir.spacex.com ↗
Access SpaceX investor relations events including earnings webcasts, conferences, and interviews. Filter by year or status via a single endpoint.
What is the SpaceX API?
The SpaceX IR Events API exposes the full investor relations calendar from ir.spacex.com through a single list_events endpoint, returning up to all available event records in one request. Each record includes the event title, ISO-8601 start and end dates, timezone abbreviation, a detail-page link, webcast link, and any attachments. You can filter by a 4-digit year or by event status — upcoming, archived, or all.
curl -X GET 'https://api.parse.bot/scraper/77fbcc3d-d689-4a8b-97d8-0b0fca89dbc0/list_events?year=2026&status=all' \ -H 'X-API-Key: $PARSE_API_KEY'
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 ir-spacex-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: SpaceX IR Events — list upcoming and archived events."""
from parse_apis.ir_spacex_com_api import SpaceX, EventStatus, InputFormatInvalid
client = SpaceX()
# List upcoming investor-relations events, capped at 5 items.
for event in client.events.list(status=EventStatus.UPCOMING, limit=5):
webcast = event.webcast_url or "no webcast"
print(f"{event.title} {event.start_date} ({event.timezone}) {webcast}")
# Drill into one archived event to inspect tags and attachments.
archived = client.events.list(status=EventStatus.ARCHIVED, limit=1).first()
if archived is not None:
print(f"\nArchived: {archived.title} (id={archived.event_id})")
print(f" tags: {archived.tags}")
for att in archived.attachments:
print(f" attachment: {att.title} — {att.url}")
# Filter by year; handle an invalid year gracefully.
try:
for event in client.events.list(year="2026", limit=10):
print(f"{event.title} webcast={event.is_webcast} detail={event.detail_url}")
except InputFormatInvalid:
print("Invalid year format")
print("exercised: events.list (upcoming / archived / by-year)")
Returns SpaceX investor relations events from the IR events calendar, one row per event, in a single round trip with no pagination (the site's full list is returned at once; archived events are ordered newest first, upcoming events soonest first). Each event carries its title, start/end date-time (ISO-8601 local wall-clock without offset, paired with the site's timezone abbreviation such as CT/ET/PT), the event-detail page link, the webcast link when the site publishes one, tags, and any attached documents or videos (earnings PDFs, transcripts, Q&A pages). status selects upcoming, archived or all events (default all); year restricts to a calendar year, and a year with no events returns an empty events array with count 0. `location` is null on every event observed; `is_webcast` is the site's own flag and may be false even when a webcast_url is present. An unrecognized status or a malformed year is rejected before any request.
| Param | Type | Description |
|---|---|---|
| year | string | 4-digit calendar year, e.g. 2026. Omitted = all years. |
| status | string | Which events to return: upcoming (future-dated), archived (past), or all. |
{
"type": "object",
"fields": {
"year": "the year filter applied, or null when omitted",
"count": "integer number of events returned",
"events": "array of event records: event_id (integer site id), title, start_date/end_date (ISO-8601 local wall-clock), timezone (site abbreviation), detail_url (event-detail page), webcast_url (nullable), is_webcast (boolean), location (nullable), tags (array of strings), attachments (array of {title, type, document_type, url})",
"status": "the status filter applied (upcoming|archived|all)"
},
"sample": {
"data": {
"year": "2026",
"count": 2,
"events": [
{
"tags": [
"webcast",
"featured"
],
"title": "Q3 2026 Earnings",
"end_date": "2026-10-20T16:30:00",
"event_id": 966,
"location": null,
"timezone": "CT",
"detail_url": "https://ir.spacex.com/events/event-details/2026/Q3-2026-Earnings/default.aspx",
"is_webcast": false,
"start_date": "2026-10-20T15:30:00",
"attachments": [],
"webcast_url": "https://events.q4inc.com/attendee/273501782/guest"
},
{
"tags": [
"webcast"
],
"title": "Q2 2026 Earnings",
"end_date": "2026-08-04T17:30:00",
"event_id": 965,
"location": null,
"timezone": "ET",
"detail_url": "https://ir.spacex.com/events/event-details/2026/SpaceX-Q2-2026-Earnings/default.aspx",
"is_webcast": false,
"start_date": "2026-08-04T16:30:00",
"attachments": [
{
"url": "https://s21.q4cdn.com/184289198/files/doc_financials/2026/q2/SpaceX-Reports-Second-Quarter-2026-Results.pdf",
"type": "Document",
"title": "Earnings Update",
"document_type": "file"
}
],
"webcast_url": "https://events.q4inc.com/attendee/216880422/guest"
}
],
"status": "all"
},
"status": "success"
}
}About the SpaceX API
What the API Returns
The list_events endpoint returns the complete SpaceX investor relations event calendar in a single response — no pagination required. Each event object includes an integer event_id, a title, start_date and end_date in ISO-8601 local wall-clock format, a timezone abbreviation as shown on the site, and URL fields for the event detail page, any associated webcast, and downloadable attachments where present.
Filtering Options
Two optional query parameters shape the response. The status parameter accepts upcoming (future-dated events, ordered soonest first), archived (past events, ordered newest first), or all. The year parameter accepts a 4-digit string such as 2025 and narrows results to events starting in that calendar year. Both parameters can be combined. When neither is provided the full list across all years and statuses is returned. The count field in the response reflects the number of events actually returned after filtering, and the status and year fields echo back the applied filters.
Response Shape
A typical event record exposes: event_id (integer), title (string), start_date and end_date (ISO-8601 strings), timezone (abbreviation string, e.g. "ET"), detail_url, webcast_url (null when no webcast is listed), and an attachments array of file links. The top-level response also carries count, status, and year for easy response introspection.
Source and Freshness
SpaceX does not publish an official public developer API for its IR calendar. This API reflects the events listed at ir.spacex.com/events/, which is updated by SpaceX's investor relations team as events are scheduled or concluded. New upcoming events will appear when SpaceX adds them to the calendar.
The SpaceX API is a managed, monitored endpoint for ir.spacex.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when ir.spacex.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 ir.spacex.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?+
- Alert investors or analysts when a new SpaceX earnings webcast is added to the upcoming events list
- Build a dashboard that tracks all SpaceX IR events by year using the
yearfilter - Monitor
webcast_urlfields to automatically surface live-stream links for investor events - Archive historical SpaceX investor conferences and interviews by querying
status=archived - Parse
attachmentsarrays to detect and download newly posted IR documents tied to an event - Integrate SpaceX IR event dates into a financial calendar app alongside other aerospace and defense companies
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does SpaceX have an official public developer API for investor relations data?+
What does the `list_events` endpoint return for an event that has no webcast?+
webcast_url field will be null for events where the IR calendar does not list a webcast link. The remaining fields — title, start_date, end_date, timezone, detail_url, and attachments — are still returned.Does the API support pagination for large result sets?+
count field in the response tells you exactly how many records matched your filters.Can I retrieve press releases or SEC-style financial filings through this API?+
How are upcoming and archived events ordered in the response?+
status=upcoming, events are ordered soonest first. When filtering with status=archived, events are ordered newest first. Using status=all returns both sets following those same respective orderings.