TrustMRR Startup Revenue Scraper avatar

TrustMRR Startup Revenue Scraper

Pricing

from $0.65 / 1,000 startup extracteds

Go to Apify Store
TrustMRR Startup Revenue Scraper

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

Stas Persiianenko

Maintained by Community

Actor 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:

  1. one normalized row per startup slug;
  2. explicit nulls when TrustMRR does not publish a metric;
  3. separate current MRR, 30-day revenue, and cumulative revenue fields;
  4. public verification context such as provider and last-sync timestamp;
  5. normalized for_sale and not_for_sale acquisition states;
  6. provenance through sourceUrl and scrapedAt.

It never invents revenue for profiles that do not expose it.

What TrustMRR data can I extract?

FieldMeaning
startupIdPublic internal TrustMRR identifier, when exposed
nameStartup or company name
slugStable TrustMRR profile slug
profileUrlCanonical public TrustMRR profile
descriptionPublic company description
logoUrlPublic logo URL
categoryTrustMRR business category
countryPublic country label
founderNamePublic founder name
founderXHandlePublic founder X handle
websiteUrlPublic company website
currentMrrCurrent monthly recurring revenue
last30DaysRevenueRevenue in the latest public 30-day period
totalRevenueCumulative public revenue
revenueGrowth30dPublic 30-day revenue growth percentage
customerCountPublic customer count
activeSubscriptionsPublic active subscription count
revenueVerifiedVerification signal derived from explicit or provider-backed public fields
verificationProviderPublic payment/subscription provider
revenueLastSyncedAtPublic revenue or MRR sync timestamp
isForSaleWhether a public sale listing is present
askingPricePublic asking price
revenueMultiplePublic acquisition revenue multiple
listingTierPublic TrustMRR listing tier
acquisitionStatusfor_sale or not_for_sale
sourceUrlPage where the startup was discovered
scrapedAtUTC 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

  1. Open the Actor input page.
  2. Keep https://trustmrr.com/ for broad discovery, or add category, acquisition, or profile URLs.
  3. Optionally enter search text such as ai, analytics, or marketing.
  4. Set maxItems to the maximum matching startups you need.
  5. Enable includeDetails only when profile-level enrichment is required.
  6. Run the Actor.
  7. Open the default dataset and export it or connect an integration.

The prefilled homepage input works without authentication.

Input parameters

InputTypeDefaultDescription
startUrlsURL arrayTrustMRR homepagePublic TrustMRR listing, category, acquisition, recent, search, or profile pages
querystringemptyCase-insensitive text filter across identity and description fields
maxItemsinteger50Maximum records, from 1 to 500
includeDetailsbooleanfalseFetch bounded profile pages for additional public fields
onSaleOnlybooleanfalseKeep only public acquisition listings
minMrrnumber0Minimum 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 start event per run;
  • one item event 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:

  1. save one of the working inputs as an Apify Task;
  2. schedule it daily, weekly, or monthly;
  3. retain slug, revenue fields, acquisition fields, and scrapedAt;
  4. compare the latest dataset with your previous snapshot in Make, Zapier, a webhook handler, or a warehouse;
  5. 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, not false and 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.
  • includeDetails adds 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 os
from apify_client import ApifyClient
client = 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().items
print(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.

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.