{
  "openapi": "3.0.1",
  "info": {
    "title": "B2B Leads Finder & Scraper — Emails, Phones, Apollo Alternative",
    "description": "B2B leads finder and scraper, an Apollo alternative: every lead has a live email (work at the current company or personal), the LinkedIn profile URL, X, GitHub and Facebook links on record and a verified mobile number on request. Filter by title, seniority, country, industry, size. No login.",
    "version": "0.1",
    "x-build-id": "OgqOcVQhtbzg9895S"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/b2bsearch~b2b-leads-finder/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-b2bsearch-b2b-leads-finder",
        "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/b2bsearch~b2b-leads-finder/runs": {
      "post": {
        "operationId": "runs-sync-b2bsearch-b2b-leads-finder",
        "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/b2bsearch~b2b-leads-finder/run-sync": {
      "post": {
        "operationId": "run-sync-b2bsearch-b2b-leads-finder",
        "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",
        "properties": {
          "apolloUrl": {
            "title": "Apollo search URL (optional)",
            "type": "string",
            "description": "Built the search in Apollo? Paste the people-search URL from the browser bar (https://app.apollo.io/#/people?...). Titles, seniority, locations, company size, industries, keywords and domains are read from it. The exclude fields join it; leave the other filters at their example values. No Apollo account or credits needed."
          },
          "jobTitles": {
            "title": "Job titles",
            "type": "array",
            "description": "Match any of these words in the current job title (vp sales, founder, \"head of marketing\"...). Each 3-64 characters, at most 10. Add seniority to catch every spelling of a level.",
            "items": {
              "type": "string"
            }
          },
          "countries": {
            "title": "Countries",
            "type": "array",
            "description": "Where the leads live: two-letter codes (us, gb, de...), up to 60. Combine with country groups. Leave empty to search every country.",
            "items": {
              "type": "string"
            }
          },
          "maxResults": {
            "title": "Maximum leads (limited for free users)",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "Stop after this many leads (default 100, maximum 10,000). You pay from $1.50 per 1,000 leads delivered ($3 on the Free plan), each with an email — people without one are skipped free. Free Apify plan: up to 100 from Console, 25 via the API, and 500 rows per month per account.",
            "default": 100
          },
          "emailType": {
            "title": "Email",
            "enum": [
              "any",
              "work",
              "personal"
            ],
            "type": "string",
            "description": "Which mailbox every lead must have. any: a work address at the current employer, else a personal one. work: current-employer address only (fewer leads). Addresses at earlier employers never count.",
            "default": "any"
          },
          "includePhones": {
            "title": "Add mobile phone numbers",
            "type": "boolean",
            "description": "Each lead's verified mobile number on record in phone (US-centric, about 1 in 4 US decision makers). Free until its price starts in mid-November 2026, then $4 per 1,000 leads that come back with one ($5 on the Free plan, $3 on Business). Off: the row only says whether a number is on record (phoneOnRecord).",
            "default": false
          },
          "seniority": {
            "title": "Seniority",
            "uniqueItems": true,
            "type": "array",
            "description": "Keep only people whose current role falls in these seniority buckets. Buckets are assigned from the job title, so they work across title spellings ('CTO', 'Chief Technology Officer', 'Head of Technology' all land in cxo). At most 6.",
            "items": {
              "type": "string",
              "enum": [
                "cxo",
                "vp",
                "director",
                "manager",
                "founder",
                "other"
              ],
              "enumTitles": [
                "C-level (CxO)",
                "VP",
                "Director",
                "Manager",
                "Founder",
                "Other / individual contributor"
              ]
            }
          },
          "companySizeMin": {
            "title": "Company size — minimum employees",
            "minimum": 0,
            "type": "integer",
            "description": "Keep only leads at companies with at least this many employees."
          },
          "companySizeMax": {
            "title": "Company size — maximum employees",
            "minimum": 1,
            "type": "integer",
            "description": "Keep only leads at companies with at most this many employees."
          },
          "industries": {
            "title": "Company industries",
            "type": "array",
            "description": "Industry of the current company: names in either wording, any case (Software Development also finds Computer Software). Up to 20. Examples: Financial Services, Hospitals and Health Care.",
            "items": {
              "type": "string"
            }
          },
          "keywords": {
            "title": "Keywords",
            "type": "array",
            "description": "Match any of these words in the profile headline — what people say they do (\"revops\", \"fractional cfo\", \"shopify\"). Each 3-64 characters, at most 10. Keywords are a second text search on top of the job titles: a run with them takes about twice as long. Put the role in jobTitles and use keywords only for what a title cannot say.",
            "items": {
              "type": "string"
            }
          },
          "companyDomains": {
            "title": "Companies (website domains)",
            "type": "array",
            "description": "Account-based lists: only people currently at these companies, by website domain (stripe.com). Brand domains resolve to the real company. At most 1,000.",
            "items": {
              "type": "string"
            }
          },
          "cities": {
            "title": "Cities / regions",
            "type": "array",
            "description": "Narrow inside the chosen countries by city or region text (san francisco, greater london). 3-64 characters each, at most 10.",
            "items": {
              "type": "string"
            }
          },
          "countryGroups": {
            "title": "Country groups",
            "uniqueItems": true,
            "type": "array",
            "description": "Whole regions at once, added to the countries above: eu, eea, dach, nordics, baltics, benelux, cee, cis, post_soviet, mena, gcc, latam.",
            "items": {
              "type": "string",
              "enum": [
                "eu",
                "eea",
                "dach",
                "nordics",
                "baltics",
                "benelux",
                "cee",
                "cis",
                "post_soviet",
                "mena",
                "gcc",
                "latam"
              ],
              "enumTitles": [
                "European Union (27)",
                "EEA (30)",
                "DACH: Germany, Austria, Switzerland",
                "Nordics",
                "Baltics",
                "Benelux",
                "Central & Eastern Europe",
                "CIS",
                "Post-Soviet",
                "Middle East & North Africa",
                "Gulf (GCC)",
                "Latin America"
              ]
            }
          },
          "titleMatch": {
            "title": "Job title matching",
            "enum": [
              "substring",
              "word"
            ],
            "type": "string",
            "description": "How job title keywords match. Leave empty: a list with a short title (4 letters or fewer: cto, cro, vp, ceo) matches whole words, otherwise the letters match anywhere. substring: \"cto\" also hits \"director\"; word: whole words only."
          },
          "maxPerCompany": {
            "title": "Leads per company (at most) (limited for free users)",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "Deliver at most this many leads per company across the whole run. The rest are skipped free and counted in one note row."
          },
          "excludeDatasets": {
            "title": "Skip people from earlier runs",
            "type": "array",
            "description": "Pick datasets of earlier runs of this Actor: everyone in them is left out and never charged again. Rerun the same search weekly and get only new leads."
          },
          "updatedAfter": {
            "title": "Records refreshed after (date)",
            "type": "string",
            "description": "Only leads whose record was refreshed on or after this date, YYYY-MM or YYYY-MM-DD — the stamp behind every row's _freshness. Narrows an Apollo URL too."
          },
          "excludeJobTitles": {
            "title": "Exclude job titles",
            "type": "array",
            "description": "Drop people whose current title contains any of these words (example: junior, assistant, intern). 3-64 characters each, at most 10.",
            "items": {
              "type": "string"
            }
          },
          "excludeCompanyDomains": {
            "title": "Exclude companies",
            "type": "array",
            "description": "Drop people currently at these companies, by website domain — your customers, competitors, your own company. At most 1,000.",
            "items": {
              "type": "string"
            }
          },
          "excludeCountries": {
            "title": "Exclude countries",
            "type": "array",
            "description": "Two-letter codes to drop, for example a group minus one country (eu without de).",
            "items": {
              "type": "string"
            }
          },
          "companyHqCountries": {
            "title": "Company HQ countries",
            "type": "array",
            "description": "Keep leads whose company is headquartered in these countries, wherever the lead lives — for example people in Poland working for US companies.",
            "items": {
              "type": "string"
            }
          },
          "pastCompanyDomains": {
            "title": "Past companies (website domains)",
            "type": "array",
            "description": "People who USED to work at these companies, by website domain — alumni of a competitor or of a former customer. At most 100.",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}