{
  "openapi": "3.0.1",
  "info": {
    "title": "FLIPPA.com | Only $1💰 | Search by Url | Detail Pages | Scraper",
    "description": "💰$1 per 1,000 results, scrape Flippa search & listings. Extract Revenue, Profit, Multiples, Traffic (Views/Uniques) & Seller Verification. Supports SaaS, Apps & Domains.",
    "version": "0.0",
    "x-build-id": "bvO2ZeehybT58gXMc"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/memo23~flippa-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-memo23-flippa-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/memo23~flippa-scraper/runs": {
      "post": {
        "operationId": "runs-sync-memo23-flippa-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/memo23~flippa-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-memo23-flippa-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "required": [
          "startUrls"
        ],
        "properties": {
          "startUrls": {
            "title": "Start URLs",
            "type": "array",
            "description": "URLs to start with.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "extractMonthlyBreakdown": {
            "title": "Extract Monthly P&L Breakdown (logged-in only)",
            "type": "boolean",
            "description": "<p>Adds per-month <strong>Revenue / Expenses / Profit</strong> arrays from each listing's detail page (the data behind Flippa's \"View monthly breakdown\" link). Output fields: <code>monthly_revenue_breakdown</code>, <code>monthly_expenses_breakdown</code>, <code>monthly_profit_breakdown</code>, <code>monthly_breakdown_currency</code>, <code>monthly_breakdown_source</code>.</p><p><strong>Requires logged-in cookies</strong> (see <em>Cookies</em> field below). The run will stop with a clear error if the toggle is on but cookies are missing or expired.</p>",
            "default": false
          },
          "extractMonthlyTraffic": {
            "title": "Extract Monthly Traffic Breakdown (logged-in only)",
            "type": "boolean",
            "description": "<p>Adds the per-month traffic series (uniques and pageviews) from <code>#traffic-summary-graph</code>. Output field: <code>monthly_traffic_breakdown</code>.</p><p><strong>Requires logged-in cookies.</strong> Only available on listings whose seller has connected verified analytics — for those without it, the field will be <code>null</code>.</p>",
            "default": false
          },
          "extractPrimaryExpenses": {
            "title": "Extract Primary Expenses (logged-in only)",
            "type": "boolean",
            "description": "<p>Adds the seller-declared \"Primary expenses\" breakdown (Marketing, Subscriptions, Hosting, Salaries, etc.) with currency, amount, and period. Output field: <code>primary_expenses</code> — array of <code>{label, currency, amount, period, raw}</code>.</p><p><strong>Requires logged-in cookies</strong> (the entire <code>#expenses-view</code> block is hidden behind the signup wall).</p>",
            "default": false
          },
          "cookies": {
            "title": "Flippa session cookies (required by every toggle above)",
            "type": "array",
            "description": "<p>Paste your Flippa session cookies here to unlock the logged-in-only toggles above. Leave empty if you only enabled the public toggles.</p><p><strong>How to capture them:</strong></p><ol><li>Install the <a rel='noopener noreferrer nofollow' target='_blank' href='https://chrome.google.com/webstore/detail/editthiscookie/fngmhnnpilhplaeedifhccceomclgfbg'>EditThisCookie</a> Chrome extension.</li><li>Log in to <a rel='noopener noreferrer nofollow' target='_blank' href='https://flippa.com/login'>flippa.com</a>.</li><li>Open EditThisCookie on <code>flippa.com</code>, click the <em>Export</em> icon, and paste the whole JSON array below (clear this field first; paste the entire array including the surrounding <code>[ ]</code>).</li></ol><p><strong>Required cookies</strong> (proof of authenticated session): at least one of <code>utok</code>, <code>registered_user</code>, <code>sanitytoken</code>. Flippa sets all three together at login, so a fresh export from a logged-in browser will include them.</p><p><strong>Recommended cookies</strong>: <code>session</code>, <code>SID</code> (server session payloads), plus the <code>csrf_token_*</code> cookie. Tracking cookies (<code>_ga</code>, <code>flaid</code>, <code>__cf_bm</code>, etc.) can be left in or out — they don't affect the result.</p><p>Sessions typically last 14–30 days. The actor will print a loud banner if it detects the session is no longer logged in (signup wall still showing).</p>"
          },
          "detailRequestDelayMinSec": {
            "title": "Min delay before each detail page (sec)",
            "type": "integer",
            "description": "Default <code>4</code> — lower bound (seconds) of a random wait <strong>between</strong> detail fetches, <strong>only when</strong> you provided Flippa session cookies that look like a <strong>logged-in</strong> user (same <code>utok</code> / <code>registered_user</code> / <code>sanitytoken</code> check as the toggles above). Without a logged-in session, this is ignored. When active, wait time is uniform between min and max <em>after</em> the first detail fetch; detail fetches are <strong>serialized</strong> (one at a time). Set <strong>both</strong> min and max to <code>0</code> to turn off spacing entirely.",
            "default": 4
          },
          "detailRequestDelayMaxSec": {
            "title": "Max delay before each detail page (sec)",
            "type": "integer",
            "description": "Default <code>8</code> — upper bound (seconds) of the same random wait; <strong>only applied with valid logged-in session cookies</strong> (see min). Must be <code>&ge;</code> min. Set <strong>both</strong> min and max to <code>0</code> to disable.",
            "default": 8
          },
          "extractSellerProfile": {
            "title": "Extract Seller Profile (public)",
            "type": "boolean",
            "description": "<p>Adds the \"About the seller\" block: display name, Flippa user_id, profile URL, avatar URL, account-verified flag (blue check), location, and a short bio preview. Output field: <code>seller_profile</code>.</p><p>Publicly visible — does <strong>not</strong> require cookies.</p>",
            "default": false
          },
          "extractVerificationBadges": {
            "title": "Extract Verification Badges (public)",
            "type": "boolean",
            "description": "<p>Adds the \"Verification Complete\" block: email/phone/government-ID booleans, the raw badge labels, and the transaction-history line (e.g. \"26 transactions totalling USD $574,513\"). Output field: <code>seller_verification</code>.</p><p>Publicly visible — does <strong>not</strong> require cookies.</p>",
            "default": false
          },
          "extractPaymentMethods": {
            "title": "Extract Payment Methods (public)",
            "type": "boolean",
            "description": "<p>Adds the list of accepted payment methods on the listing (Escrow.com, FlippaPay, etc.). Output field: <code>payment_methods</code>.</p><p>Publicly visible — does <strong>not</strong> require cookies.</p>",
            "default": false
          },
          "maxItems": {
            "title": "Results Limit",
            "type": "integer",
            "description": "Maximum number of listings to scrape per run. Set to 0 for unlimited.",
            "default": 10000
          },
          "maxConcurrency": {
            "title": "Max Concurrency",
            "type": "integer",
            "description": "Max parallel listing-detail fetches (capped internally for stability). If Flippa returns HTML instead of JSON or blocks often, lower this (e.g. 10–25) and keep residential proxies enabled.",
            "default": 10
          },
          "minConcurrency": {
            "title": "Min Concurrency",
            "type": "integer",
            "description": "Minimum number of pages that will be processed at the same time.",
            "default": 1
          },
          "maxRequestRetries": {
            "title": "Max Request Retries",
            "type": "integer",
            "description": "Number of times the crawler will retry a failed request before giving up.",
            "default": 100
          },
          "proxy": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Specifies proxy servers that will be used by the scraper in order to hide its origin.<br><br>For details, see <a href='https://apify.com/apify/web-scraper#proxy-configuration' target='_blank' rel='noopener'>Proxy configuration</a> in README.",
            "default": {
              "useApifyProxy": true,
              "apifyProxyGroups": [
                "RESIDENTIAL"
              ]
            }
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}