# 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, 1 monthly users, 100.0% runs succeeded, 1 bookmarks
- **User rating**: 5.00 out of 5 stars

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

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

## 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 Scraper

Extract clean, flat listing data from Flippa using category URLs such as websites, apps, domains, SaaS, web apps, and Adsense-focused pages. Build acquisition pipelines, monitor niches, and export structured records without nested arrays or object blobs.

### Features

- **Multi-type URL support** — Works with Flippa `websites`, `apps`, `domains`, `search`, and `buy/...` category URLs.
- **Flat dataset output** — Returns clean key-value records (no nested arrays/objects in output fields).
- **Keyword filtering** — Add optional keyword targeting with `query[keyword]`.
- **Pagination control** — Scrapes multiple pages per URL with configurable limits.
- **Null/empty cleanup** — Removes null and empty values from each output item.

### Use Cases

#### Deal Sourcing

Track new listings for websites, SaaS projects, apps, and domains in one dataset.

#### Niche Monitoring

Monitor categories like Adsense, SaaS, ecommerce, and web apps over time.

#### Market Benchmarking

Compare pricing, monetization, and verification status across listing types.

***

### Input Parameters

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| `startUrls` | Array | No | `[{ "url": "https://flippa.com/websites" }]` | One or more Flippa URLs (websites/apps/domains/search/buy links). |
| `keyword` | String | No | `"shopify"` | Optional keyword filter. |
| `results_wanted` | Integer | No | `20` | Maximum listings to save. |
| `max_pages` | Integer | No | `20` | Maximum pages per start URL. |
| `proxyConfiguration` | Object | No | `{ "useApifyProxy": false }` | Proxy configuration. |

***

### Output Data

Flat output fields include:

| Field | Type | Description |
|-------|------|-------------|
| `listing_id` | String | Listing ID. |
| `listing_url` | String | Listing URL. |
| `title` | String | Listing title. |
| `property_type` | String | Property type. |
| `category` | String | Category name. |
| `monetization` | String | Monetization model. |
| `sale_method` | String | Sale method. |
| `status` | String | Listing status. |
| `country` | String | Country. |
| `price` | Number | Numeric price. |
| `price_text` | String | Formatted price. |
| `monthly_profit` | Number | Parsed monthly profit. |
| `monthly_revenue` | Number | Parsed monthly revenue. |
| `integrations` | String | Comma-separated integrations/providers. |
| `verification_providers` | String | Comma-separated verification providers. |
| `badge_labels` | String | Comma-separated badge labels. |
| `listing_group` | String | `results` or `early_access_listings`. |
| `source_page` | Number | Page number. |
| `source_url` | String | URL that produced the item. |

***

### Usage Examples

#### Websites

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

#### Domains

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

#### SaaS / Adsense / Category Links

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

#### Web Apps + Keyword

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

***

### Sample Output

```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 Native Flippa Category URLs

- Use direct Flippa category links for best targeting.
- Examples: `websites`, `apps`, `domains`, `buy/sitetype/saas`, `buy/monetization/adsense`.

#### Keep Runs Efficient

- Start with `20-50` results for validation.
- Increase `max_pages` only when needed.

#### Scheduling

- Run on a schedule to monitor newly listed deals and pricing changes.

***

### Integrations

- **Google Sheets** — Track and score opportunities.
- **Airtable** — Build searchable acquisition pipelines.
- **Make / Zapier** — Trigger automations.
- **Webhooks** — Push data to internal systems.

#### Export Formats

- **JSON**
- **CSV**
- **Excel**
- **XML**

***

### Frequently Asked Questions

#### Can this scrape domains, apps, and SaaS too?

Yes. Provide relevant Flippa URLs in `startUrls`.

#### Is output flattened?

Yes. The dataset is flat and cleaned for analysis workflows.

#### Are null values included?

No. Null and empty values are removed before saving records.

#### Can I pass multiple URLs in one run?

Yes. Add multiple entries in `startUrls`.

***

### Legal Notice

Use this actor responsibly and comply with Flippa terms and applicable laws in your jurisdiction.

# 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("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).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": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=shahidirfan/flippa-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/4PMmww3bs9XQBFbQO/builds/cD1eWlYtOSDNcvCpO/openapi.json
