# Flippa Listings Extractor (`kawsar/flippa-listings-extractor`) Actor

Flippa Listings Extractor collects live Flippa marketplace listings so you can find websites, apps, and online businesses for sale, then export price, revenue, and traffic data to JSON, CSV, or Excel.

- **URL**: https://apify.com/kawsar/flippa-listings-extractor.md
- **Developed by:** [Kawsar](https://apify.com/kawsar) (community)
- **Categories:** Developer tools, Automation, E-commerce
- **Stats:** 3 total users, 2 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.99 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## Flippa Listings Extractor

Flippa Listings Extractor collects live listings from the Flippa marketplace and returns them as clean, structured data. Search for websites, YouTube channels, apps, SaaS products, domains, and social media accounts that are for sale, then export everything to JSON, CSV, or Excel.

Filter by asset type, price range, sale method, keyword, or verified revenue and traffic, or just paste a Flippa search URL and let the actor read the filters for you. Every record carries the asking price, monthly revenue and profit, traffic, seller location, a listing image, auction status, and a direct link to the listing.

### Why use this actor

Flippa is one of the largest marketplaces for buying and selling online businesses, but its listings live behind a search interface that is slow to review at scale and impossible to sort in a spreadsheet. This actor turns any Flippa search into a dataset you can filter, sort, and analyze on your own terms.

- **Find deals faster.** Pull every listing that matches your budget and niche in one run instead of clicking through pages.
- **Track the market.** Run it on a schedule to catch new listings and price drops the day they happen.
- **Compare valuations.** Line up asking price against monthly revenue and profit to spot over- and under-priced assets.
- **Build a pipeline.** Keep a living dataset of acquisition targets that refreshes automatically.
- **Power your own tools.** Feed live marketplace data into dashboards, valuation models, alerts, or research notebooks.

### How it works

You can drive the actor two ways, and you can combine them:

1. **Paste Flippa URLs.** Drop one or more listing pages, category pages, or filtered search URLs into `searchUrls`. Any filters already in the URL are read automatically. Pretty category pages such as `https://flippa.com/buy/media-communities/youtube` are mapped to the matching asset type.
2. **Describe the search.** Skip the URL and set the filter fields directly (`propertyType`, `priceMin`, `keyword`, and so on).

The actor pages through the entire result set, removes duplicate listings, and stops once it reaches your `maxItems` limit. Each listing becomes one row in the dataset.

### Input parameters

| Field | Type | Default | Description |
|-------|------|---------|-------------|
| `searchUrls` | array of strings | – | Flippa listing pages, category pages, or filtered search URLs. Filters in the URL are read automatically. Leave empty to build the search from the fields below. |
| `propertyType` | string | – | Asset type. Examples: `youtube`, `website`, `app`, `ios_app`, `android_app`, `domain`, `saas`, `ecommerce`, `instagram`, `tiktok`, `newsletter`. |
| `saleMethod` | string | `any` | Restrict to `auction` or `classified` listings. |
| `keyword` | string | – | Match against listing titles and descriptions. |
| `priceMin` | integer | – | Only listings priced at or above this amount (USD). |
| `priceMax` | integer | – | Only listings priced at or below this amount (USD). |
| `verifiedRevenueOnly` | boolean | `false` | Only listings with revenue verified by the marketplace. |
| `verifiedTrafficOnly` | boolean | `false` | Only listings with traffic verified by the marketplace. |
| `sortBy` | string | `default` | Sort order: most relevant, price high to low, price low to high, newest, or oldest. |
| `maxItems` | integer | `50` | Maximum number of listings to collect per run (max 5000). |
| `requestTimeoutSecs` | integer | `45` | Per-request timeout in seconds. |

#### Example: scrape a category with a price band

```json
{
    "searchUrls": ["https://flippa.com/buy/media-communities/youtube"],
    "priceMin": 1000,
    "priceMax": 50000,
    "verifiedRevenueOnly": true,
    "maxItems": 200
}
```

#### Example: build the search from filters

```json
{
    "propertyType": "website",
    "saleMethod": "classified",
    "keyword": "fitness",
    "sortBy": "-price",
    "maxItems": 100
}
```

### Output

Each listing is saved as one record. Example:

```json
{
    "listingId": "13821130",
    "listingType": "youtube",
    "listingTitle": "Established faceless YouTube channel in the tech niche",
    "summary": "Established faceless YouTube channel earning from AdSense and affiliates.",
    "url": "https://flippa.com/13821130-established-faceless-youtube-channel",
    "status": "open",
    "saleMethod": "auction",
    "currentPrice": 60001,
    "displayPrice": 97000,
    "buyItNowPrice": null,
    "bidCount": 0,
    "reserveMet": false,
    "postAuctionNegotiable": false,
    "hasVerifiedRevenue": false,
    "hasVerifiedTraffic": false,
    "revenuePerMonth": 3718,
    "profitPerMonth": 2778,
    "averageRevenue": 3718,
    "averageProfit": 2778,
    "revenueSources": [],
    "businessModel": null,
    "industry": "electronics",
    "pageViewsPerMonth": null,
    "uniquesPerMonth": null,
    "appDownloadsPerMonth": null,
    "propertyName": "YouTube Channel | Electronics",
    "hostname": "HOSTNAME HIDDEN",
    "sellerLocation": "Romania",
    "superSeller": false,
    "confidential": true,
    "turnkeyListing": false,
    "watching": 0,
    "establishedAt": "2025-03-01T11:00:00+11:00",
    "startsAt": "2026-08-26T21:09:02+10:00",
    "endsAt": "2026-09-25T21:09:02+10:00",
    "thumbnailUrl": "https://static2.flippa.com/thumbnail2x_example.png",
    "sellerId": "385107",
    "scrapedAt": "2026-08-26T12:00:00+00:00"
}
```

#### Field reference

| Field | Meaning |
|-------|---------|
| `listingId` | Flippa listing ID. |
| `listingType` | Asset type, for example `youtube`, `website`, `ios_app`. |
| `listingTitle` | Full listing title. |
| `summary` | Short seller-written summary. |
| `url` | Direct link to the listing page. |
| `status` | Listing status, for example `open`. |
| `saleMethod` | `auction` or `classified`. |
| `currentPrice` | Current price or top bid (USD). |
| `displayPrice` | Price shown on the listing card (USD). |
| `buyItNowPrice` | Buy It Now price when offered (USD). |
| `bidCount` | Number of bids on an auction. |
| `reserveMet` | Whether the auction reserve has been met. |
| `postAuctionNegotiable` | Whether the seller will negotiate after auction. |
| `hasVerifiedRevenue` | Revenue verified by the marketplace. |
| `hasVerifiedTraffic` | Traffic verified by the marketplace. |
| `revenuePerMonth` | Reported monthly revenue (USD). |
| `profitPerMonth` | Reported monthly profit (USD). |
| `averageRevenue` | Average monthly revenue (USD). |
| `averageProfit` | Average monthly profit (USD). |
| `revenueSources` | List of monetization sources. |
| `businessModel` | Business model label when the seller sets one. |
| `industry` | Industry or niche. |
| `pageViewsPerMonth` | Monthly page views. |
| `uniquesPerMonth` | Monthly unique visitors. |
| `appDownloadsPerMonth` | Monthly app downloads. |
| `propertyName` | Display name of the asset. |
| `hostname` | Asset hostname, or `HOSTNAME HIDDEN` on confidential sales. |
| `sellerLocation` | Seller country. |
| `superSeller` | Whether the seller holds Super Seller status. |
| `confidential` | Whether details are hidden until an NDA is signed. |
| `turnkeyListing` | Whether Flippa markets the asset as turnkey. |
| `watching` | Number of users watching the listing. |
| `establishedAt` | When the asset was established. |
| `startsAt` | Auction start time. |
| `endsAt` | Auction end time. |
| `thumbnailUrl` | Listing image URL. |
| `sellerId` | Flippa seller ID. |
| `scrapedAt` | UTC timestamp of when the record was collected. |

### Why some fields are null

The actor returns exactly what Flippa publishes for each listing. A field is `null` when the marketplace does not provide a value for it, which is normal and expected in these cases:

- **`appDownloadsPerMonth`** is filled only for mobile app listings (`ios_app`, `android_app`). Websites, YouTube channels, SaaS, and ecommerce assets have no download metric, so this field is `null` for them.
- **`businessModel`** is a field Flippa exposes but rarely fills in. Most listings leave it blank, so it usually comes back `null`.
- **`pageViewsPerMonth`, `uniquesPerMonth`, `hostname`** are often hidden on confidential listings until a buyer signs an NDA, so they can be `null` or masked (`HOSTNAME HIDDEN`).
- **`buyItNowPrice`** is `null` on pure auction listings with no Buy It Now option.

If you only want listings that report a specific metric, filter the dataset after the run, or use `verifiedRevenueOnly` and `verifiedTrafficOnly` to narrow the search up front.

### Export and integrate

Results are stored in an Apify dataset. You can:

- Download as JSON, CSV, Excel, or HTML from the run's Storage tab.
- Pull records through the Apify API or client libraries.
- Trigger the actor on a schedule and connect it to webhooks, Google Sheets, or your own pipeline.

### Tips

- Start with a small `maxItems` while you dial in filters, then raise it once the results look right.
- To monitor a niche over time, save an input with your filters and run it on a daily or weekly schedule.
- Combine a category URL in `searchUrls` with `priceMin` and `priceMax` to focus on a specific budget within that category.

### Frequently asked questions

**Can I scrape more than one category at once?**
Yes. Add several URLs to `searchUrls`, or run separate searches. Duplicate listings across searches are removed automatically.

**How current is the data?**
Every run pulls live listings at that moment, so schedule it as often as you need fresh results.

**Does it return sold or closed listings?**
It returns whatever matches your search on Flippa, which is primarily active listings. Use `status` in the output to filter further.

**Why do I get fewer results than the category shows?**
Collection stops at your `maxItems` limit. Increase it to pull the full set.

# Actor input Schema

## `searchUrls` (type: `array`):

Paste one or more Flippa listing pages, category pages, or filtered search URLs. The actor reads any filters in the URL and returns every matching listing. Leave empty to build a search from the filter fields below.

## `propertyType` (type: `string`):

Filter listings by asset type, for example youtube, website, app, ios\_app, android\_app, domain, saas, ecommerce, instagram, tiktok, or newsletter.

## `saleMethod` (type: `string`):

Limit results to auction or classified listings.

## `keyword` (type: `string`):

Optional keyword to match against listing titles and descriptions.

## `priceMin` (type: `integer`):

Only return listings priced at or above this amount.

## `priceMax` (type: `integer`):

Only return listings priced at or below this amount.

## `verifiedRevenueOnly` (type: `boolean`):

Return only listings with revenue verified by the marketplace.

## `verifiedTrafficOnly` (type: `boolean`):

Return only listings with traffic verified by the marketplace.

## `sortBy` (type: `string`):

Order in which listings are collected.

## `maxItems` (type: `integer`):

Maximum number of listings to collect per run.

## `requestTimeoutSecs` (type: `integer`):

Per-request timeout in seconds.

## Actor input object example

```json
{
  "searchUrls": [
    "https://flippa.com/buy/media-communities/youtube"
  ],
  "propertyType": "youtube",
  "saleMethod": "any",
  "keyword": "fitness",
  "priceMin": 1000,
  "priceMax": 50000,
  "verifiedRevenueOnly": false,
  "verifiedTrafficOnly": false,
  "sortBy": "default",
  "maxItems": 50,
  "requestTimeoutSecs": 45
}
```

# Actor output Schema

## `properties` (type: `string`):

Extract live Flippa marketplace listings with price, revenue, traffic, and seller data, then export to JSON, CSV, or Excel.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "searchUrls": [
        "https://flippa.com/buy/media-communities/youtube"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("kawsar/flippa-listings-extractor").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "searchUrls": ["https://flippa.com/buy/media-communities/youtube"] }

# Run the Actor and wait for it to finish
run = client.actor("kawsar/flippa-listings-extractor").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "searchUrls": [
    "https://flippa.com/buy/media-communities/youtube"
  ]
}' |
apify call kawsar/flippa-listings-extractor --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,kawsar/flippa-listings-extractor"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/GIoFqTo9edza8UWw4/builds/6IkZdnEAWfFiJeFwS/openapi.json
