# Flippa Scraper (`shahidirfan/flippa-scraper`) Actor

Extract live Flippa data: website listings, valuations, seller profiles, and marketplace analytics. Monitor domain sales, digital asset pricing, and competitive opportunities. Perfect for investors tracking online business acquisitions and market benchmarks.

- **URL**: https://apify.com/shahidirfan/flippa-scraper.md
- **Developed by:** [Shahid Irfan](https://apify.com/shahidirfan) (community)
- **Categories:** Developer tools, E-commerce, Lead generation
- **Stats:** 14 total users, 3 monthly users, 100.0% runs succeeded, 2 bookmarks
- **User rating**: 5.00 out of 5 stars

## Pricing

from $0.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.

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

### What does Flippa Scraper do?

Flippa Scraper collects structured data from public Flippa marketplace search pages. Use Flippa category, search, app, domain, SaaS, web app, or monetization URLs to build datasets of online businesses and digital assets for sale.

The Actor returns one flat record per listing, including the title, listing URL, property type, category, monetization model, asking price, revenue and profit signals, traffic metrics, verification markers, integrations, and source page. It is designed for investors, brokers, acquisition teams, market researchers, and anyone comparing online business opportunities.

### Why use Flippa Scraper?

- **Deal sourcing** - Find websites, ecommerce businesses, SaaS projects, apps, and domains that match a target category or keyword.
- **Acquisition research** - Compare asking prices, revenue, monthly profit, monetization models, platform integrations, and listing status.
- **Market monitoring** - Schedule repeat runs to track new listings, price changes, verification markers, and changes in marketplace supply.
- **Keyword targeting** - Apply a keyword such as `shopify`, `productivity`, or another niche term across the supplied Flippa URLs.
- **Flat dataset output** - Receive clean key-value records with arrays converted into comma-separated text and empty values removed.
- **Workflow-ready exports** - Download results as JSON, CSV, Excel, or XML, or connect the dataset to spreadsheets, webhooks, and other tools on Apify.

### What data can you extract from Flippa?

Each dataset item represents a unique Flippa listing. Fields are included when Flippa publishes a usable value for the listing.

| Field                    | Type    | Description                                                          |
| ------------------------ | ------- | -------------------------------------------------------------------- |
| `listing_id`             | String  | Flippa listing identifier.                                           |
| `listing_url`            | String  | Direct URL to the listing.                                           |
| `title`                  | String  | Listing headline.                                                    |
| `summary`                | String  | Listing summary when available.                                      |
| `property_type`          | String  | Asset type, such as website, app, or business.                       |
| `category`               | String  | Flippa category.                                                     |
| `monetization`           | String  | Monetization model, such as advertising, ecommerce, or subscription. |
| `sale_method`            | String  | Sale method, such as auction or classified.                          |
| `status`                 | String  | Listing status.                                                      |
| `country`                | String  | Country associated with the listing.                                 |
| `primary_platform`       | String  | Main platform associated with the asset.                             |
| `price`                  | Number  | Parsed numeric asking price.                                         |
| `price_text`             | String  | Displayed price text.                                                |
| `currency`               | String  | Published currency label when available.                             |
| `monthly_profit`         | Number  | Parsed average monthly profit.                                       |
| `monthly_profit_text`    | String  | Original monthly profit text.                                        |
| `monthly_revenue`        | Number  | Parsed average monthly revenue.                                      |
| `ttm_revenue`            | Number  | Trailing twelve-month revenue when published.                        |
| `bid_count`              | Number  | Number of bids when available.                                       |
| `revenue_multiple`       | Number  | Revenue multiple when published.                                     |
| `profit_multiple`        | Number  | Profit multiple when published.                                      |
| `established_years`      | Number  | Published age or establishment value when available.                 |
| `age_text`               | String  | Displayed age text.                                                  |
| `monthly_uniques`        | Number  | Monthly unique visitors when published.                              |
| `annual_organic_traffic` | Number  | Annual organic traffic when published.                               |
| `authority_score`        | Number  | Published authority score when available.                            |
| `has_verified_traffic`   | Boolean | Whether verified traffic is indicated.                               |
| `has_verified_revenue`   | Boolean | Whether verified revenue is indicated.                               |
| `manually_vetted`        | Boolean | Whether the listing is marked as manually vetted.                    |
| `sponsored`              | Boolean | Whether the listing is marked as sponsored.                          |
| `editors_choice`         | Boolean | Whether the listing has an Editor's Choice marker.                   |
| `broker_seller`          | Boolean | Whether a broker seller marker is present.                           |
| `super_seller`           | Boolean | Whether a Super Seller marker is present.                            |
| `confidential`           | Boolean | Whether the listing is marked confidential.                          |
| `open_to_offer`          | Boolean | Whether offers are accepted.                                         |
| `under_offer`            | Boolean | Whether the listing is under offer.                                  |
| `price_dropped`          | Boolean | Whether a price drop is indicated.                                   |
| `price_dropped_percent`  | Number  | Published price-drop percentage.                                     |
| `integrations`           | String  | Comma-separated integrations or providers.                           |
| `verification_providers` | String  | Comma-separated verification providers.                              |
| `badge_labels`           | String  | Comma-separated listing badges.                                      |
| `badge_count`            | Number  | Number of listing badges.                                            |
| `listing_group`          | String  | Result group, normally `results` or `early_access_listings`.         |
| `source_page`            | Number  | Flippa result page that produced the record.                         |
| `source_url`             | String  | Supplied Flippa URL associated with the record.                      |
| `search_keyword`         | String  | Keyword used for the run when provided.                              |

### How to use Flippa Scraper

1. Open Flippa Scraper in Apify Console.
2. Add one or more public Flippa URLs to `startUrls`.
3. Optionally enter a keyword to focus the collection.
4. Set `results_wanted` and `max_pages` for the size of the run.
5. Run the Actor and review the dataset preview.
6. Download the results or connect them to your acquisition workflow.

Use the supplied URL as the starting point for the search. The Actor uses the URL path and query settings to preserve category and search targeting, while `keyword` adds an optional keyword filter.

### Input Parameters

| Parameter            | Type    | Required | Default / prefill                            | Description                                                                                                                    |
| -------------------- | ------- | -------- | -------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------ |
| `startUrls`          | Array   | No       | Prefilled with `https://flippa.com/websites` | One or more Flippa URL objects. Supported targets include websites, apps, domains, search pages, and `buy/...` category pages. |
| `keyword`            | String  | No       | Prefilled with `shopify`                     | Optional keyword filter applied to the Flippa search.                                                                          |
| `results_wanted`     | Integer | No       | `20`                                         | Maximum number of unique listings to save across the run.                                                                      |
| `max_pages`          | Integer | No       | `20`                                         | Maximum number of result pages processed for each supplied URL.                                                                |
| `proxyConfiguration` | Object  | No       | `{ "useApifyProxy": false }`                 | Optional Apify Proxy configuration for the run.                                                                                |

`startUrls` uses the following format:

```json
[{ "url": "https://flippa.com/websites" }]
```

### Output Data

The dataset contains flat JSON records. Values that are null, empty, or not finite numbers are omitted. Lists such as integrations, verification providers, and badges are represented as comma-separated strings so the output is easy to filter and export.

### Usage Examples

#### Basic website listing collection

Collect up to 30 website listings from the main Flippa websites page:

```json
{
    "startUrls": [{ "url": "https://flippa.com/websites" }],
    "results_wanted": 30
}
```

#### Domain listings with page control

Collect domain opportunities and process no more than three pages for the URL:

```json
{
    "startUrls": [{ "url": "https://flippa.com/domains" }],
    "results_wanted": 30,
    "max_pages": 3
}
```

#### Multiple category URLs

Combine SaaS and Adsense category pages in one run and save up to 50 unique listings:

```json
{
    "startUrls": [
        { "url": "https://flippa.com/buy/sitetype/saas" },
        { "url": "https://flippa.com/buy/monetization/adsense" }
    ],
    "results_wanted": 50,
    "max_pages": 2
}
```

#### Keyword-focused app research

Use a keyword to narrow app listings to a specific product or market area:

```json
{
    "startUrls": [{ "url": "https://flippa.com/apps" }],
    "keyword": "productivity",
    "results_wanted": 40
}
```

### Sample Output

The following example shows one flattened dataset item:

```json
{
    "listing_id": "12267830",
    "listing_url": "https://flippa.com/12267830",
    "title": "7 years old SEO-driven Shopify baby float niche site...",
    "property_type": "Ecommerce",
    "category": "Hobbies and Games",
    "monetization": "Dropshipping",
    "sale_method": "classified",
    "status": "open",
    "country": "France",
    "price": 118000,
    "price_text": "USD $118,000",
    "monthly_profit": 3956,
    "monthly_revenue": 8270,
    "integrations": "google_analytics, shopify",
    "verification_providers": "verified-listing, google_analytics, shopify",
    "badge_labels": "Managed by Flippa, Sponsored, Editor's Choice",
    "listing_group": "results",
    "source_page": 1,
    "source_url": "https://flippa.com/websites"
}
```

### Tips for Best Results

- **Use public Flippa URLs** - Start with a complete category or search URL so the collection is focused on the market you want to study.
- **Test with a small limit** - Begin with `results_wanted` between `20` and `50` to review field coverage before larger runs.
- **Set both limits together** - Increase `max_pages` when you increase `results_wanted`, especially for broad categories.
- **Use specific keywords** - Niche terms such as `shopify`, `saas`, or `productivity` usually produce more focused results than broad terms.
- **Check optional fields** - Revenue, profit, traffic, verification, and seller markers depend on what each listing publishes.
- **Use source fields for audits** - Keep `source_url` and `source_page` when comparing runs or tracing a listing back to the search that produced it.
- **Schedule repeat runs** - Recurring runs can help track new listings, price changes, and changes in available inventory.

### Integrations and Export Formats

- **Google Sheets** - Review, score, and sort acquisition opportunities.
- **Airtable** - Build a searchable deal pipeline.
- **Make or Zapier** - Send new run results into no-code workflows.
- **Webhooks** - Trigger notifications or downstream processing after a run.
- **Apify API** - Retrieve dataset records from your own applications and analysis tools.
- **JSON, CSV, Excel, and XML** - Download results in common formats for research and reporting.

### Frequently Asked Questions

#### Can I collect apps, domains, SaaS, and websites?

Yes. Add the relevant public Flippa category or search URL to `startUrls`.

#### Can I submit multiple Flippa URLs in one run?

Yes. Add multiple URL objects to `startUrls`. The Actor removes duplicate listings and applies the global `results_wanted` limit across the run.

#### Does the keyword filter work with every URL?

Yes. When `keyword` is provided, it is applied to the Flippa search configuration for each supplied URL.

#### Are the results flattened?

Yes. Each dataset item is a flat record. Integration names, verification providers, and badge labels are stored as comma-separated text instead of nested arrays.

#### Why are some fields missing?

Some listings do not publish revenue, profit, traffic, verification, or seller information. The Actor omits null and empty values rather than inserting placeholders.

#### Can I export Flippa data to CSV or Excel?

Yes. Apify datasets can be downloaded as CSV, Excel, JSON, XML, and other supported formats.

#### Can I schedule Flippa monitoring runs?

Yes. Create an Apify schedule to repeat a category or search run hourly, daily, weekly, or at another interval.

#### Is it legal to scrape Flippa?

Collecting public web data may be legal in some situations, but you are responsible for following Flippa's terms, applicable laws, privacy requirements, and any restrictions that apply to your intended use.

### Related Actors

- [BizBuySell Scraper](https://apify.com/shahidirfan/bizbuysell-scraper) - Collect business-for-sale listings, prices, financial signals, broker details, and locations from BizBuySell.
- [BusinessesForSale Scraper](https://apify.com/shahidirfan/businessesforsale-scraper) - Research business listings with asking prices, revenue, cash flow, locations, and broker information from BusinessesForSale.com.
- [BizQuest Scraper](https://apify.com/shahidirfan/bizquest-scraper) - Gather business-for-sale listings, valuation fields, broker details, and locations from BizQuest.

### Support

For missing fields, feature requests, or target-page changes, use the Issues tab on the Actor page in Apify Console. Include the input URL, run ID, and an example of the missing or unexpected data when possible.

### Legal Notice

This Actor is intended for legitimate collection and analysis of publicly available Flippa listing data. Users are responsible for using the output responsibly and complying with Flippa's terms, applicable laws, privacy obligations, and data usage requirements.

# Actor input Schema

## `startUrls` (type: `array`):

One or more Flippa URLs (websites, apps, domains, search links, or buy/category links).

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

Optional keyword filter sent as query\[keyword].

## `results_wanted` (type: `integer`):

Maximum number of listings to save.

## `max_pages` (type: `integer`):

Safety cap on paginated pages for each start URL.

## `proxyConfiguration` (type: `object`):

Apify Proxy configuration.

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://flippa.com/websites"
    }
  ],
  "keyword": "shopify",
  "results_wanted": 20,
  "max_pages": 3,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

## `overview` (type: `string`):

No description

# 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 = {
    "startUrls": [
        {
            "url": "https://flippa.com/websites"
        }
    ],
    "keyword": "shopify",
    "results_wanted": 20,
    "max_pages": 3
};

// Run the Actor and wait for it to finish
const run = await client.actor("shahidirfan/flippa-scraper").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 = {
    "startUrls": [{ "url": "https://flippa.com/websites" }],
    "keyword": "shopify",
    "results_wanted": 20,
    "max_pages": 3,
}

# Run the Actor and wait for it to finish
run = client.actor("shahidirfan/flippa-scraper").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 '{
  "startUrls": [
    {
      "url": "https://flippa.com/websites"
    }
  ],
  "keyword": "shopify",
  "results_wanted": 20,
  "max_pages": 3
}' |
apify call shahidirfan/flippa-scraper --silent --output-dataset

```

## MCP server setup

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

```

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/4PMmww3bs9XQBFbQO/builds/pyGsVFeHhVWYQxxls/openapi.json
