API reference / Launches
Search launch events
Written and maintained by The ProspectAPIs team
GET/v1/launches
GET /v1/launches is the ProspectAPIs operation searchLaunches, in the Launches group of the REST API. Keyset-paginated launch events, newest launch first. Not available yet: answers 503 and charges nothing until GET /pricing reports launches available. Pass next_cursor back as cursor for the next page. Cost: Not available yet. Send your API key as a Bearer token in the Authorization header.
How this fits with the rest of the launches API, with worked examples, is in the launch events guide.
Parameters
| Name | In | Type | Description |
|---|---|---|---|
| since | query | string (date) | Only rounds announced on or after this date (inclusive), YYYY-MM-DD. |
| until | query | string (date) | Only rounds announced on or before this date (inclusive), YYYY-MM-DD. |
| stage | query | string | post, pre, or both comma-separated. |
| launch_type | query | string | Comma-separated: new_company, new_product, major_version, feature. |
| domain | query | string | Exact company domain, a bare domain such as example.com. |
| company | query | string | Case-insensitive substring match on the company name (1 to 100 characters). |
| category | query | string | A category such as ai, saas or hardware. |
| country | query | string | Headquarters country. A country name or any two-letter ISO 3166-1 code (United States, US, Germany, DE) matches country_code exactly; any other text, such as a city, matches the stated place (the record's location), case-insensitive. |
| limit | query | integer | Page size, 1 to 100 (default 25). |
| cursor | query | string | The previous page's next_cursor, passed back unchanged. |
An unknown query parameter is refused with a 400 rather than ignored, so a typo never widens a search you pay for.
Responses
| Status | Meaning |
|---|---|
| 200 | A page of launch events. |
| 400 | The request was invalid (e.g. a bad filter or input); nothing was charged. |
| 401 | The API key is missing or invalid. |
| 402 | Out of credits. The body carries top_up_url; nothing was charged. |
| 429 | Too many requests; retry after the window. |
| 503 | Launch events are not available yet (GET /pricing launches.available is false). Nothing is charged. |
Every error answers with the same JSON body, an error string and sometimes a code; the errors page lists each status and when it happens. A per-key 429 carries Retry-After; see rate limits.
200 response fields
A page of launch events. The body is a LaunchList.
| Field | Type | Description |
|---|---|---|
| data required | array of Launch | One launch event. Carries a link to the company's own post or page and derived fields only, never the post text or media. |
| data[].id required | string (uuid) | |
| data[].stage required | string: post, pre | post: launched and usable now. pre: the company itself says it is about to launch; never a prediction. |
| data[].launch_type | string or null: new_company, new_product, major_version, feature, | |
| data[].company_name | string or null | |
| data[].company_domain required | string | |
| data[].product_name | string or null | |
| data[].category | string or null | |
| data[].country_code | string or null | ISO 3166-1 alpha-2, when known. |
| data[].source_url required | string (uri) | The company's own post or page. |
| data[].launched_at required | string (date-time) | |
| data[].detected_at required | string (date-time) | |
| data[].person_ref | string or null | An opaque reference to the founder or poster (per_ plus 24 hex). |
| data[].person_name | string or null | The founder's or poster's public name. |
| data[].poster_role | string or null: company, founder, employee, | |
| data[].gate_version required | string | The relevance gate version that passed this record. |
| data[].updated_at | string (date-time) | |
| next_cursor required | string or null | |
| count required | integer |
| Header | Meaning |
|---|---|
| RateLimit-Limit | Requests this API key may make per minute. |
| RateLimit-Remaining | Requests left in the current one-minute window. |
| RateLimit-Reset | Seconds until the current window resets. |
Code samples
Each sample sends the same request. Set PROSPECTAPIS_KEY in your environment first. Values come from the spec's examples; replace them with your own.
curl -G https://api.prospectapis.com/v1/launches \
-H "Authorization: Bearer $PROSPECTAPIS_KEY" \
--data-urlencode "since=2026-10-01" \
--data-urlencode "domain=example.com" \
--data-urlencode "limit=10"const params = new URLSearchParams({ since: "2026-10-01", domain: "example.com", limit: "10" });
const res = await fetch(`https://api.prospectapis.com/v1/launches?${params}`, {
headers: { Authorization: `Bearer ${process.env.PROSPECTAPIS_KEY}` },
});
if (!res.ok) throw new Error(`${res.status}: ${(await res.json().catch(() => ({}))).error ?? res.statusText}`);
const data = await res.json();
console.log(data);import os, requests
res = requests.get(
"https://api.prospectapis.com/v1/launches",
headers={"Authorization": f"Bearer {os.environ['PROSPECTAPIS_KEY']}"},
params={"since": "2026-10-01", "domain": "example.com", "limit": 10},
timeout=30,
)
res.raise_for_status()
data = res.json()
print(data)Billing
Billing reserves before it serves: the call holds what it may cost, serves at most what that hold covers, and refunds the rest when the response closes. Any non-2xx answer refunds the whole hold, so a failed call costs nothing. The response reports your balance in X-Credits-Remaining.
Related
The launch events guide covers this area end to end. Previous operation: Quote a post. Next operation: Get one launch event. Every operation, grouped by area, is on the API reference index.
Create a free account to get a key, then run the samples above with your own values.
Was this page helpful?