Empire Flippers Scraper — Businesses for Sale & Sold Deals
The sold deals are the comparables. The P&L comes with them.
Online businesses listed on Empire Flippers — For Sale, Pending Sold and Sold — with asking price, monthly and annual multiple, average monthly profit, revenue and expenses, and the 12-month P&L and traffic series. Fill rates are published per listing status, because a Sold listing and a For Sale listing carry very different amounts of data.
oswaldocarabano/empire-flippers-scraper
{
"listingStatuses": ["Sold"],
"monetization": "SaaS",
"maxPrice": 200000,
"sortBy": "newest",
"maxItems": 100
}- Version
- v0.1.3
- Memory
- 512 MB
- Browser
- none
- Proxy
- None needed; fallback only
Short answer
The Empire Flippers Scraper exports the online businesses listed on empireflippers.com — For Sale, Pending Sold and Sold — with asking price, monthly and annual multiple, average monthly net profit, revenue and expenses, the 12-month P&L series and, where Empire Flippers publishes it, the monthly traffic series. Measured on the whole catalogue of 2,877 listings on 23 September 2026, asking price was filled on 99.9% of rows and the monthly P&L series on 99.8%, while traffic channels appeared on 4.8%. A Sold row carries the final asking price rather than a negotiated sale price. Pricing is $4.50 per 1,000 listings, and the whole catalogue is 15 requests of 200 listings each.
Key points
- The Empire Flippers catalogue held 2,877 listings on 23 September 2026: 180 For Sale, 23 Pending Sold and 2,674 Sold, with no listing in two states.
- A Sold listing carries the final asking price and the financials it was listed with, so Empire Flippers comparables measure asking multiples rather than negotiated sale prices.
- The monthly multiple equalled asking price divided by average monthly net profit, to within one, on 2,877 of 2,877 listings measured on 23 September 2026.
- Empire Flippers fill rates depend on listing status: business registration country was filled on 100% of 180 For Sale listings and 15.0% of 2,674 Sold ones.
- Traffic channels were published for 36.7% of 180 For Sale listings and 2.5% of 2,674 Sold listings, so a traffic-mix study of sold deals rests on a small subset.
- Empire Flippers keeps sellers anonymous, and none of the 2,877 listings measured on 23 September 2026 exposed a personal email address or phone number.
- The Empire Flippers Scraper offers only filters verified to narrow the result; six API parameters that the source silently ignores were left out of the input.
What it does
Online businesses listed on Empire Flippers — For Sale, Pending Sold and Sold — with asking price, monthly and annual multiple, average monthly profit, revenue and expenses, and the 12-month P&L and traffic series. Fill rates are published per listing status, because a Sold listing and a For Sale listing carry very different amounts of data.
{
"listing_number": 97317,
"title": "$29.8K Per Month eCommerce Business in the Art Niche",
"status": "For Sale",
"price": 215015,
"currency": "USD",
"avg_monthly_net_profit": 8532,
"avg_monthly_revenue": 29773,
"monthly_multiple": 25,
"annual_multiple": 2.1,
"profit_margin_pct": 29,
"niches": ["Art", "Apparel & Accessories", "Lifestyle"],
"monetizations": ["eCommerce", "Amazon FBM"],
"business_age_years": 12.3,
"monthly_financials": [
{ "month": "2025-09", "net_profit": 126.91, "revenue": 30745.77, "expenses": 30618.86 }
],
"monthly_traffic": [
{
"month": "2025-09",
"page_views": 179668,
"unique_users": 26406,
"traffic_channels": [
{ "channel": "Paid Social", "unique_users": 13871, "page_views": 105005, "users_pct": 52.53 }
]
}
],
"url": "https://empireflippers.com/listing/97317/"
}Why this one
Sold deals, not only what is on the market
For Sale listings are 180 of the 2,877 rows Empire Flippers serves. The other 2,674 are Sold deals with their final asking price, multiple and twelve months of P&L — which is what a valuation comparable actually needs. The Empire Flippers Scraper reads all three statuses and shares the row budget fairly between the statuses you pick.
Fill rates published per status
An all-listings average hides the shape of the data. Risks are filled on 97.2% of For Sale listings and 59.3% of Sold ones; the monthly traffic series on 36.7% of For Sale and 77.9% of Sold. The Empire Flippers Scraper documents both columns, measured over the whole 2,877-listing catalogue, so a buyer can see which questions the sold history can answer.
Filters that change the result
Every filter was tested against the live source with a negative control: a parameter that does not exist returned the full 2,877, and so did six real-looking ones such as `country=US` and `price_min`. Those six are not in the input. A filter that silently returns everything is worse than no filter, because the run looks correct and is not.
A flat monthly output for spreadsheets
The 12-month P&L and traffic series are nested inside each listing row. Setting `outputType` to `monthlyMetrics` delivers them flat instead — one row per business-month with net profit, revenue, expenses, page views, users and traffic channels — priced at $0.0005 per row rather than as a listing.
Use cases
- Build a valuation comparables set from Sold deals, by niche and monetization, with the multiple and monthly profit each one was listed at.
- Watch new For Sale listings by niche, price or profit with `sortBy: newest` on a schedule, and diff by `listing_id`.
- Study asking multiples by monetization model — Amazon FBA, SaaS, content, eCommerce — across 2,674 sold listings.
- Load the 12-month P&L series into a spreadsheet with `outputType: monthlyMetrics` to compare revenue and margin trajectories.
- Screen Amazon businesses by SKU count, TACoS and COGS where the listing publishes them.
Input
Every field has a default, and the defaults are deliberately small so a first run is cheap enough to inspect before you commit to a sweep. This table mirrors the Actor's own input schema field for field.
| Field | Default | What it does |
|---|---|---|
listingStatusesstring[] | ["For Sale"] | Listing statusFor Sale (180 on 23 Sep 2026), Pending Sold (23) and Sold (2,674). Pick several and the row budget is shared fairly between them; Sold deals are the valuation comparables. |
maxItemsinteger | 200 | Maximum rowsHard cap, 1 to 5,000. With `monthlyMetrics` a row is one business-month, about 12 per business. |
monetizationstring | — | MonetizationOne of 21 models, from Display Advertising (865 listings) to Subscription-Box (2). Verified: every returned row carries it. |
nichestring | — | NicheOne of Empire Flippers' 59 niches, such as Home (473) or Health & Fitness (231). |
platformstring | — | Site platformWordPress, Amazon, Shopify, YouTube, HTML or Other. |
countrystring | — | CountryTwo-letter ISO code of the business audience. 68% of listings that have a country are US. |
minPrice / maxPriceinteger | — | Asking price range (USD)Verified against the live source: `listing_price_from=100000` returned 1,426 listings, all of them at or above it. |
minMonthlyProfit / maxMonthlyProfitinteger | — | Average monthly net profit range (USD)Filters on average monthly net profit, the figure the multiple is computed from. |
keywordstring | — | KeywordThe marketplace's own free-text search. URL- or HTML-shaped values are rejected because the origin firewall answers them with 403. |
sortBystring | default | Sort bydefault, newest, price_high, price_low or profit_high — only orderings verified to change the result. |
outputTypestring | listings | Output typepersonal data`listings` for one rich row per business, `monthlyMetrics` for one flat row per business-month, charged at $0.0005 each. |
includeTechStackboolean | false | Add tech stackpersonal dataOne extra request per listing; charged only when a tech stack is found, which was 16.7% of For Sale and 0% of Sold listings sampled. |
includePrivateSellerContactboolean | false | Keep contact details that may belong to a personpersonal dataOff by default: personal-looking emails and any phone number in free text are redacted. Role mailboxes are always kept. |
maxCacheAgeDaysinteger | 0 | Reuse cached pages up to (days)0 always reads live data. Cached rows say so in `from_cache` and `data_age_hours`. |
proxyConfigurationobject | none | ProxyNot needed: the source answers datacentre IPs directly. Used only as a fallback. |
Output and fill rates
A field being in the schema is not the same as it having a value. The percentages below were counted on real runs; the sample sizes are in Measurements. Anything not listed here is not promised.
| Field | Filled | Meaning |
|---|---|---|
pricenumber | 99.9% | Asking price in USD. For Sold listings, the final asking price. Null with `unpriced: true` on 2 listings. |
statusstring | 100% | For Sale, Pending Sold or Sold. With `listing_number`, `url`, `first_listed_at` and `days_on_marketplace`. |
monthly_multiplenumber | 99.7% | With `annual_multiple` and `multiple_type`. Equal to price over average monthly net profit, within one, on 2,877 of 2,877. |
avg_monthly_net_profitnumber | 99.8% | With average monthly revenue and expenses, the annual versions, TTM figures and `profit_margin_pct`. |
monthly_financialsobject[] | 99.8% | Month, net profit, revenue and expenses, sorted by month; median 12 months. |
net_profit_trend_pctnumber | 56.8% | With `revenue_trend_pct`. 100% of For Sale listings, 53.6% of Sold. |
monthly_trafficobject[] | 74.9% | Page views and users per month. Traffic channels inside it on 4.8% of listings overall, 36.7% of For Sale. |
nichesstring[] | 100% | With `monetizations`, `platforms` and `primary_*` versions of each. |
sitesobject[] | 100% | Up to 26 per listing (median 1). SEMrush authority score inside it on 52.0% of listings. |
countrystring | 74.7% | Audience country. 100% of For Sale, 72.7% of Sold. |
business_registration_countrystring | 21% | 100% of For Sale, 15.0% of Sold. |
summarystring | 100% | With `opportunities`, `work_required`, `seller_support` and `reason_for_sale`, as Empire Flippers wrote them. |
risksstring | 61.9% | 97.2% of For Sale, 59.3% of Sold. |
data_providersstring[] | 26.3% | Verified data providers. 94.4% of For Sale, 21.1% of Sold. |
seller_interview_urlstring | 32.3% | A public video published by Empire Flippers. 52.2% of For Sale. |
amazon_sku_countinteger | 19.9% | With parent ASIN count and brand registry. 47.2% of For Sale; empty for non-Amazon models. |
tacos_pctnumber | 14.4% | With `cogs_pct`. 54.4% of For Sale listings. |
mrrnumber | 1% | With `churn_pct`, `ltv`, `ltv_cac_ratio`. 34.4% of the 64 SaaS listings; null for other models. |
tech_stackstring[] | 16.7% | Only with `includeTechStack`. The rate is of 30 For Sale listings sampled; 0 of 20 Sold. |
from_cacheboolean | 100% | With `fetched_at`, `data_age_hours` and `scraped_at`. |
Every key is always present. A field that exists but is empty comes back as explicit null, so a parser never has to guess.
Datasets
Different record types go to different datasets, so the main table never carries columns that are blank on most rows.
defaultOne row per business (98 fields) with `outputType: listings`, or one row per business-month (21 fields) with `outputType: monthlyMetrics`. One row type per run.billedError rowsInput errors and pages that could not be read, with the reason.never billed
Pricing
Pay per delivered result. Charges are applied as each row is produced rather than in a lump at the end, so an aborted run bills only for what it actually gave you.
| Event | Price | Notes |
|---|---|---|
apify-actor-startActor start | $0.00001 | The platform minimum, once per run. |
listingListing delivered | $0.0045 | One business for sale, pending or sold, with every financial, the 12-month P&L and traffic series, niches, sites and due-diligence text. Never charged for error rows or duplicates. |
monthly-metricMonthly metric row | $0.0005 | Only with `outputType: monthlyMetrics`: one business-month with profit, revenue, expenses, page views, users and traffic channels. |
listing-tech-stackTech stack added | $0.001 | Only with `includeTechStack` and only when the listing has a tech stack. |
Measurements
Each figure is shown with the method that produced it. A benchmark without a method is a marketing claim wearing a number's clothes.
Catalogue
2,877 listings
Full crawl on 23 September 2026: 180 For Sale, 23 Pending Sold, 2,674 Sold, in 15 pages of 200 with 0 duplicates. Every fill rate on this page is over those rows.
Fields filled per listing
median 71 of 91 data fields
Over the same 2,877 output rows: For Sale median 77 (n = 180), Sold median 70 (n = 2,674), minimum 46, maximum 83.
Multiple consistency
2,877 of 2,877
The monthly multiple equals round(price / average monthly net profit) within one on every listing, and no listing shows a negative profit.
Run time
180 rows in 23 s on Apify
Default input on build 0.1.3 at 512 MB, 23 September 2026. The whole 2,877-listing catalogue took 76 s in a local run.
Rate-limit probe
0 of 50 requests throttled
30 sequential requests and two waves of 10 concurrent ones against the origin in about a minute. Shows no limit at that pace, not that none exists.
Personal contact exposed
0 of 2,877 listings
46 emails found in free text: 45 placeholders of the form …@domain.com and 1 role mailbox. 0 phone numbers.
Tech stack found
16.7% of 30 For Sale, 0 of 20 Sold
Detail-page sample of 50 listings on 23 September 2026. A later run found it on 7 of 40 For Sale listings (17.5%).
What it will not do
Stated plainly so you can judge fit before spending anything.
- The Actor documents a Sold row's `price` as the final asking price. Treat it as an asking figure: nothing in the output is labelled as the price the business changed hands at.
- Anything Empire Flippers keeps behind Unlock and its NDA — the business URL, the detailed P&L, access to the seller — is out of reach, because reaching it requires an account and an accepted agreement.
- The monthly traffic series was filled on 74.9% of 2,877 listings and traffic channels on 4.8%; for For Sale listings both were 36.7% of 180.
- Model-specific fields are empty for other models: MRR was filled on 34.4% and churn on 40.6% of the 64 SaaS listings, and on about 1% of the catalogue. They are delivered as null, never omitted.
- The tech stack needs one extra request per listing and was found on 16.7% of 30 For Sale listings sampled and 0 of 20 Sold ones.
- No rate limit appeared at 50 requests in about a minute. That shows the limit is not reached at that pace, not that none exists.
- A keyword shaped like a URL or HTML makes the origin firewall answer with a fixed HTTP 403, so such keywords are rejected as an input error before any request is made.
Privacy
- Empire Flippers keeps sellers anonymous: none of the 145 data paths in the source identifies a seller, and 0 of 2,877 listings exposed a personal contact on 23 September 2026.
- As a safeguard, any email that looks personal and any phone number in free text is redacted unless `includePrivateSellerContact` is set to true. Business role mailboxes such as support@ are kept.
- The seller interview link, present on 32.3% of listings, is a public video Empire Flippers itself publishes.
- Removal requests: privacy@actorstack.dev
See also the data removal process.