API Reference · v1
Read-only REST API. Four endpoints, key-required.
Browse our public funding-rounds and company database programmatically. Pages are public; API requests require a per-user bearer token.
Quickstart
- Visit /keys/, enter your email, and open the magic link.
- Copy the raw secret from the link destination — it is shown exactly once.
- Send
Authorization: Bearer <prefix>.<secret>with every request.
curl https://data.aimalcolm.com/api/v1/funding-rounds/ \
-H "Authorization: Bearer mlm_xxxxxxxx.yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy"
Authentication
Every request to /api/v1/
must carry an Authorization: Bearer <key> header.
Anonymous traffic is rate-limited to 0 requests per hour and will respond with HTTP 401 / 429.
Keys take the format mlm_<prefix>.<secret>.
The prefix is stored in plaintext (so it is greppable in your own logs without revealing the secret);
only the SHA-256 of the secret is persisted on our side.
Lost a key? Request another email link from /keys/. Each user can have up to 3 active keys.
Rate limits
The Free tier ships at 200 requests/hour per key, tracked on a sliding window. Every response carries:
X-RateLimit-Limit— your hourly cap.X-RateLimit-Remaining— calls left in the current window.X-RateLimit-Reset— Unix timestamp when the bucket frees up.
Over-quota requests respond with HTTP 429 and a
Retry-After header.
Back off; do not loop hammer.
Pagination
List responses are paginated: default 50 results per page,
up to 200.
Pass ?page=N
and ?page_size=K.
The response envelope is { count, next, previous, results } —
follow the next URL until null.
/api/v1/funding-rounds/
List funding rounds (pre-seed through Series A) ordered by announced date, newest first.
Query parameters
- stage
- One of
pre_seed,seed,series_a. - country
- Exact match on the company's normalized country (e.g.
United States). - major_sector
- Exact match on the sector enum (
TECHNOLOGY,HEALTHCARE, …). - industry
- Case-insensitive substring match (e.g.
fintech). - announced_after / announced_before
- ISO date (
YYYY-MM-DD), inclusive. - min_amount_usd / max_amount_usd
- Whole-dollar amounts; rows with null amounts pass through min but are excluded by max.
curl 'https://data.aimalcolm.com/api/v1/funding-rounds/?stage=seed&country=France' \
-H "Authorization: Bearer mlm_xxxxxxxx.yyyy"
{
"count": 0,
"next": null,
"previous": null,
"results": []
}
/api/v1/funding-rounds/<id>/
Retrieve a single funding round by integer id.
curl https://data.aimalcolm.com/api/v1/funding-rounds/326/ \
-H "Authorization: Bearer mlm_xxxxxxxx.yyyy"
{}
/api/v1/companies/
List companies (only those with completed enrichment), ordered by last funding date.
Query parameters
- country / major_sector / industry
- Same semantics as on funding rounds.
- last_stage
- Filter by the company's most recent funding stage.
- has_funding
- Boolean:
trueonly returns companies that have at least one tracked round.
curl 'https://data.aimalcolm.com/api/v1/companies/?major_sector=TECHNOLOGY&page_size=10' \
-H "Authorization: Bearer mlm_xxxxxxxx.yyyy"
{
"count": 0,
"next": null,
"previous": null,
"results": []
}
/api/v1/companies/<domain>/
Retrieve one company by its normalized domain. Includes founders + full funding history.
curl https://data.aimalcolm.com/api/v1/companies/acme.ai/ \
-H "Authorization: Bearer mlm_xxxxxxxx.yyyy"
{}
Errors
| Code | Meaning |
|---|---|
| 401 | Missing, malformed, or revoked API key. |
| 403 | Reserved for future tier checks; not currently emitted. |
| 404 | Unknown id / domain, or quarantined row. |
| 405 | Write methods (POST / PUT / DELETE) are not supported. |
| 429 | Rate limit exceeded. Read Retry-After and back off. |
Changelog
- v1.0 Initial release. Four read-only endpoints. Free tier at 200 req/hour.