Flippa Scraper icon

Flippa Scraper

From $0.80/1K. Scrape Flippa listings with full enrichment, including revenue, profit, valuation multiples, traffic, business age, location,…

Start using this actor on Apify ↗Need a custom scraper?Contact us ↗

Flippa Scraper at a glance

Flippa Scraper is a ready-to-run Apify actor from abotapi for collecting ecommerce data. Its documented output includes id, url, title, property and category, which you can export as JSON, CSV or Excel or read through the Apify API. It costs $1.70 per 1,000 results on the Apify Free plan and from $0.80 on paid plans, with smaller per-run or optional feature charges listed on Apify.

Runs on
Apify cloud: console, API, schedules and integrations
Data type
Ecommerce, Lead Generation, Developer Tools
Pricing
$1.70 per 1,000 results (Free plan), from $0.80 on paid plans
Output
Documented below · JSON, CSV, Excel
Inputs
44 options

From $0.80/1K. Scrape Flippa listings with full enrichment, including revenue, profit, valuation multiples, traffic, business age, location, monetization, badges and more. Search with filters or URLs, with concurrent enrichment for fast, low-resource runs.

What Flippa Scraper can do

  • 80+ curated fields, plus the full payload. Asking price, monthly/annual profit and revenue, profit and revenue multiples, traffic (uniques, page views), site age, seller location, monetization and sale method, with the complete search-card and detail payloads preserved under raw and apiRaw so nothing the marketplace shows is left behind.
  • Two ways to find listings. Filter by 25+ dimensions, from asset type and sale method to price/profit/revenue ranges, verified status, seller location and domain extension, or paste any flippa.com search-result or listing URL straight from your browser.
  • Auctions and classifieds together. Track Buy It Now, reserve-met, price-dropped and First Access auctions alongside fixed Asking Price listings, open or recently sold.
  • Trust signals on every search record. Verified revenue, verified traffic, manual vetting, Super Seller, Editor's Choice, broker and sponsored tags come through without extra clicks.
  • Resilient to interruption. An aborted run keeps every record already collected, and an automatic same-run checkpoint survives a platform restart or migration without duplicate rows or double charges.
  • Built for monitoring. Incremental mode returns only new, updated and reappeared listings on a recurring run, and expired ones once a run proves it covered the whole tracked search, or resume one specific interrupted crawl with a run id.

Choose what to collect

These inputs let you configure Flippa Scraper - Businesses, Revenue, Profit & Multiples. Open the actor on Apify to enter your values and review the current options.

Supported input fields
InputWhat it controls
modestring · requiredPick how to find listings. Search builds URLs from filters. URL mode pastes ready-made flippa.com URLs.

Choices: search, url

statusarrayOpen auctions/classifieds, recently sold, or both.
propertyTypesarrayAsset types. Leave empty to include all. Pick any of: website, fba, saas, ecommerce_store, plugin_and_extension, ai_apps_and_tools, youtube, ios_app, android_app, game, crypto_app, social_media, newsletter, service_and_agency, service, projects_and_concepts, domain, other.
siteTypesarrayGranular site type within an asset type. Examples: BrowserExtension, ShopifyPlugin, WordpressPlugin, AiAppsAndTools, Newsletter, SocialMedia, Youtube, CryptoApp, MarketingAgency, SoftwareDevelopmentAgency, ContentAndMediaProject, MobileAppProject, SaasAndSoftwareProject, OtherProject. Leave empty for any.
saleMethodsarrayAuction or Classified (asking price). Leave empty for both.
sortBystringSort order for results.

Choices: most_relevant, most_recent, ending_soonest, most_active, lowest_price, highest_price, most_profitable

