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.
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 'https://stapi.co/api/v1/rest/series/search?pageSize=1'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);import requests
res = requests.get("https://stapi.co/api/v1/rest/series/search?pageSize=1", timeout=20)
res.raise_for_status()
print(res.json()){
"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
| Parameter | Type | Required | Description |
|---|---|---|---|
<entity>/search | path | Optional | Search an entity type, returns a paginated list. series/search |
<entity> | path | Optional | Fetch one record by uid query parameter. character?uid=CHMA0000023045 |
pageNumber | integer | Optional | Zero-indexed page number. 0 |
pageSize | integer | Optional | Results 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
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.
JSON Validator
Free online JSON validator: validate JSON and find syntax errors with the exact line and column. See root type, key counts and depth — instant and 100% private.
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.