SpaceX Launches icon

SpaceX Launches

Pull the full SpaceX launch catalog from spacex.com in clean JSON. Filter by vehicle, mission type, status, launch site, or date range. Returns…

Start using this actor on Apify ↗Need a custom scraper?Contact us ↗

SpaceX Launches at a glance

SpaceX Launches is a ready-to-run Apify actor from abotapi for collecting web data. Its documented output includes mission id, title, vehicle, type and status, which you can export as JSON, CSV or Excel or read through the Apify API. It costs $1.80 per 1,000 results on the Apify Free plan and from $1.00 on paid plans, with smaller per-run or optional feature charges listed on Apify.

Runs on
Apify cloud: console, API, schedules and integrations
Data type
Other, Automation, Developer Tools
Pricing
$1.80 per 1,000 results (Free plan), from $1.00 on paid plans
Output
Documented below · JSON, CSV, Excel
Inputs
21 options

Pull the full SpaceX launch catalog from spacex.com in clean JSON. Filter by vehicle, mission type, status, launch site, or date range. Returns vehicle, mission status, sites, date/time, images, mission links, and optional write-ups, webcasts, timelines, and carousel imagery.

What SpaceX Launches can do

  • The entire catalog in one run. Past, in-progress and upcoming missions, roughly 700 launches, come from a single upstream request with no pagination to walk.
  • Two ways to find data. Filter the whole catalog by vehicle, mission type, status, launch site and date range, or paste mission links directly. No need to build search queries by hand.
  • Optional mission detail. Switch on the full write-up, webcasts, timelines, carousel images and crew details per launch, billed only for records that include it.
  • Structured straight from the site's own content feed. Fields match what is shown on the page, plus the complete raw source object so nothing is lost.
  • Client-side filters that compose. Combine vehicle, mission type, status, a launch site substring and a date window, then sort newest or oldest first.
  • URL mode always requests full detail. Paste a mission link and the actor fetches the complete mission page for it, independent of the search-mode caps.

Choose what to collect

These inputs let you configure SpaceX Launches - Missions, Vehicles & Timelines. Open the actor on Apify to enter your values and review the current options.

Supported input fields
InputWhat it controls
modestring · requiredChoose 'search' to pull the full launch catalog with filters, or 'url' to fetch specific mission pages you paste below.

Choices: search, url

vehiclestringLimit results to a single launch vehicle. Leave as 'Any' for all vehicles.

Choices: , Falcon 9, Falcon Heavy, Falcon 1, Starship

missionTypestringLimit results to a single mission type.

Choices: , starlink, commercialSatellite, resupply, nssl, hsf, rideshare, science, starship

statusFilterstringPast = completed launches, Upcoming = scheduled, In progress = currently live. 'All' returns every status. 'Latest' returns only the single most recent completed launch that passes the other filters.

Choices: all, past, upcoming, in-progress, latest

launchSiteContainsstringOptional text match against the launch site, e.g. 'Florida', 'California', 'SLC-40', 'Starbase'. Case-insensitive substring.
dateFromstringOnly keep launches on or after this date (YYYY-MM-DD). Applies to launches that have a known date.
dateTostringOnly keep launches on or before this date (YYYY-MM-DD). Applies to launches that have a known date.
Show 14 more inputs
More input fields
InputWhat it controls
yearintegerShortcut for a date window: keep launches from this calendar year. Combined with Launch date from/to, the narrower bound wins.
sortBystringOrder of the returned launches.

Choices: date-desc, date-asc