minPriceintegerMinimum asking price. Leave empty for no minimum.
Show 37 more inputs
More input fields
InputWhat it controls
maxPriceintegerMaximum asking price. Leave empty for no maximum.
minMonthlyProfitintegerMinimum monthly net profit. Leave empty for no minimum.
maxMonthlyProfitintegerMaximum monthly net profit. Leave empty for no maximum.
minMonthlyRevenueintegerMinimum monthly revenue. Leave empty for no minimum.
maxMonthlyRevenueintegerMaximum monthly revenue. Leave empty for no maximum.
minUniquesPerMonthintegerMinimum monthly unique visitors. Leave empty for no minimum.
maxUniquesPerMonthintegerMaximum monthly unique visitors. Leave empty for no maximum.
minAgeMonthsintegerMinimum age in months. Leave empty for no minimum.
maxAgeMonthsintegerMaximum age in months. Leave empty for no maximum.
tldsarrayLimit to specific domain extensions. Examples: com, org, net, io, co, ai, app. Leave empty for any.
sellerLocationstringISO 2-letter country code (e.g. us, gb, au) or region code (afr, nam, sam, asi, eeu, weu, oce). Leave empty for any.
verifiedRevenueOnlybooleanOnly listings with Flippa-verified revenue.
verifiedTrafficOnlybooleanOnly listings with Flippa-verified traffic.
manuallyVettedOnlybooleanOnly listings the Flippa team or broker has manually vetted.
editorsChoiceOnlybooleanOnly Editor's Choice listings.
superSellerOnlybooleanOnly listings from Super Sellers.
brokerSellerOnlybooleanOnly brokered listings.
sponsoredOnlybooleanOnly sponsored (premium) listings.
buyItNowOnlybooleanAuctions with Buy It Now option.
reserveMetOnlybooleanAuctions where the reserve has been met.
priceDroppedOnlybooleanListings whose price has been reduced.
managedByFlippaOnlybooleanOnly listings managed by the Flippa team.
earlyAccessOnlybooleanOnly First-Access listings.
revenueGeneratingstringFilter by whether the listing is currently revenue generating.

Choices: any, yes, no

