API reference / Companies
Get a company's funding rounds
Written and maintained by The ProspectAPIs team
GET/v1/companies/:domain/funding
GET /v1/companies/:domain/funding is the ProspectAPIs operation getCompanyFunding, in the Companies group of the REST API. The funding rounds for one company domain, newest first: the same records as GET /v1/funding filtered to this domain. Costs one record per record returned; a company with no rounds is free. Coverage: funding rounds are complete from 2026-10-01, partial from 2026-09-22 to 2026-09-30, and only a few earlier rounds are held, so a company whose last round was before that returns none, and an empty answer carries a coverage object saying so. Cost: $0.009 per record returned, a company with no rounds is free. Send your API key as a Bearer token in the Authorization header.
How this fits with the rest of the companies API, with worked examples, is in the company profiles guide.
Parameters
| Name | In | Type | Description |
|---|---|---|---|
| domain required | path | string | The company's website domain, for example acme.com. |
| 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. |
| round | query | string | One or more round stages, comma-separated (1 to 20), such as seed,series_a. |
| min_amount_usd | query | number | Only rounds of at least this USD amount. |
| max_amount_usd | query | number | Only rounds of at most this USD amount. |
| 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 funding rounds for the domain. |
| 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. |
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 funding rounds for the domain. The body is a FundingList.
| Field | Type | Description |
|---|---|---|
| data required | array of FundingRecord | A single funding round. Fields that are unknown for a round are null. |
| data[].id required | string (uuid) | |
| data[].company_name required | string | |
| data[].company_domain | string or null | |
| data[].event_class | string or null | The kind of event, e.g. a funding round. |
| data[].round_label | string or null | The human round label, e.g. "Series A". |
| data[].round_stage | string or null | The normalised round stage, e.g. "series_a" (the value round filters on). |
| data[].amount_usd | number or null | The round size in USD, when known. |
| data[].amount_original | number or null | The round size in its original currency, when it was not USD. |
| data[].currency | string or null | The original currency code for amount_original. |
| data[].announced_at required | string (date) | The announcement date (the sort key). |
| data[].investors | array of string or null | |
| data[].lead_investors | array of string or null | |
| data[].location | string or null | The headquarters place as the source states it, often a city, a state or a fragment. Null when no place was stated. |
| data[].country | string or null | The headquarters country name, such as United States, derived from country_code. Null when country_code is null. |
| data[].country_code | string or null | The headquarters country as an ISO 3166-1 alpha-2 code, such as US. Null when the location is unknown, ambiguous or names two countries. |
| data[].source_url | string (uri) or null | The public announcement a buyer verifies against. |
| data[].attributes | object or null | Extra, source-dependent fields. |
| data[].updated_at | string (date-time) or null | |
| next_cursor required | string or null | Pass back as cursor for the next page; null on the last page. |
| count required | integer | How many records this page holds. |
| coverage | object | Present only when the page holds no records: the window of funding rounds the data covers, so an empty answer is explained. |
| coverage.complete_from required | string (date) | Rounds announced on or after this date are complete. |
| coverage.partial required | array of object | Windows where only some rounds are held. |
| coverage.note required | string | The coverage in one sentence. |
| Header | Meaning |
|---|---|
| X-Credits-Remaining | USD credits left after this call settles. |
| X-Free-Records-Remaining | Kept for older clients. Always 0 since 2026-10-25, when a one-time signup balance replaced the monthly free records. |
| 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/companies/acme.com/funding \
-H "Authorization: Bearer $PROSPECTAPIS_KEY" \
--data-urlencode "since=2026-10-01" \
--data-urlencode "round=seed,series_a" \
--data-urlencode "limit=10"const params = new URLSearchParams({ since: "2026-10-01", round: "seed,series_a", limit: "10" });
const res = await fetch(`https://api.prospectapis.com/v1/companies/acme.com/funding?${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/companies/acme.com/funding",
headers={"Authorization": f"Bearer {os.environ['PROSPECTAPIS_KEY']}"},
params={"since": "2026-10-01", "round": "seed,series_a", "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 company profiles guide covers this area end to end. Previous operation: Get a company profile. Next operation: Get a company's open job postings. 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?