StartupBlink APIstartupblink.com ↗
Access StartupBlink's ranked startup lists by country. Get startup name, score, funding, employee range, industry, and rank position via one clean API endpoint.
What is the StartupBlink API?
The StartupBlink API exposes one endpoint, list_top_startups, that returns paginated ranked lists of startups for any country covered by StartupBlink's top-startups index. Each response includes up to 14 fields per startup row — including rank position, StartupBlink score, funding amount, employee range, industry, founding year, and website — along with pagination metadata and the total number of startups tracked for that country.
curl -X GET 'https://api.parse.bot/scraper/4ccf6d4d-4143-4b90-80b3-844a96fdb897/list_top_startups?list_name=startup&country_slug=the-netherlands' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace startupblink-com-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: StartupBlink SDK — browse top startups in a country."""
from parse_apis.startupblink_com_api import StartupBlink, ListName, CountryNotFound
client = StartupBlink()
# List the top-ranked startups in the Netherlands (default ranking by SB score).
try:
top = client.startups.list(country_slug="the-netherlands", limit=5)
except CountryNotFound:
print("Country slug not recognised by StartupBlink.")
raise
for startup in top:
print(f"#{startup.rank} {startup.name} — {startup.industry}, score {startup.sb_score:.1f}")
# Drill into the first result from a different ranking: most funded.
funded = client.startups.list(
country_slug="the-netherlands",
list_name=ListName.MOST_FUNDED,
limit=1,
).first()
if funded is not None:
print(f"\nMost-funded: {funded.name}")
print(f" Funding: ${funded.total_funding_usd:,}")
print(f" Employees: {funded.employee_range}")
print(f" Unicorn: {funded.is_unicorn}")
print(f" Website: {funded.website}")
print("\nexercised: startups.list (default + MOST_FUNDED rankings)")
Returns one page of StartupBlink's ranked startup list for a country, ordered by the selected ranking (default: overall StartupBlink score, i.e. the site's 'Top startups' list). Each row is one startup with its position in the ranking (rank), score, funding, employee range, industry, city and links. When urls_only is true, each row is reduced to just its four link fields (website, crunchbase_url, linkedin_url, logo_url) in ranking order, with no identifiers or other attributes; the page-level fields (country, total_count, has_more, etc.) are unchanged. The caller pages with page (0-based, default 0) and limit (rows per page, default 100, clamped to 200); total_count is the site's full count for the list and has_more says whether another page exists. The country is identified by its URL slug on the site, e.g. the-netherlands; an unknown slug returns a not-found error. Two upstream requests per call. Fields valuation, crunchbase_url and linkedin_url are frequently null.
| Param | Type | Description |
|---|---|---|
| page | integer | 0-based page index into the ranking. |
| limit | integer | Rows per page; values above 200 are clamped to 200. |
| list_name | string | Which ranking to return. The default is the overall score ranking; the others reorder the same country's startups by funding, headcount or web popularity. |
| urls_only | boolean | When true, each startup row contains only website, crunchbase_url, linkedin_url and logo_url; all other row fields (rank, id, name, scores, industry, location) are omitted. |
| country_slugrequired | string | Country slug as used in the site's URLs (lowercase, hyphenated), e.g. the-netherlands or germany. |
{
"type": "object",
"fields": {
"page": "0-based page index returned",
"limit": "effective rows-per-page after clamping",
"country": "object with the site's numeric country id, name, ISO-style code and the slug that was requested",
"has_more": "true when (page+1)*limit < total_count, i.e. another page exists",
"startups": "array of startup rows in ranking order. Default (urls_only=false): rank (1-based position in the ranking across pages), id (site startup id), name, description, sb_score (StartupBlink score), total_funding_usd, valuation (null when unknown), employee_range (bracket string like [101-250]), semrush_rank, is_unicorn, is_exit, industry/industry_slug, subindustry/subindustry_slug, city/city_slug, country/country_slug, website, crunchbase_url, linkedin_url, logo_url. With urls_only=true each row holds only website, crunchbase_url, linkedin_url, logo_url",
"list_name": "the ranking that was returned",
"urls_only": "echo of the urls_only filter applied to the rows",
"total_count": "site-reported total number of startups in this country list"
},
"sample": {
"data": {
"page": 0,
"limit": 2,
"country": {
"id": 27,
"code": "NL",
"name": "The Netherlands",
"slug": "the-netherlands"
},
"has_more": true,
"startups": [
{
"id": 255955,
"city": "Amsterdam",
"name": "StuDocu",
"rank": 1,
"country": "The Netherlands",
"is_exit": false,
"website": "https://www.studocu.com",
"industry": "Edtech",
"logo_url": "https://images.crunchbase.com/image/upload/t_cb-default-original/xvjhsesovfwpxgnawqci",
"sb_score": 680.4177178830678,
"city_slug": "amsterdam",
"valuation": null,
"is_unicorn": false,
"description": "StuDocu is a student-to-student knowledge exchange platform.",
"subindustry": "Edtech",
"country_slug": "the-netherlands",
"linkedin_url": null,
"semrush_rank": 1541,
"industry_slug": "edtech",
"crunchbase_url": "https://www.crunchbase.com/organization/studocu",
"employee_range": "[101-250]",
"subindustry_slug": "edtech",
"total_funding_usd": 56026173
},
{
"id": 302722,
"city": "Amsterdam",
"name": "Catawiki",
"rank": 2,
"country": "The Netherlands",
"is_exit": false,
"website": "http://www.catawiki.com",
"industry": "Ecommerce & Retail",
"logo_url": "https://images.crunchbase.com/image/upload/t_cb-default-original/rzkoofgiuyxfckkjlflw",
"sb_score": 651.7031811037443,
"city_slug": "amsterdam",
"valuation": null,
"is_unicorn": false,
"description": "Catawiki is the leading online marketplace to buy and sell special objects.",
"subindustry": "Ecommerce",
"country_slug": "the-netherlands",
"linkedin_url": null,
"semrush_rank": 4475,
"industry_slug": "ecommerce-retail",
"crunchbase_url": null,
"employee_range": "[501-1000]",
"subindustry_slug": "ecommerce",
"total_funding_usd": 20778981
}
],
"list_name": "startup",
"urls_only": false,
"total_count": 2326
},
"status": "success"
}
}About the StartupBlink API
What the API Returns
The list_top_startups endpoint returns a ranked array of startup records for a given country, identified by its country_slug (e.g. the-netherlands, germany). Each startup object in the startups array includes a 1-based rank within the selected ranking, a numeric id, name, description, sb_score (StartupBlink's composite score), funding, employee_range, industry, founded_year, website, and the country context. The response also returns total_count, has_more, the effective limit, and the list_name that was applied.
Filtering and Pagination
Results are paginated using a 0-based page index and a limit parameter (capped at 200 rows per page). Use has_more to determine whether additional pages exist — it is true when (page + 1) * limit < total_count. The list_name parameter controls which ranking is returned: the default is the overall StartupBlink score ranking; other values reorder the same country's startups by alternative criteria. The country object in every response includes the site's numeric country id, ISO-style code, display name, and the slug passed in the request.
Coverage and Scope
Coverage mirrors what StartupBlink publishes on its public top-startups pages. Country slugs follow the URL conventions used on the site (lowercase, hyphenated), so united-states and united-kingdom work the same way as the-netherlands. The total_count field reflects the site-reported count for that country at time of request, which varies by country.
The StartupBlink API is a managed, monitored endpoint for startupblink.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when startupblink.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official startupblink.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a ranked directory of startups in a target country using
rank,name, andsb_scorefields. - Filter investment prospects by
fundingandemployee_rangeacross multiple pages of a country's startup list. - Track founding cohorts by aggregating
founded_yearvalues across paginated results for a given country. - Compare startup density across countries by pulling
total_countfor eachcountry_slug. - Enrich a CRM with startup
website,industry, anddescriptiondata sourced from StartupBlink rankings. - Build country-level industry breakdowns by collecting the
industryfield across all pages of a ranking.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does StartupBlink have an official developer API?+
What does the `list_name` parameter actually change?+
sb_score). Other list_name values reorder the same country's startups by alternative criteria. The set of startups in the country pool does not change — only their ranked order.Is there a way to search startups by industry or funding range rather than retrieving a full ranked list?+
Can I retrieve startup data for cities or regions rather than entire countries?+
list_top_startups endpoint is scoped to countries identified by country_slug. StartupBlink's site also publishes city-level rankings, but those are not covered here. You can fork this API on Parse and revise it to add a city-level endpoint.What is the maximum number of startups I can retrieve per request?+
limit parameter accepts any value, but values above 200 are clamped to 200 rows per page. To retrieve a full country list, paginate using the 0-based page parameter and check has_more after each response.