urlsarrayPaste any flippa.com URLs to scrape directly: search results (filtered, sorted, sold/won and localized /es/search), category and collection pages (/buy/saas, /buy/categories/), property-type landing pages (/websites) and listing pages (https://flippa.com/12345 or https://flippa.com/12345-some-slug, www or http hosts accepted). Every filter[...] and sort parameter in the URL is kept. Flippa ignores a free-text query= parameter on its search page and returns the unfiltered listing for it, and it only redirects some legacy /buy/sitetype/ links (for example /buy/sitetype/saas); for any other /buy/sitetype/ it also returns the unfiltered listing, so use /buy/ or filter parameters instead. Pagination starts at the page in the URL (page[number]=N or the site's own page=N&pagination=true) and walks forward. Unsupported URLs are logged with a warning and skipped.
fetchDetailsbooleanWhen ON, also fetches the per-listing /v3/listings/{id} record. Adds external_url, hostname, business_model, industry, revenue_per_month, profit_per_month, app_downloads_per_month, revenue_sources, and seller_location. Costs one extra HTTP call per listing.
maxListingsintegerHard cap on listings pushed to the dataset. This is the actor's sole finite default limit. 0 means unlimited (bounded only by Max Pages and Flippa's own ~10,000-listing / 400-page ceiling).
maxPagesintegerMaximum pages to walk per search URL. Leave at 0 to walk the whole result set for that search: the run still stops at Flippa's own real ~10,000-listing / 400-page ceiling, at the result total the server reports for a narrower search, or on an empty/all-duplicate page, never an artificial cap. Set a positive number to limit pages explicitly.
resumeFromRunIdstringOptional. ID of a previous run of this actor (or a dataset ID). Listings already in that dataset are skipped, so this run returns only NEW listings (a delta). Combine both runs' datasets for the full set. Cannot be combined with Incremental mode unless this is the very first incremental run for the chosen state key (see below), otherwise turn Incremental mode on for later scheduled runs instead.
incrementalModebooleanFor scheduled/repeated runs of the SAME search or URLs. The actor remembers what it saw last time and marks each listing NEW, UPDATED, UNCHANGED, REAPPEARED, or EXPIRED. A listing counts as UPDATED when any output field changed (price, bid count, end time, status, financials, badges and so on), compared field by field against the saved copy. Excluded from the comparison, because they change with the viewer or the clock rather than the listing: the watching/watched and early-access viewer flags and the early-access days-remaining and percentage counters (also inside the raw and apiRaw copies), plus anything you list in Ignore fields below. Unlike Resume above (which continues one specific interrupted run from a pasted id), this remembers state itself between runs, no id to paste. Off by default so a normal run's output is unchanged.
stateKeystringOptional name for this monitoring campaign, used with Incremental mode above. Leave empty to key the saved state automatically off the search filters (or URLs) and Fetch Detail Data setting, so two different searches never share a baseline. Set an explicit name to track the same campaign even if you later tweak filters, or to run several separate campaigns against the same filters.
emitUnchangedbooleanWhen Incremental mode is on, UNCHANGED listings are normally skipped so you only see what's new or different. Turn this on to also return them, tagged changeType: UNCHANGED. These rows are returned AND billed like any other row. Off by default.
emitExpiredbooleanWhen Incremental mode is on and this run scans the full tracked search to its natural end, listings previously seen but no longer found are returned as tombstone rows tagged changeType: EXPIRED. These rows are returned AND billed like any other row. Skipped whenever this run does not prove a complete scan (e.g. Resume is set, Max Listings capped the run, or pagination stopped early), the previous state for those listings is kept as-is. Off by default.
ignoreFieldsForChangesarrayOptional. Top-level output field names to leave out when deciding whether a listing is UPDATED, in addition to the built-in handling (viewer watch and early-access flags and counters never trigger UPDATED). Use this if a field in your setup turns out to be noisy, for example bidCount or endAt if you only care about price changes. Changing this list does not reset your saved state.
mcpConnectorsarrayOptionally send the scraped results into the apps you already use, via Model Context Protocol (MCP) connectors. Authorize a connector once under Apify → Settings → Integrations, then select it here. The connector receives a condensed, human-readable summary per item (title + key fields), not the full JSON, the complete record stays in the dataset. Leave empty to skip. Supported: Notion (https://mcp.notion.com/mcp), Linear (https://mcp.linear.app/sse), Airtable (https://mcp.airtable.com/mcp), Apify (https://mcp.apify.com).
notionParentPageUrlstringURL (or id) of the Notion page under which item pages are created. Required to enable the Notion export; ignored by other connectors.
maxNotifyListingsintegerCap on items written to each connector per run. Does not affect the dataset.

Fields in the output

The documented dataset includes the fields below. Availability can depend on the source page and selected mode.

idID (text)
urlURL (link)
titleTitle (text)
propertyNameProperty (text)
categoryCategory (text)
propertyTypeType (text)
siteTypeSite Type (text)
monetizationMonetization (text)
saleMethodSale Method (text)
statusStatus (text)
pricePrice (number)
originalPriceOriginal Price (number)
Show 49 more fields
priceDroppedPrice Dropped (boolean)
currencyCurrency (text)
monthlyRevenueRevenue p/mo (number)
monthlyProfitProfit p/mo (number)
annualRevenueRevenue p/yr (number)
annualProfitProfit p/yr (number)
profitMultipleProfit Multiple (number)
revenueMultipleRevenue Multiple (number)
uniquesPerMonthUniques p/mo (number)
pageViewsPerMonthPage Views p/mo (number)
siteAgeSite Age (text)
ageInYearsAge (yrs) (text)
businessLocationLocation (text)
countryNameCountry (text)
formattedAgeInYearsAge (text) (text)
listingUrlListing URL (link)
isVerifiedRevenueVerified Revenue (boolean)
isVerifiedTrafficVerified Traffic (boolean)
isManuallyVettedVetted (boolean)
isEditorsChoiceEditor's Choice (boolean)
isSuperSellerSuper Seller (boolean)
isSponsoredSponsored (boolean)
thumbnailUrlThumbnail (link)
changeTypeChange Type (text)
changedFieldsChanged Fields (array)
firstSeenAtFirst Seen At (date)
lastSeenAtLast Seen At (date)
externalUrlWebsite (link)
hostnameHostname (text)
industryIndustry (text)
businessModelBusiness Model (text)
revenueSourcesRevenue Sources (array)
appDownloadsPerMonthApp Downloads / Month (number)
sellerLocationSeller Location (text)
establishedAtEstablished At (date)
startsAtStarts At (date)
endsAtEnds At (date)
buyItNowPriceBuy It Now Price (number)
currentPriceCurrent Price (number)
reserveMetReserve Met (boolean)
postAuctionNegotiablePost-Auction Negotiable (boolean)
turnkeyListingTurnkey (boolean)
bidCountBids (number)
timeLeftTime left (text)
isBrokerSellerBroker seller (boolean)
saleMethodTitleSale Method Title (text)
summarySummary (text)
descriptionDescription (text)
badgesBadges (array)

Example output

An example from this actor’s documentation. Values are illustrative; this is not a fresh live result.

{
  "id": "10000001",
  "url": "https://flippa.com/10000001-sample-listing",
  "title": "Established SaaS tool with recurring subscribers",
  "summary": "Brief seller pitch text shown on the search card.",
  "propertyName": "sample-saas-app.test",
  "propertyType": "saas",
  "siteType": "AiAppsAndTools",
  "category": "Internet",
  "monetization": "Subscription",
  "primaryPlatform": null,
  "saleMethod": "classified",
  "saleMethodTitle": "Asking Price",
  "status": "open",
  "endAt": null,
  "price": 42000,
  "originalPrice": 48000,
  "priceText": "USD $42,000",
  "priceDropped": true,
  "priceDroppedPercent": 12.5,
  "currency": "USD",
  "monthlyProfit": 2100,
  "monthlyRevenue": 3400,
  "annualProfit": 25200,
  "annualRevenue": 40800,
  "profitMultiple": 3.1,
  "revenueMultiple": 1.9,
  "uniquesPerMonth": 12400,
  "pageViewsPerMonth": 45000,
  "authorityScore": 28,
  "siteAge": "4 years",
  "ageInYears": "4 years",
  "ageInMonths": 4,
  "businessLocation": "ON, Canada",
  "isVerifiedRevenue": true,
  "isVerifiedTraffic": false,
  "isManuallyVetted": false,
  "isEditorsChoice": false,
  "isSuperSeller": true,
  "isBrokerSeller": false,
  "isSponsored": false,
  "bidCount": null,
  "timeLeft": null,
  "thumbnailUrl": "https://static.flippa.com/assets/sample-placeholder.svg",
  "keyData": [
    {
      "label": "Type",
      "value": "SaaS"
    },
    {
      "label": "Site Age",
      "value": "4 years"
    }
  ],
  "badges": [],
  "allVerifications": [],
  "verifications": [],
  "countryName": "Canada",
  "formattedAgeInYears": "4 years",
  "listingUrl": "https://flippa.com/10000001-sample-listing",
  "propertyTypeLabel": "SaaS",
  "listedBy": "Marketplace · Listed by Owner",
  "brokerName": null,
  "brokerAvatarUrl": null,
  "priceDetails": "Asking Price",
  "integrations": [
    "stripe"
  ],
  "raw": {
    "/* full search-card object */": "..."
  }
}

Ways to use this data

  • Buyers and brokers: screen new listings against your own thresholds (multiples, verified revenue, minimum traffic) as soon as they list.
  • Market and pricing research: build a historical dataset of asking prices, multiples and time-on-market across asset types to spot trends.
  • Deal-flow monitoring: track a saved search on a schedule and get only what changed, so a pipeline stays current without re-reading the whole marketplace.
  • Due diligence: pull the detail record for a shortlist of listing URLs into your own workflow or spreadsheet before making an offer.

Before you run

Start with a small input and check the resulting records against your expected fields. Source content and actor options can change; the current Apify listing is the reference for availability and pricing.

Questions about this actor

What data does Flippa Scraper return?

The documented output for Flippa Scraper includes id, url, title, property, category, type, site type and monetization. Availability of each field depends on the source page and the selected mode.

How much does Flippa Scraper cost?

It costs $1.70 per 1,000 results on the Apify Free plan and from $0.80 on paid plans, with smaller per-run or optional feature charges listed on Apify. The Apify listing shows the current rate for every plan.

Can I monitor a search over time and only get new or changed listings?

Yes. Schedule the actor from the Schedules tab and turn on Incremental mode. Each run then returns only new, updated and reappeared listings, and unchanged ones are not billed. Turn on emitExpired if you also want listings that disappeared from the tracked search returned as tombstone rows, once a run proves it scanned the whole search.

Why are some fields null on a listing I scraped?

Two separate reasons. First, flippa.com's anonymous per-listing detail feed is not currently answering, so a handful of detail-only fields (externalUrl, hostname, businessModel, industry, revenueSources, appDownloadsPerMonth) come back empty everywhere until that changes. Second, if you pasted one listing's URL directly rather than finding it through a search, several search-card-only fields (status, verification and badge flags, bidCount, uniquesPerMonth) are not available on that page and also come back null; see "What a pasted single-listing URL returns" above.

Can I use it with AI agents or MCP?

Yes. Call it from any Apify integration or MCP client, and use the connector field to push results into Notion, Linear or Airtable.

Ready to collect with Flippa Scraper?

Run it on Apify with your own input and export the results as JSON, CSV or Excel.