BYTETOOLS

STAPI (Star Trek) API

Free Star Trek API with no key: characters, starships, species, episodes, series and planets across the entire franchise. Comprehensive. Tested example.

No API key requiredHTTPSFree tier

Endpoint tested and returned HTTP 200 on 2026-08-20

What is the STAPI (Star Trek) API?

STAPI (the Star Trek API) is a free, key-free API covering the entire Star Trek franchise — characters, starships, species, episodes, series, planets, technology and more — across every series and film.

STAPI is remarkably thorough for a fan-built database, covering every series and film with dozens of entity types. If it exists in Star Trek canon, there is probably an endpoint for it.

It uses a split convention worth knowing: `/search` endpoints accept POST with form parameters and return paginated lists, while `/` endpoints take a UID as a query parameter and return one full record. Mixing them up is the usual first stumble.

Quick facts

Base URL
https://stapi.co/api/v1/rest
Authentication
No API key required.
Rate limit
No published limit; fair use expected.
Pricing
Free and open source.
CORS
Not enabled — call it from your server
Official docs
Read the docs

How to use the STAPI (Star Trek) API

Every request below was executed against the live API on 2026-08-20, and the response shown is the real body it returned — not an illustration.

1. Search Star Trek series

GET https://stapi.co/api/v1/rest/series/search?pageSize=1

curl
curl 'https://stapi.co/api/v1/rest/series/search?pageSize=1'
JavaScript (fetch)
const res = await fetch("https://stapi.co/api/v1/rest/series/search?pageSize=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://stapi.co/api/v1/rest/series/search?pageSize=1", timeout=20)
res.raise_for_status()
print(res.json())
Response — HTTP 200
{
  "page": {
    "pageNumber": 0,
    "pageSize": 1,
    "numberOfElements": 1,
    "totalElements": 12,
    "totalPages": 12,
    "firstPage": true,
    "lastPage": false
  },
  "sort": {
    "clauses": []
  },
  "series": [
    {
      "uid": "SEMA0000073238",
      "title": "Star Trek: Deep Space Nine",
      "abbreviation": "DS9",
      "productionStartYear": 1992,
      "productionEndYear": 1999,
      "originalRunStartDate": "1993-01-03",
      "originalRunEndDate": "1999-06-02",
      "seasonsCount": 7,
      "episodesCount": 173,
      "featureLengthEpisodesCount": 3,
      "productionCompany": {
        "uid": "COMA0000001845",
        "name": "Paramount Pictures"
      },
      "originalBroadcaster": {
        "uid": "COMA0000052430",
        "name": "CBS Studios"
      }
    }
  ]
}

Parameters

ParameterTypeRequiredDescription
<entity>/searchpathOptionalSearch an entity type, returns a paginated list. series/search
<entity>pathOptionalFetch one record by uid query parameter. character?uid=CHMA0000023045
pageNumberintegerOptionalZero-indexed page number. 0
pageSizeintegerOptionalResults per page, max 100. 10

Response fields

pageobject
Pagination metadata — pageNumber, pageSize, totalElements, totalPages.
sortobject
Applied sort clauses.
<entity>sarray
The results array, named after the entity — series, characters, spacecrafts.
...uidstring
Unique identifier used to fetch the full record.
...title / namestring
Entity name.

What you can build with the STAPI (Star Trek) API

  • Build a Star Trek encyclopaedia or reference site
  • Create franchise trivia and quiz games
  • Explore relationships between characters, ships and episodes
  • Practise consuming a paginated search API

Common errors and how to fix them

404 on a search endpoint with GET

Some search endpoints expect POST.

Fix: GET works for simple searches; POST with form parameters is needed for filtered searches.

Results array name varies

It is named after the entity type.

Fix: A series search returns `series`, a character search returns `characters` — key on the entity you queried.

Page numbering starts at 0

pageNumber is zero-indexed.

Fix: The first page is 0, not 1.

STAPI (Star Trek) API — frequently asked questions

Is the Star Trek API free?

Yes, STAPI is completely free and open source with no API key.

What does it cover?

The entire franchise — every series and film — across dozens of entity types including characters, starships, species, planets, episodes, technology and organisations.

Why is the results array named differently each time?

It is named after the entity you queried, so a series search returns `series` and a character search returns `characters`. Key on what you asked for.

How do I fetch one full record?

Search first to get a uid, then request the singular endpoint with ?uid=... to get the complete record with all its relationships.

Tools that pair with this API

STAPI (Star Trek) is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 2026-08-20; always check the official documentation before relying on this API in production, as terms and limits can change.