Datasets API endpoint
Returns a startup's daily time-series of payment-provider-verified metrics — MRR, all-time revenue, last-30-days revenue, 30-day and 12-month traffic, 30-day growth, for-sale flag, asking price, valuation multiple, deal score and offer count — one point per day in chronological order (oldest first). The series accrues one point per calendar day, so a recently discovered startup returns a short or empty series rather than a 404.
/datasets/trustmrr/history/{slug}Path parameters:
slug: required. Startup slug (dataset id trustmrr). Max 128 characters. Example: gumroad.Query parameters:
from: optional. Inclusive start date, YYYY-MM-DD (UTC).to: optional. Inclusive end date, YYYY-MM-DD (UTC).limit: optional. Maximum points returned (the most recent within the range). Default 365, max 1000.Returns a startup's daily time-series of payment-provider-verified metrics, one
point per calendar day in chronological order (oldest first): mrr,
total_revenue, revenue_30d, traffic_30d, traffic_12mo, growth_30d,
on_sale, asking_price, multiple, deal_score and offer_count. The series
accrues one point per day, so a recently discovered startup returns a short or
empty series (HTTP 200 with count: 0) rather than a 404.
| Field | Filled in, of 20 checked | Values in the sample |
|---|---|---|
| slug | 20 | |
| date | 20 | 2026-09-21 to 2026-10-11 |
| mrr | 20 | 0 |
| total_revenue | 20 | 878,595,860.52 |
| revenue_30d | 20 | 7,143,938 |
| on_sale | 20 | true in 0 of 20 |
| offer_count | 20 | 4 |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| slug (path) | string | Yes | Startup slug, max 128 characters | gumroad | |
| from | string | No | Inclusive start date, YYYY-MM-DD (UTC) | ||
| to | string | No | Inclusive end date, YYYY-MM-DD (UTC) | ||
| limit | integer | No | Maximum points returned (the most recent within the range), default 365, max 1000 | ||
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/datasets/trustmrr/history/gumroad?limit=10" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"dataset": "trustmrr",
"slug": "gumroad",
"count": 2,
"points": [
{
"slug": "gumroad",
"date": "2026-07-13",
"mrr": 0,
"total_revenue": 878595860.52,
"revenue_30d": 7143937.99,
"on_sale": false,
"offer_count": 0
},
{
"slug": "gumroad",
"date": "2026-07-14",
"mrr": 0,
"total_revenue": 878731204.1,
"revenue_30d": 7151002.44,
"on_sale": false,
"offer_count": 0
}
]
}
}Request schema
No body schema
Response schema
#/definitions/datasets.trustmrrHistoryResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | datasets.TrustmrrHistoryResponse | No | ||||
| data.count | integer | No | ||||
| data.dataset | string | No | ||||
| data.points | array | No | ||||
| data.points[].asking_price | number | No | ||||
| data.points[].date | string | No | YYYY-MM-DD in UTC | |||
| data.points[].deal_score | number | No | ||||
| data.points[].growth_30d | number | No | ||||
| data.points[].mrr | number | No | ||||
| data.points[].multiple | number | No | ||||
| data.points[].offer_count | integer | No | ||||
| data.points[].on_sale | boolean | No | ||||
| data.points[].revenue_30d | number | No | ||||
| data.points[].slug | string | No | ||||
| data.points[].total_revenue | number | No | ||||
| data.points[].traffic_12mo | number | No | ||||
| data.points[].traffic_30d | number | No | ||||
| data.slug | string | No | ||||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 429 | Too Many Requests | #/definitions/app.Response |
| 500 | Internal Server Error | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/datasets/trustmrr/history/gumroad?limit=10" \
-H "x-api-key: $CRAWLORA_API_KEY"