API / Endpoints
GET
/api/v1/startupsReturns a paginated list of real startups from Revmrr's revenue dataset. Filter by category, sale status, or MRR range, and sort by MRR or name. Public — no API key required.
Request
cURL
curl -s "https://revmrr.com/api/v1/startups?sort=mrr-desc&limit=10"JavaScript (fetch)
const response = await fetch(
"https://revmrr.com/api/v1/startups?sort=mrr-desc&limit=10"
);
const { data, meta } = await response.json();
console.log(`Found ${meta.total} startups`);Python (requests)
import requests
response = requests.get(
"https://revmrr.com/api/v1/startups",
params={"sort": "mrr-desc", "limit": 10},
)
data = response.json()
print(f"Found {data['meta']['total']} startups")Query parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
| page | integer | 1 | Page number for pagination. Starts at 1. |
| limit | integer | 10 | Results per page. Min 1, max 50. |
| sort | string | mrr-desc | One of: mrr-desc, mrr-asc, name-asc, name-desc. |
| category | string | null | Filter by category (partial match, e.g. "SaaS"). |
| onSale | string | null | "true" or "false" — filter by sale status. Omit to return all. |
| minMrr | number | null | Minimum monthly recurring revenue, in USD. |
| maxMrr | number | null | Maximum monthly recurring revenue, in USD. |
| q | string | null | Search term matched against name and category. |
Response fields
Each item in the data array has the following shape. Monetary values are in USD.
| Parameter | Type | Default | Description |
|---|---|---|---|
| name | string | — | Startup name. |
| slug | string | null | — | URL-friendly identifier. |
| icon | string | null | — | URL to the startup's logo, when available. |
| description | string | null | — | Short description. |
| website | string | null | — | Startup's website URL. |
| category | string | null | — | Category, when known. |
| founderName | string | null | — | A founder's name, when known. |
| revenue.mrr | number | null | — | Monthly recurring revenue in USD. |
| revenue.arr | number | null | — | Annual recurring revenue in USD. |
| onSale | boolean | — | Whether the startup is listed for acquisition. |
| rank | integer | null | — | Position by MRR within the current filtered result set. |
Pagination
The meta object tells you where you are in the result set. Keep incrementing page until hasMore is false.
| Parameter | Type | Default | Description |
|---|---|---|---|
| meta.total | integer | — | Total matching startups across all pages. |
| meta.page | integer | — | Current page number. |
| meta.limit | integer | — | Results per page. |
| meta.hasMore | boolean | — | Whether there are more pages after this one. |
Example response
200 OK
{
"data": [
{
"name": "Sentry",
"slug": "sentry",
"icon": "https://.../sentry-logo.png",
"description": "Application performance monitoring for developers & software teams.",
"website": "https://sentry.io",
"category": "Developer Tools",
"founderName": "Chris Jennings",
"revenue": { "mrr": 10000000, "arr": 120000000 },
"onSale": false,
"rank": 3
}
],
"meta": { "total": 1381, "page": 1, "limit": 10, "hasMore": true }
}


