TrustMRR APItrustmrr.com ↗
Access TrustMRR's verified startup revenue database via API. Search startups, browse acquisition listings, filter by metrics, and retrieve ecosystem stats in JSON.
What is the TrustMRR API?
The TrustMRR API exposes 7 endpoints covering the full TrustMRR database of verified startup revenues, including leaderboard rankings, acquisition listings, per-startup detail pages, and ecosystem-wide statistics. The get_startup_detail endpoint alone returns fields spanning revenue figures, tech stack, founder info, growth metrics, and AI enrichment for any startup identified by its slug.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/f81adb6b-b1c9-4b6a-bea1-9efe0ea4d27f/get_homepage' \ -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 trustmrr-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: TrustMRR SDK — browse verified startup revenues, filter acquisitions, inspect details."""
from parse_apis.trustmrr_api import TrustMRR, Category, StartupNotFound
client = TrustMRR()
# Browse AI startups with automatic pagination; limit= caps total items fetched.
for startup in client.startups.by_category(category=Category.AI, limit=5):
print(startup.name, startup.slug, startup.current_mrr)
# Search for startups by keyword, take the first result and drill into details.
match = client.startups.search(query="analytics", limit=1).first()
if match:
detail = client.startups.get(slug=match.slug)
print(detail.name, detail.website, detail.current_mrr, detail.country)
# List acquisition targets filtered by category and max price.
for target in client.startups.for_acquisition(categories=Category.SAAS, max_price=50000, limit=3):
print(target.name, target.asking_price, target.cached_growth_30d)
# Fetch homepage leaderboard for top-revenue startups.
homepage = client.homepages.get()
for leader in homepage.leaderboard[:3]:
print(leader.name, leader.slug, leader.current_last_30_days_revenue)
# Get ecosystem statistics — tech stacks, countries, revenue distribution.
try:
stats = client.statistics.get()
print(stats.headline.total_verified_revenue, stats.headline.total_transactions)
for tech in stats.tech_stacks[:3]:
print(tech.name, tech.startup_count, tech.total_revenue)
except StartupNotFound as exc:
print(f"not found: {exc}")
print("exercised: startups.by_category / startups.search / startups.get / startups.for_acquisition / homepages.get / statistics.get")
Fetches the TrustMRR homepage data including the revenue leaderboard (top startups by last 30 days revenue), best deals this week, and recently added startups. The leaderboard contains up to 100 entries. Categories may be empty if not embedded in the homepage payload.
No input parameters required.
{
"type": "object",
"fields": {
"best_deals": "array of startups currently on sale",
"categories": "array of category objects (may be empty)",
"leaderboard": "array of startup objects sorted by last 30 days revenue",
"recently_added": "array of recently added startup objects"
},
"sample": {
"data": {
"best_deals": [
{
"_id": "6a22e9beb038dfde6269a898",
"name": "Kickpot App",
"slug": "kickpot-app",
"askingPrice": 7500
}
],
"categories": [],
"leaderboard": [
{
"_id": "690dbeae4d56105839c017ce",
"name": "Gumroad",
"slug": "gumroad",
"currentLast30DaysRevenue": 7143937.99
}
],
"recently_added": [
{
"_id": "69aaf259389ea02196480bf4",
"name": "ToStatic",
"slug": "tostatic"
}
]
},
"status": "success"
}
}About the TrustMRR API
What the API Covers
TrustMRR is a database of startups that publish verified revenue figures. This API gives structured JSON access to that database across all major surfaces of the site. The get_homepage endpoint returns the top-100 revenue leaderboard (sorted by last 30-day revenue), a best-deals array, and recently-added startups. The get_stats endpoint returns aggregate ecosystem data including revenue_distribution, follower_distribution, top_countries (with countryCode, revenue, and count), top_categories (with avg_mrr and avg_growth), growth_milestones, and top tech stacks with totalRevenue and startupCount.
Startup Search and Category Browsing
The search_startups endpoint accepts a query string matched against startup names, categories, and descriptions, returning a startups array. The list_startups_by_category endpoint takes a required category slug (e.g. ai, saas, fintech, developer-tools) plus an optional page integer, and returns total, hasMore, and up to ~30 startups per page. The get_all_startups endpoint iterates across all categories and deduplicates by slug, accepting an optional limit to cap the result set — useful for bulk exports of the full database.
Acquisition Listings and Startup Detail
The list_startups_for_acquisition endpoint surfaces startups currently for sale and supports eight optional filters: minPrice, maxPrice, minRevenue, maxRevenue, minGrowth, minMargin, categories, and listingDate. Results default to the best-deals sort. Once you have a startup's slug from any listing or search response, get_startup_detail returns the full record: name, description, revenue data, tech stack array, growth metrics, founder information, and AI-enriched fields.
The TrustMRR API is a managed, monitored endpoint for trustmrr.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when trustmrr.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 trustmrr.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 an acquisition deal-flow tracker filtered by revenue range and profit margin using
list_startups_for_acquisition. - Monitor weekly changes to the TrustMRR leaderboard by polling
get_homepageand diffing theleaderboardarray. - Compile a dataset of top SaaS startups by category using
list_startups_by_categorywith thesaasslug and paginating through all results. - Enrich a startup research tool with verified MRR, tech stack, and founder data fetched via
get_startup_detail. - Generate ecosystem benchmarks (revenue distribution, top tech stacks, country breakdowns) from
get_statsfor investor reports. - Keyword-search the TrustMRR database for startups in a specific niche using
search_startupswith product-category terms. - Export the full deduplicated startup database for analysis with
get_all_startupsand a customlimit.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does TrustMRR have an official public developer API?+
What does `get_startup_detail` return beyond basic revenue figures?+
details object includes the startup's name, description, revenue data, tech stack, growth metrics, founder information, and AI enrichment fields. The slug used to query it can be obtained from search_startups, list_startups_by_category, or get_homepage responses.How does filtering work in `list_startups_for_acquisition`?+
minPrice, maxPrice), monthly revenue (minRevenue, maxRevenue), 30-day growth (minGrowth), profit margin (minMargin), category slug (categories), or listing date. Omitting all filters returns the default best-deals sort of approximately 30 startups.Does the API expose historical revenue time-series data for individual startups?+
avg_mrr and avg_growth at the category level) but does not expose month-by-month historical revenue series per startup. You can fork this API on Parse and revise it to add an endpoint targeting historical chart data if TrustMRR surfaces it on a startup's detail page.How many startups does `list_startups_by_category` return per page, and how do I paginate?+
hasMore boolean and a total integer. Increment the page parameter (starting from 1) and continue fetching until hasMore is false. For a full cross-category export, get_all_startups with a limit parameter handles deduplication automatically.