Flippa Business Listings Scraper
Pricing
Pay per event
Flippa Business Listings Scraper
Search Flippa's business-and-website marketplace by category and get structured rows for every matching listing — price, profit, revenue multiple, sale method, status, and buy link. No page-scraping guesswork, just clean deal-economics JSON.
Pricing
Pay per event
Rating
0.0
(0)
Developer
DevilScrapes
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
🎯 What this scrapes
Flippa is the biggest marketplace for buying and selling online businesses, websites, and apps, and its own search filters are the only way to browse it at scale. This Actor drives those filters for you — pick 1-15 curated categories (Business, Internet, Ecommerce-heavy verticals, and more), a sale method (classified asking-price or live auction), and a page depth, and get back structured rows for every matching listing: asking/current price, average monthly profit, revenue and profit multiples, category, and the buy link. Built on curl-cffi with rotating browser impersonation and a US-pinned datacenter proxy so a run finishes clean even when Flippa's own front end changes shape underneath it.
🔥 What we handle for you
- 🛡️ Browser fingerprint rotation —
curl-cffiimpersonates real Chrome / Firefox TLS handshakes on every fetch, good hygiene on any target. - 🔁 Retries with exponential backoff on
408 / 429 / 503and network errors — up to 5 attempts per page,Retry-Afterhonoured. - 🧩 Per-listing and per-page fault isolation — one malformed listing or an unparseable page skips just that item/fetch with a logged warning; it never sinks the whole run.
- 🧊 Clean, typed dataset rows — Pydantic-validated, ISO-8601 timestamps, stable listing IDs, JSON / CSV / Excel export straight from the Apify Console.
- 💰 Pay-Per-Event pricing — you only pay for results that hit your dataset. A search that runs and matches nothing still succeeds — no data, no charge beyond the warm-up fee.
💡 Use cases
- Deal sourcing — feed acquisition criteria (category, sale method) and get every matching listing's deal economics in one export.
- Market research — track median multiples and asking prices across categories over time.
- Auction monitoring — watch bid_count and end_at across live auction listings to catch closing deals.
- Lead generation for brokers/advisors — surface sellers in a category who might want a valuation or brokerage service.
- Portfolio benchmarking — compare your own site's profit multiple against comparable live Flippa listings.
⚙️ How to use it
- Click Try for free at the top of the page.
- Fill in the input form — most fields have sensible defaults.
- Click Start. Output streams into the run's dataset.
- Export from Storage → Dataset as JSON, CSV, or Excel — or fetch via the API.
📥 Input
| Field | Type | Required | Default | Notes |
|---|---|---|---|---|
categories | array | no | ['Business', 'Internet'] | 0-15 Flippa top-level categories to search. Each category is a separate fetch (more categories means more distinct… |
saleMethod | string | no | 'both' | Filter by how the listing is sold: classified (fixed/negotiable asking price) or auction (live bidding). Choose both to… |
status | string | no | 'open' | Listing status filter. Flippa's search filter currently only returns real matches for 'open' (live, unsold) listings —… |
maxPagesPerQuery | integer | no | 2 | Pages to fetch per category/sale-method combination. Flippa returns 25 listings per page, server-paginated via ?page=N. |
proxyConfiguration | object | no | {'useApifyProxy': True, 'apifyProxyGroups': ['BUYPROXIES94952']} | Apify Proxy spec — mandatory field. flippa.com/search showed no anti-bot challenge in recon (200 on first request,… |
Example input
{"categories": ["Business","Internet"],"saleMethod": "both","status": "open","maxPagesPerQuery": 1,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["BUYPROXIES94952"]}}
📤 Output
Every row is one dataset item.
| Field | Type | Notes |
|---|---|---|
search_category | ['string', 'null'] | The category this row's fetch was filtered to, or null for an unfiltered search. |
search_sale_method | string | The sale_method filter value used for this row's fetch (classified, auction, or both). |
listing_id | integer | Flippa's internal numeric listing ID. |
listing_url | string | Canonical listing page URL (https://flippa.com/ |
title | string | Listing headline. |
summary | string | Listing summary/description text. |
price | number | Asking price (classified) or current bid (auction) in the listing's currency. |
price_text | string | Human-formatted price string as Flippa displays it (e.g. 'USD $2,273,879'). |
currency_label | ['string', 'null'] | Currency symbol/label prefix (e.g. 'USD $'). |
original_price | ['number', 'null'] | Pre-drop list price when the listing has had a price reduction. |
profit_average | ['number', 'null'] | Average monthly net profit, parsed from Flippa's comma-formatted string. |
revenue_average | ['number', 'null'] | Average monthly revenue. |
multiple | ['number', 'null'] | Asking-price-to-profit multiple. |
revenue_multiple | ['number', 'null'] | Asking-price-to-revenue multiple. |
category | ['string', 'null'] | Flippa's display category (e.g. 'Business'). |
property_type | ['string', 'null'] | Listing property type (e.g. 'Ecommerce', 'SaaS', 'Digital Agency'). |
monetization | ['string', 'null'] | How the business makes money (e.g. 'Services & Subscriptions'). |
sale_method | string | 'classified' (asking price) or 'auction' (live bidding). |
sale_method_title | ['string', 'null'] | Human label for the sale method (e.g. 'Asking Price'). |
status | string | Listing status (e.g. 'open'). |
bid_count | ['integer', 'null'] | Number of bids placed, for auction listings. |
established_at | ['integer', 'null'] | Site/business age in years. |
end_at | ['string', 'null'] | ISO-8601 listing close time. |
country_name | ['string', 'null'] | Seller's reported state/country. |
confidential | boolean | True when the listing hides its identity/URL until an NDA/verification step. |
verified_traffic | boolean | True when Flippa has verified the traffic figures. |
verified_revenue | boolean | True when Flippa has verified the revenue figures. |
scraped_at | string | ISO-8601 UTC timestamp when this row's page was fetched. |
Example output
{"search_category": "Business","search_sale_method": "both","listing_id": 13846152,"listing_url": "https://flippa.com/13846152","title": "Automated AI CEO running a profitable agency with recurring clients","summary": "Automated AI CEO running a profitable agency with recurring clients, proven lead generation systems, a trained team, and scalable fulfillment operations","price": 2273879.0,"price_text": "USD $2,273,879","currency_label": "USD $","original_price": null,"profit_average": 106764.0,"revenue_average": 214170.0,"multiple": 1.8,"revenue_multiple": 0.9,"category": "Business","property_type": "Digital Agency","monetization": "Services & Subscriptions","sale_method": "classified","sale_method_title": "Asking Price","status": "open","bid_count": null,"established_at": 3,"end_at": "2028-03-10T02:14:48+11:00","country_name": "NV, United States","confidential": false,"verified_traffic": false,"verified_revenue": false,"scraped_at": "2026-09-16T12:00:00.000Z"}
💰 Pricing
Pay-Per-Event — you pay only when these events fire:
| Event | USD | What it is |
|---|---|---|
actor-start | $0.2 | One-off warm-up charge per run |
result-row | $0.006 | Per unique dataset item |
Example: 1 000 results at the rates above ≈ $6.20. No subscription, no minimum, no card to start — Apify gives every new account $5 of free credit.
🚧 Limitations
v0.1 filters by Flippa's 15 top-level categories, sale method, and status=open only — narrower facets (price range, monthly profit range, verified-traffic-only, TLD, country) aren't exposed yet. Flippa's own search filter didn't return real data for any status besides 'open' in recon testing. Confidential listings show only the fields Flippa itself exposes pre-NDA (no seller identity or direct URL beyond the search-result page).
❓ FAQ
Do I need a Flippa account?
No. This Actor scrapes Flippa's public /search results page — no login required.
What does maxPagesPerQuery control?
Flippa serves 25 listings per page via ?page=N. This caps how many pages are fetched per category/sale-method combination; higher values mean more listings and more result-row charges.
Why is status fixed to 'open'?
Flippa's own search filter only returned real matches for status=open in testing; other status values returned an empty result set (a Flippa quirk, not an Actor limitation).
Do I need a residential proxy?
No. Recon found no anti-bot challenge on flippa.com/search — the default US-pinned datacenter proxy is sufficient.
What happens if a category matches nothing?
The run succeeds with zero rows for that category and reports what was searched — a real zero-match result is not treated as a failure.
💬 Your feedback
Spotted a bug, hit a weird edge case, or need a new field? Open an issue on the Actor's Issues tab on Apify Console — we ship fixes weekly and we read every report.