urlsarrayPaste spacex.com launch URLs: a mission page (https://www.spacex.com/launches/sl-10-22), its content.spacex.com missions API URL, the launches catalog page or launches-page-tiles API URL (expanded to launches, capped by 'Max launches'), or the launches-page-tiles/upcoming URL. Unrecognised URLs are skipped with a warning. Used only when mode is 'url'. Detail is always fetched for these.
fetchDetailsbooleanWhen on, each launch is enriched with an extra mission-page request that adds the write-up paragraphs, webcasts, pre/post-launch timelines, carousel images, and astronauts. Adds time and cost per launch. Only affects search mode: url mode always fetches full detail for every pasted URL regardless of this setting (see 'Mission URLs' above).
maxListingsintegerMaximum number of launches to return. Set 0 for no limit (the full catalog is ~680 launches). Only applies in search mode; url mode has no cap and returns one record per pasted URL.
resumeFromRunIdstringID of an interrupted run whose launches should not be re-fetched: this run skips the missions that run already delivered. Leave empty to start fresh. For recurring diff runs (new/updated only on a schedule) you don't need this - turn on Incremental mode below instead.
incrementalModebooleanON: the actor remembers the launches it delivered for this exact search scope (keyed automatically, or use State key below) and on each scheduled run classifies every launch as NEW, UPDATED, UNCHANGED or EXPIRED - pushing only new and changed rows plus EXPIRED tombstones, and stamping each row with changeType, changedFields, firstSeenAt and lastSeenAt. OFF (default): every run returns the full result set like before.
stateKeystringName for the incremental baseline when Incremental mode is ON. Leave empty to key the baseline on a hash of the search scope automatically (recommended). Use the same key across runs to compare like with like; a different key starts a new baseline.
emitUnchangedbooleanWith Incremental mode ON, also push launches that did not change (stamped changeType=UNCHANGED). Default OFF - unchanged launches are only remembered, not pushed.
emitExpiredbooleanWith Incremental mode ON, push a tombstone row (changeType=EXPIRED, last known field values) for launches from the previous run that this run's search no longer returns - only when the search ran to completion. Default ON.
ignoreFieldsForChangesarrayWith Incremental mode ON, dataset fields listed here never count as a change (they are excluded from changeType/changedFields while staying in the output). Use when a field you don't care about flickers run to run. The built-in defaults already cover the scrape timestamp.
mcpConnectorsarrayOptionally send the scraped results into the apps you already use, via Model Context Protocol (MCP) connectors. Authorize a connector once under Apify → Settings → Integrations, then select it here. The connector receives a condensed, human-readable summary per item (title + key fields), not the full JSON, the complete record stays in the dataset. Leave empty to skip. Supported: Notion (https://mcp.notion.com/mcp), Linear (https://mcp.linear.app/sse), Airtable (https://mcp.airtable.com/mcp), Apify (https://mcp.apify.com).
notionParentPageUrlstringURL (or id) of the Notion page under which item pages are created. Required to enable the Notion export; ignored by other connectors.
maxNotifyListingsintegerCap on items written to each connector per run. Does not affect the dataset.

Fields in the output

The documented dataset includes the fields below. Availability can depend on the source page and selected mode.

missionIdMission ID
titleTitle
vehicleVehicle
missionTypeType
missionStatusStatus
launchSiteLaunch site
returnSiteReturn site
launchDateDate
launchTimeTime
urlURL
primaryVideoUrlVideo URL
webcastVideoUrlsWebcast URLs
Show 23 more fields
imageDesktopUrlImage
directToCellDirect to Cell
nameName
statusStatus (alias)
status_descriptionStatus description
netNet (launch date-time)
window_startWindow start
window_endWindow end
descriptiondescription
descriptionHtmldescriptionHtml
webcastswebcasts
webcastThumbnailUrlswebcastThumbnailUrls
preLaunchTimelinepreLaunchTimeline
postLaunchTimelinepostLaunchTimeline
astronautsastronauts
astronautPortraitUrlsastronautPortraitUrls
carouselImageUrlscarouselImageUrls
infographicDesktopUrlinfographicDesktopUrl
hasDetailshasDetails
changeTypeChange
changedFieldsChanged fields
firstSeenAtFirst seen
lastSeenAtLast seen

Example output

An example from this actor’s documentation. Values are illustrative; this is not a fresh live result.

{
  "id": 1042,
  "documentId": "sample1documentid001",
  "missionId": "sample-mission-1",
  "url": "https://www.spacex.com/launches/sample-mission-1",
  "title": "Sample Mission",
  "vehicle": "Falcon 9",
  "missionType": "starlink",
  "missionStatus": "final",
  "launchSite": "Sample Launch Complex, Florida",
  "returnSite": "Droneship",
  "launchDate": "2024-05-01",
  "launchTime": "08:00:00",
  "launchDateTime": "2024-05-01T08:00:00",
  "callToAction": "REWATCH",
  "directToCell": false,
  "isLive": false,
  "hasDetails": true,
  "imageDesktopUrl": "https://example-cdn.test/assets/sample-mission-1-desktop.jpg",
  "imageMobileUrl": "https://example-cdn.test/assets/sample-mission-1-mobile.jpg",
  "description": "On a sample date, a Falcon 9 launched a batch of satellites to low Earth orbit from a sample launch complex in Florida.",
  "webcastVideoUrls": [
    "https://example.test/watch/sample-mission-1"
  ],
  "carouselImageUrls": [
    "https://example-cdn.test/assets/sample-mission-1-carousel-1.jpg"
  ],
  "primaryVideoUrl": "https://example.test/watch/sample-mission-1"
}

Ways to use this data

  • Space news and content teams: build launch previews, recaps and timelines automatically from the mission write-ups and images.
  • Space enthusiasts and hobby trackers: keep a personal or community feed of upcoming and in-progress launches.
  • Data analysts and researchers: build a historical dataset of vehicles, mission types, launch sites and cadence over time.
  • App and dashboard builders: feed launch schedules, countdowns and webcast links into a website, bot or notification tool.
  • Educators and content creators: pull crew details, mission descriptions and imagery for presentations and social posts.

Before you run

Start with a small input and check the resulting records against your expected fields. Source content and actor options can change; the current Apify listing is the reference for availability and pricing.

Questions about this actor

What data does SpaceX Launches return?

The documented output for SpaceX Launches includes mission id, title, vehicle, type, status, launch site, return site and date. Availability of each field depends on the source page and the selected mode.

How much does SpaceX Launches cost?

It costs $1.80 per 1,000 results on the Apify Free plan and from $1.00 on paid plans, with smaller per-run or optional feature charges listed on Apify. The Apify listing shows the current rate for every plan.

Can I run this on a schedule to catch new launches?

Yes, schedule the actor from the Schedules tab and turn on Incremental mode in the Resume & recurring updates section. The actor remembers the launches it delivered for your exact filters (or for your own State key) and on each run pushes only what is new or changed, stamping every row with changeType (NEW, UPDATED, REAPPEARED, EXPIRED), changedFields, firstSeenAt and lastSeenAt. Unchanged launches are skipped and are not billed; switch on Also push unchanged rows to receive them. EXPIRED tombstones for launches that left the catalog are pushed only when the whole filtered catalog was read (not when Max launches cut it short, in url mode, or when resuming); switch them off with Push EXPIRED tombstones. Use Ignore fields when detecting changes for fields you do not want to count as a change. With Incremental mode off (the default), every run returns the full filtered set. To continue an interrupted run, paste its ID into Resume from run ID and the launches it already delivered are skipped.

Why does url mode return full detail even when Fetch mission details is off?

Url mode always fetches the complete mission page for every URL you paste, regardless of Fetch mission details. That setting only applies to search mode. Max launches caps catalog URLs only. Paste a link and you get one record back with full detail. If that mission's detail page cannot be read, the record still comes back with its catalog fields, and a warning appears in the log.

Why did my run fail instead of returning an empty dataset?

If the initial catalog request keeps failing after automatic retries, which is rare, the run stops with a one-line error instead of returning an empty dataset, so "no launches matched your filters" is never confused with "the catalog could not be read". A failed detail fetch for a single mission does not fail the run: that launch is still returned, just without the extra detail fields.

Can I use it with AI agents or MCP?

Yes. Call it from any Apify integration or MCP client, and use the connector field to push results into Notion, Linear or Airtable.

Ready to collect with SpaceX Launches?

Run it on Apify with your own input and export the results as JSON, CSV or Excel.