BYTETOOLS

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.

No API key requiredCORS enabledHTTPSFree tier

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
curl 'https://ll.thespacedevs.com/2.2.0/launch/upcoming/?limit=1'
JavaScript (fetch)
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);
Python (requests)
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())
Response — HTTP 200 (truncated)
{
  "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

ParameterTypeRequiredDescription
limitintegerOptionalNumber of results. Defaults to 10. 1
offsetintegerOptionalPagination offset. 10
searchstringOptionalFree-text search across launches. falcon
lsp__namestringOptionalFilter 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

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.