Launch Library 2 API
Free rocket launch API with no key: upcoming and past launches from every space agency, with rockets, missions, pads and live stream links. Tested example.
Endpoint tested and returned HTTP 200 on 2026-08-19
What is the Launch Library 2 API?
Launch Library 2 (The Space Devs) is a free API covering rocket launches worldwide — upcoming and historical — with details on the rocket, mission, launch provider, pad location and webcast links. No API key is required for the free tier.
Launch Library 2 aggregates launch schedules across every major provider — SpaceX, ULA, Roscosmos, ISRO, CNSA, Rocket Lab and more — into one consistent schema. That breadth is what distinguishes it from provider-specific APIs.
Because launch dates slip constantly, the API exposes a `status` object and a precision field indicating how firm a date is. Any launch countdown built without reading those will confidently display times that are already wrong.
Quick facts
- Base URL
https://ll.thespacedevs.com/2.2.0- Authentication
- Free tier needs no key but is rate-limited. A free account raises the limit.
- Rate limit
- 15 requests per hour per IP on the anonymous free tier.
- Pricing
- Free tier available; paid tiers offer higher limits and more frequent updates.
- CORS
- Enabled — callable directly from browser JavaScript
- Official docs
- Read the docs
How to use the Launch Library 2 API
Every request below was executed against the live API on 2026-08-19, and the response shown is the real body it returned — not an illustration.
1. Fetch the next upcoming launch
GET https://ll.thespacedevs.com/2.2.0/launch/upcoming/?limit=1
curl 'https://ll.thespacedevs.com/2.2.0/launch/upcoming/?limit=1'const res = await fetch("https://ll.thespacedevs.com/2.2.0/launch/upcoming/?limit=1");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);import requests
res = requests.get("https://ll.thespacedevs.com/2.2.0/launch/upcoming/?limit=1", timeout=20)
res.raise_for_status()
print(res.json()){
"count": 362,
"next": "https://ll.thespacedevs.com/2.2.0/launch/upcoming/?limit=1&offset=1",
"previous": null,
"results": [
{
"id": "ef02e2cf-e617-4b38-a526-951ac9204b0a",
"url": "https://ll.thespacedevs.com/2.2.0/launch/ef02e2cf-e617-4b38-a526-951ac9204b0a/",
"slug": "zhuque-3-honghu-03",
"name": "Zhuque-3 | Honghu-03",
"status": {
"id": 3,
"name": "Launch Successful",
"abbrev": "Success",
"description": "The launch vehicle successfully inserted its payload(s) into the target orbit(s)."
},
"last_updated": "2026-08-19T00:38:40Z",
"net": "2026-08-18T23:35:20Z",
"window_end": "2026-08-19T00:04:00Z",
"window_start": "2026-08-18T23:27:00Z",
"net_precision": {
"id": 0,
"name": "Second",
"abbrev": "SEC",
"description": "The T-0 is accurate to the second."
},
"probability": null,
"weather_concerns": null,
"holdreason": "",
"failreason": "",
"hashtag": null,
"launch_service_provider": {
"id": 259,
"url": "https://ll.thespacedevs.com/2.2.0/agencies/259/",
"name": "LandSpace",
"type": "Commercial"
},
"rocket": {
"id": 9085,
"configuration": {
"id": 539,
"url": "https://ll.thespacedevs.com/2.2.0/config/launcher/539/",
"name": "Zhuque-3",
"family": "Zhuque",
"full_name": "Zhuque-3",
"variant": ""
}
},
"mission": {
"id": 7680,
"name": "Honghu-03",Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
limit | integer | Optional | Number of results. Defaults to 10. 1 |
offset | integer | Optional | Pagination offset. 10 |
search | string | Optional | Free-text search across launches. falcon |
lsp__name | string | Optional | Filter by launch service provider name. SpaceX |
Response fields
results[].namestring- Launch designation, typically rocket and mission.
results[].netstring- No Earlier Than launch time in UTC — the scheduled time.
results[].status.namestring- Go, TBD, Success, Failure and similar.
results[].rocket.configuration.full_namestring- Rocket type.
results[].pad.location.namestring- Launch site.
results[].vidURLsarray- Webcast and live stream links when available.
What you can build with the Launch Library 2 API
- Build a rocket launch countdown or calendar
- Send notifications ahead of upcoming launches
- Display live stream links for imminent launches
- Analyse historical launch cadence by provider
Common errors and how to fix them
429
Anonymous tier allows only 15 requests per hour.
Fix: Cache aggressively — launch schedules change on the order of hours, not seconds. Register for a free account for a higher limit.
Countdown shows a passed time
The `net` date slipped and you cached it too long.
Fix: Re-fetch periodically and respect the `status` field rather than treating `net` as fixed.
Launch Library 2 API — frequently asked questions
Is there a free API for rocket launches?
Yes. Launch Library 2 from The Space Devs covers upcoming and historical launches across all major providers, with a free tier requiring no API key.
What is the rate limit?
15 requests per hour per IP on the anonymous tier, which is low — cache responses rather than fetching per page view. A free account raises the allowance.
What does the net field mean?
No Earlier Than: the earliest scheduled launch time. Launch dates slip frequently, so always read the `status` field alongside it rather than treating `net` as confirmed.
Does it cover SpaceX launches?
Yes, along with ULA, Roscosmos, ISRO, CNSA, Rocket Lab and others — the breadth across providers is its main advantage over single-provider APIs.
Tools that pair with this API
JSON Formatter
Format, beautify and minify JSON online with 2-space, 4-space or tab indentation. Sort keys alphabetically and catch syntax errors instantly — free and private.
Timestamp Converter
Convert timestamps to human-readable dates and dates back to timestamps. Auto-detects seconds vs milliseconds, shows local, UTC and ISO 8601 formats.
Launch Library 2 is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 2026-08-19; always check the official documentation before relying on this API in production, as terms and limits can change.