catchbuys

Business for sale API

Query 14,200+ businesses for sale (SaaS, ecom, content sites, agencies) from 22 marketplaces in a single JSON endpoint. Filter by MRR, asking price, multiple, age, industry.

22
Marketplaces
5
Endpoints
15+
Data fields
60/min
Rate limit
Per token

Data aggregated from

Flippa Empire Flippers Quiet Light TrustMRR DealSlide BusinessesForSale WebsiteClosers Daltons Business Indiemaker Microns AcquireBase Investors Club Latonas Dotmarket Bpifrance NicheInvestor Money Nomad FIH Ecommerce Brokers App Business Brokers SellerForce Acquisitions Direct
Free during POC

All listings, all marketplaces, one query

Skip writing 22 scrapers. We aggregate Flippa, Empire Flippers, Quiet Light, TrustMRR and 18 more brokers daily and serve them via a single REST endpoint.

  • 22 marketplaces aggregated daily — Flippa, Empire Flippers, Quiet Light, TrustMRR, Daltons, Microns and more.
  • Broker-aware multiple — premium brokers (Quiet Light, Empire Flippers) report SDE / annual profit, not top-line revenue. We expose both.
  • Standardised schema — same shape regardless of source: name, type, monthly_revenue, asking_price, multiple, age_years.
The API is free during the POC. Create a free account, generate a Bearer token, start querying.
Sign up free

Built for

Acquirers and search funds — pull every listing matching your thesis (e.g. SaaS with $5k+ MRR and <3x multiple) into your CRM or screening tool, without scraping 22 broker websites.

M&A advisors — benchmark asking prices and multiples across the entire market when sizing a deal or pricing a sell-side mandate.

Builders & LLM agents — feed the catchbuys MCP server into Claude, Cursor or your own agent so it can answer "show me Amazon FBA brands under $500k with established history" in plain English.

Investors & data products — power your own newsletter, deal-flow tracker or alerting product on top of structured data.

Integrate

Ready to build? Here is the API.

Standard REST, JSON responses, Bearer token auth. Works with any language. Full reference in the docs.

Try it

Pull SaaS listings with $5k+ MRR — paste this into your terminal.

curl "https://catchbuys.com/api/v1/listings?types[]=saas&mrr_min=5000&per_page=10" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

Sample response

{
  "data": [
    {
      "id": 12345,
      "source": "flippa",
      "name": "Acme CRM",
      "url": "https://flippa.com/12345",
      "website": "https://acmecrm.io",
      "type": "saas",
      "industry": "B2B SaaS",
      "asking_price": 240000,
      "currency": "USD",
      "monthly_revenue": 8400,
      "annual_revenue": 100800,
      "annual_profit": 78000,
      "profit_margin": 77.4,
      "multiple": 3.07,
      "age_years": 4,
      "monthly_traffic": 12500,
      "thumbnail_url": "https://...",
      "created_at": "2026-04-20T08:12:00Z",
      "updated_at": "2026-04-26T09:00:00Z"
    }
  ],
  "meta": { "total": 142, "page": 1, "per_page": 10, "last_page": 15 }
}

Just want a single listing?

curl "https://catchbuys.com/api/v1/listings/12345" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

Filter parameters

Combine any of these on /api/v1/listings.

q Keyword in listing name (LIKE match)
source Single marketplace slug (e.g. flippa)
sources[] Multiple sources (repeat the param)
types[] saas, ecom, site, agency, other
industries[] Exact industry match
mrr_min Minimum monthly revenue (USD)
price_min Minimum asking price
price_max Maximum asking price
age_min Minimum age in years
margin_min Minimum profit margin (%)
sort mrr, price, multiple, margin, age, added
dir asc or desc (default: desc)
per_page Results per page (max 100, default 25)
page Page number (1-indexed)

Free during the POC

No paid plans yet — create a free account, generate a Bearer token, hit the endpoint.

Questions

How fresh is the data?

All sources are re-fetched daily via listings:fetch. Listings that disappear from the source are removed within 24 hours, so the API never returns stale records.

Why is the multiple sometimes computed against profit, not revenue?

Premium brokers (Quiet Light, Empire Flippers, Latonas, AcquisitionsDirect) price listings against SDE / annual profit, not top-line revenue. The multiple field uses annual_profit when present, falling back to annual_revenue otherwise. Both raw values are returned, so you can recompute either way.

What's the rate limit?

60 requests per minute per token. Exceeding returns HTTP 429.

Can I use this from Claude or Cursor?

Yes — see the MCP server page. The same Bearer token gets you both the REST API and the MCP server.

How do I authenticate?

Sanctum personal access token. Pass it as Authorization: Bearer YOUR_API_KEY. Manage tokens at /api/access.

Is there a price?

Not during the POC. The API and MCP server are free for any signed-in user. Pricing will be introduced once the POC graduates — existing users get advance notice.

Live listings by marketplace
14,223 listings across 22 marketplaces · Refreshed daily
Flippa
8,782
Empire Flippers
1,651
TrustMRR
1,613
Daltons Business
505
Indiemaker
375
BusinessesForSale
330
AcquireBase
295
Microns
156
WebsiteClosers
120
Quiet Light
86
DealSlide
72
Investors Club
55
NicheInvestor
31
App Business Brokers
28
Bpifrance
26
Money Nomad
23
FIH
20
Latonas
20
Dotmarket
10
Ecommerce Brokers
9
SellerForce
8
Acquisitions Direct
8

Filter by source= on the API.

Sign up free