TrustMRR Startup Revenue Scraper
Pricing
from $0.65 / 1,000 startup extracteds
TrustMRR Startup Revenue Scraper
Search and export public TrustMRR startup profiles with revenue, MRR, verification context, descriptions, and acquisition status.
Pricing
from $0.65 / 1,000 startup extracteds
Rating
0.0
(0)
Developer
Stas Persiianenko
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
8 days ago
Last modified
Categories
Share
Search and export public TrustMRR startup profiles as structured records for startup-market intelligence. Get company identity, profile URL, description, MRR and revenue values, verification context, and acquisition status without manually copying directory pages.
The Actor uses public TrustMRR pages only. It does not require a TrustMRR login, browser, proxy, or private API key.
What does this TrustMRR scraper do?
TrustMRR Startup Revenue Scraper converts public startup listings and profiles into a consistent Apify dataset.
It can:
- search discovered startups by company name, slug, description, category, or country;
- scrape the main directory, category pages, acquisition listings, and exact profiles;
- export current MRR, latest 30-day revenue, total revenue, and growth when public;
- preserve payment-provider and synchronization context instead of labeling every number as verified;
- identify public acquisition listings, asking prices, and revenue multiples;
- enrich listing rows from profile pages when you enable detail fetching;
- return CSV, JSON, Excel, XML, RSS, or another Apify dataset export format.
Who is it for?
- Startup investors and acquirers comparing revenue-bearing businesses and sale listings.
- Market intelligence teams creating repeatable snapshots of public startup metrics.
- Founders and analysts benchmarking categories, MRR, growth, and acquisition multiples.
- Sales and partnerships teams finding companies whose descriptions match a target market.
- Data engineers replacing manual TrustMRR exports with an API-ready dataset.
Why use this Actor instead of manual browsing?
TrustMRR is designed for interactive browsing. A scheduled research workflow also needs stable field names, source URLs, timestamps, filters, and exports.
This Actor provides:
- one normalized row per startup slug;
- explicit nulls when TrustMRR does not publish a metric;
- separate current MRR, 30-day revenue, and cumulative revenue fields;
- public verification context such as provider and last-sync timestamp;
- normalized
for_saleandnot_for_saleacquisition states; - provenance through
sourceUrlandscrapedAt.
It never invents revenue for profiles that do not expose it.
What TrustMRR data can I extract?
| Field | Meaning |
|---|---|
startupId | Public internal TrustMRR identifier, when exposed |
name | Startup or company name |
slug | Stable TrustMRR profile slug |
profileUrl | Canonical public TrustMRR profile |
description | Public company description |
logoUrl | Public logo URL |
category | TrustMRR business category |
country | Public country label |
founderName | Public founder name |
founderXHandle | Public founder X handle |
websiteUrl | Public company website |
currentMrr | Current monthly recurring revenue |
last30DaysRevenue | Revenue in the latest public 30-day period |
totalRevenue | Cumulative public revenue |
revenueGrowth30d | Public 30-day revenue growth percentage |
customerCount | Public customer count |
activeSubscriptions | Public active subscription count |
revenueVerified | Verification signal derived from explicit or provider-backed public fields |
verificationProvider | Public payment/subscription provider |
revenueLastSyncedAt | Public revenue or MRR sync timestamp |
isForSale | Whether a public sale listing is present |
askingPrice | Public asking price |
revenueMultiple | Public acquisition revenue multiple |
listingTier | Public TrustMRR listing tier |
acquisitionStatus | for_sale or not_for_sale |
sourceUrl | Page where the startup was discovered |
scrapedAt | UTC extraction timestamp |
Nullable fields remain null when the selected page does not expose them. Enable includeDetails when a smaller, richer profile export is more important than request volume.
How to scrape TrustMRR startup revenue
- Open the Actor input page.
- Keep
https://trustmrr.com/for broad discovery, or add category, acquisition, or profile URLs. - Optionally enter search text such as
ai,analytics, ormarketing. - Set
maxItemsto the maximum matching startups you need. - Enable
includeDetailsonly when profile-level enrichment is required. - Run the Actor.
- Open the default dataset and export it or connect an integration.
The prefilled homepage input works without authentication.
Input parameters
| Input | Type | Default | Description |
|---|---|---|---|
startUrls | URL array | TrustMRR homepage | Public TrustMRR listing, category, acquisition, recent, search, or profile pages |
query | string | empty | Case-insensitive text filter across identity and description fields |
maxItems | integer | 50 | Maximum records, from 1 to 500 |
includeDetails | boolean | false | Fetch bounded profile pages for additional public fields |
onSaleOnly | boolean | false | Keep only public acquisition listings |
minMrr | number | 0 | Minimum public current MRR; missing MRR is treated as zero |
Only trustmrr.com URLs are accepted. Unsupported hosts fail with a clear error instead of silently scraping unrelated pages.
Example input: search startup profiles
{"startUrls": [{ "url": "https://trustmrr.com/" }],"query": "ai","maxItems": 10,"includeDetails": false}
This performs client-side filtering over public records found on the selected TrustMRR page. It does not claim a private or official TrustMRR search API.
Example input: acquisition intelligence
{"startUrls": [{ "url": "https://trustmrr.com/acquire" }],"onSaleOnly": true,"maxItems": 25,"includeDetails": false}
Use the input in a scheduled Task to take recurring snapshots. Compare datasets downstream by slug; the Actor does not send alerts or maintain history itself.
Example input: one enriched startup
{"startUrls": [{ "url": "https://trustmrr.com/startup/stan" }],"maxItems": 1,"includeDetails": true}
Example output
The following shape comes from a current local run against the public Stan profile. Values can change at the source.
{"name": "Stan","slug": "stan","profileUrl": "https://trustmrr.com/startup/stan","description": "Stan enables people to make living and work for themselves.","category": "Content Creation","country": "US","currentMrr": 3569654.22,"last30DaysRevenue": 2844651.94697744,"totalRevenue": 76627685.07479446,"revenueVerified": true,"verificationProvider": "stripe","isForSale": false,"askingPrice": null,"acquisitionStatus": "not_for_sale","sourceUrl": "https://trustmrr.com/startup/stan","scrapedAt": "2026-08-25T14:42:32.506Z"}
How much does it cost to export TrustMRR startup revenue?
The Actor uses pay-per-event pricing:
- one
startevent per run; - one
itemevent per startup saved; - no item charge for filtered-out, duplicate, empty, or failed records.
The active start price is $0.005 per run. The BRONZE item price is $0.00108 per startup; higher usage tiers receive lower per-item prices. For example, 10 BRONZE results cost $0.0158, and 100 cost $0.113, excluding any account-level platform considerations.
Check the pricing panel for your account tier before a production run. Profile enrichment increases source requests but is included in the normal saved-startup charge.
Recurring monitoring workflow
To monitor startup revenue or acquisition changes:
- save one of the working inputs as an Apify Task;
- schedule it daily, weekly, or monthly;
- retain
slug, revenue fields, acquisition fields, andscrapedAt; - compare the latest dataset with your previous snapshot in Make, Zapier, a webhook handler, or a warehouse;
- alert only on changes that matter to your team.
TrustMRR controls update frequency. A new scrape timestamp does not mean every source metric changed.
Data quality and verification context
revenueVerified is conservative:
- explicit TrustMRR verification fields are used when present;
- a public payment provider or revenue-sync timestamp can establish provider-backed context;
- otherwise the value remains
null, notfalseand not an unsupported claim.
Revenue values are kept as published numbers. The Actor does not convert currencies, estimate annual recurring revenue, or infer missing months.
Performance and limits
The Actor is HTTP-only and runs with 256 MB memory. It parses Next.js server-rendered data without downloading images, fonts, or browser assets.
- Direct listing extraction is fastest.
includeDetailsadds profile requests and takes longer.- The hard per-run limit is 500 saved records.
- TrustMRR pages can naturally expose fewer records than
maxItems. - Multiple pages can contain the same startup; duplicates are merged by slug.
- Empty filter results succeed with an empty dataset.
Failure behavior and troubleshooting
Why did the run return fewer startups than requested?
The selected page may expose fewer unique matching profiles. Remove restrictive filters, add another real TrustMRR category page, or use the homepage.
Why is MRR null while 30-day revenue is present?
TrustMRR pages expose different public field sets. Use includeDetails: true or an exact profile URL. The Actor preserves nullability rather than equating all revenue labels.
Why did my URL fail immediately?
Only public trustmrr.com URLs are supported. Check spelling and remove unrelated domains.
Why are some enrichment fields still null?
TrustMRR may not publish them for that startup. Profile enrichment cannot access private dashboard fields.
What happens on a temporary upstream failure?
Transient network errors, HTTP 429 responses, and server errors are retried with bounded backoff. Deterministic client errors are not retried indefinitely.
Export and integration options
Open the run dataset to download JSON, CSV, Excel, XML, HTML, or RSS. You can also:
- send new datasets to Google Sheets;
- update Airtable acquisition pipelines;
- trigger Make or Zapier scenarios;
- load snapshots into BigQuery, Snowflake, or PostgreSQL;
- call a webhook that compares revenue fields by slug;
- use the Apify API from an internal research service.
JavaScript API example
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('automation-lab/trustmrr-startup-revenue-scraper').call({startUrls: [{ url: 'https://trustmrr.com/acquire' }],onSaleOnly: true,maxItems: 25});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Python API example
import osfrom apify_client import ApifyClientclient = ApifyClient(os.environ['APIFY_TOKEN'])run = client.actor('automation-lab/trustmrr-startup-revenue-scraper').call(run_input={'startUrls': [{'url': 'https://trustmrr.com/startup/stan'}],'maxItems': 1,'includeDetails': True,})items = client.dataset(run['defaultDatasetId']).list_items().itemsprint(items)
cURL API example
curl -X POST \'https://api.apify.com/v2/acts/automation-lab~trustmrr-startup-revenue-scraper/runs?token=YOUR_APIFY_TOKEN' \-H 'Content-Type: application/json' \-d '{"startUrls":[{"url":"https://trustmrr.com/"}],"query":"analytics","maxItems":10}'
Never commit an Apify token to source control. Use environment variables or your platform secret manager.
Use the Actor through MCP
Add the Actor to Claude Code:
claude mcp add --transport http apify \"https://mcp.apify.com?tools=automation-lab/trustmrr-startup-revenue-scraper"
Claude Desktop setup
{"mcpServers": {"apify": {"url": "https://mcp.apify.com?tools=automation-lab/trustmrr-startup-revenue-scraper"}}}
Cursor setup
Add the same remote MCP URL in Cursor Settings → Tools & MCP → New MCP Server.
VS Code setup
Add the same remote MCP URL to your VS Code MCP server configuration, then select the TrustMRR Actor tool.
Example prompts:
- “Export 10 public TrustMRR AI startups and compare their visible revenue fields.”
- “Get the current public TrustMRR record for Stan and explain the verification context.”
- “List acquisition targets from TrustMRR with asking price and revenue multiple.”
Responsible use and legality
This Actor extracts information exposed on public TrustMRR pages. It does not bypass login, access private dashboards, solve CAPTCHAs, or recover hidden values.
You are responsible for:
- complying with TrustMRR terms and applicable law;
- choosing a reasonable schedule and run size;
- respecting privacy and marketing rules;
- verifying financial information before making investment or acquisition decisions;
- protecting exported datasets according to your organization's policies.
Public revenue data is research context, not financial advice or audited financial reporting.
Limitations
- TrustMRR can change its public page structure.
- Output coverage depends on fields exposed by each selected page.
- Search filtering applies to records discovered from the supplied pages; it is not a complete-site search guarantee.
- The Actor does not log in or access private history.
- It does not generate alerts, valuations, forecasts, or investment recommendations.
- It does not guarantee a profile's figures are current beyond the source's own timestamps.
FAQ
Is this an official TrustMRR API?
No. It is an independent extractor for public TrustMRR web pages.
Does it require a TrustMRR login?
No. Login-only and private dashboard data are outside the Actor's scope.
Can I scrape one exact startup?
Yes. Supply its https://trustmrr.com/startup/<slug> profile URL and set a small maxItems value.
Can I search companies by keyword?
Yes. Set query and choose pages broad enough to contain the companies you need. Matching covers public name, slug, description, category, and country fields.
Can I find startups for sale?
Yes. Use https://trustmrr.com/acquire with onSaleOnly: true.
Will repeated runs create history?
Each result has scrapedAt, so you can store and compare datasets. The Actor itself does not maintain a historical series between runs.
Related Automation Lab Actors
- Crunchbase Company and Funding Search Scraper for company and funding discovery.
- Product Hunt Scraper for product-launch research.
- Y Combinator Scraper for accelerator company profiles.
Use related sources to enrich or cross-check a company record; do not assume their revenue labels are equivalent to TrustMRR fields.
Support
If a public page stops producing expected fields, open an Actor issue with:
- the exact input with tokens removed;
- a public example URL;
- the run ID;
- the expected field and observed result.
That evidence makes source changes faster to reproduce and repair.