{
  "openapi": "3.0.1",
  "info": {
    "title": "Full ICP Search — Clay Alternative for Companies, Leads & Jobs",
    "description": "Find companies, decision makers with live emails and open jobs matching an ideal customer, candidate or investor profile. Filter by industry, size, funding, hiring, title, seniority, location, experience. Free preview counts. Clay alternative, no login. Leads from $1.50/1k.",
    "version": "0.1",
    "x-build-id": "XkkXmw4P4ndCSN0tl"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/b2bsearch~full-icp-search/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-b2bsearch-full-icp-search",
        "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~full-icp-search/runs": {
      "post": {
        "operationId": "runs-sync-b2bsearch-full-icp-search",
        "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~full-icp-search/run-sync": {
      "post": {
        "operationId": "run-sync-b2bsearch-full-icp-search",
        "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": {
          "find": {
            "title": "What to find",
            "enum": [
              "companies_and_people",
              "companies",
              "people"
            ],
            "type": "string",
            "description": "companies_and_people: companies matching the company profile, then up to peoplePerCompany people in each. companies: the companies only. people: people matching the person profile anywhere, at employers matching the company filters.",
            "default": "companies_and_people"
          },
          "previewOnly": {
            "title": "Free preview — count only",
            "type": "boolean",
            "description": "Count how many companies, people and job postings match, charge nothing and return no rows. Run it first, adjust the filters, then run again with this off.",
            "default": false
          },
          "maxCompanies": {
            "title": "Maximum companies (limited for free users)",
            "minimum": 1,
            "maximum": 5000,
            "type": "integer",
            "description": "Stop after this many companies (default 25, at most 5,000). With companies_and_people, companies where nobody matches are skipped free. Free Apify plan: up to 100 from Console, 25 via the API, and 500 rows per month per account.",
            "default": 25
          },
          "peoplePerCompany": {
            "title": "People per company",
            "minimum": 1,
            "maximum": 25,
            "type": "integer",
            "description": "How many people to return per company (default 3, at most 25); a company roster comes most senior first. With find people it also caps people per employer.",
            "default": 3
          },
          "jobsPerCompany": {
            "title": "Open jobs per company",
            "minimum": 0,
            "maximum": 10,
            "type": "integer",
            "description": "Add up to this many open job postings per company (0 = none, at most 10): the hiring filter's postings when set, else any posted in the last 90 days. Companies modes only.",
            "default": 0
          },
          "maxPeople": {
            "title": "Maximum people (limited for free users)",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "Stop after this many people across the run (at most 10,000). Default: maxCompanies × peoplePerCompany with companies_and_people, 100 with find people."
          },
          "requireEmail": {
            "title": "Only people with an email",
            "type": "boolean",
            "description": "On (default): every person has an email that reaches them today — a work address at the current company or a personal one — and is charged as a lead; people without one are skipped free. Off: everyone who matches, without contact details, at the lower person price.",
            "default": true
          },
          "emailType": {
            "title": "Email type",
            "enum": [
              "any",
              "work",
              "personal"
            ],
            "type": "string",
            "description": "Which mailbox counts when requireEmail is on. any: a work address at the current company, else a personal one. work: current-company address only (fewer people). Addresses at earlier employers never count.",
            "default": "any"
          },
          "includePhones": {
            "title": "Add mobile phone numbers",
            "type": "boolean",
            "description": "Each person's verified mobile number on record in phone, charged per person that has one (US-centric, about 1 in 4 US decision makers). Needs requireEmail on. Off: the row only says whether a number is on record (phoneOnRecord).",
            "default": false
          },
          "companyCountries": {
            "title": "Company HQ countries",
            "type": "array",
            "description": "Where the companies are headquartered: two-letter codes (us, gb, de...), up to 60. Needed next to a hiring filter that also uses other company filters.",
            "items": {
              "type": "string"
            }
          },
          "industries": {
            "title": "Industries",
            "type": "array",
            "description": "Company industry names as company pages show them, either wording (Software Development also finds Computer Software), or taxonomy ids. Up to 50. Examples: Financial Services, Venture Capital and Private Equity Principals.",
            "items": {
              "type": "string"
            }
          },
          "companySizeMin": {
            "title": "Company size — minimum employees",
            "minimum": 0,
            "type": "integer",
            "description": "Companies with at least this many employees."
          },
          "companySizeMax": {
            "title": "Company size — maximum employees",
            "minimum": 1,
            "type": "integer",
            "description": "Companies with at most this many employees."
          },
          "companyKeywords": {
            "title": "Words in the company description",
            "type": "array",
            "description": "Keep companies whose description, name or industry mentions any of these words (shopify, b2b saas, cybersecurity). Up to 10. Read on the rows: pair them with a country, industry or size, or the run reads many companies to find a few.",
            "items": {
              "type": "string"
            }
          },
          "hiringJobTitles": {
            "title": "Hiring for (job titles)",
            "type": "array",
            "description": "Keep companies that posted a job with any of these words in its title (sdr, \"data engineer\", controller). Whole words. Agencies and job boards are left out. Needs a country (companyCountries or personCountries).",
            "items": {
              "type": "string"
            }
          },
          "hiringJobKeywords": {
            "title": "Hiring — words in the job posting",
            "type": "array",
            "description": "Keep companies whose job postings mention any of these words in the posting text (snowflake, \"series b\", hubspot). Works with hiringPostedWithin week or month; add hiringJobTitles to make it fast.",
            "items": {
              "type": "string"
            }
          },
          "hiringPostedWithin": {
            "title": "Hiring — posted within",
            "enum": [
              "week",
              "month",
              "3months"
            ],
            "type": "string",
            "description": "How recent the matching job postings must be.",
            "default": "month"
          },
          "fundingStages": {
            "title": "Last funding round",
            "uniqueItems": true,
            "type": "array",
            "description": "The company's latest recorded round: seed means it has not raised past seed yet. Several stages match any of them.",
            "items": {
              "type": "string",
              "enum": [
                "pre_seed",
                "seed",
                "angel",
                "series_a",
                "series_b",
                "series_c",
                "series_d",
                "series_e",
                "series_unknown",
                "private_equity",
                "debt_financing",
                "grant",
                "convertible_note",
                "corporate_round",
                "post_ipo_equity"
              ],
              "enumTitles": [
                "Pre-seed",
                "Seed",
                "Angel",
                "Series A",
                "Series B",
                "Series C",
                "Series D",
                "Series E",
                "Venture round, series unknown",
                "Private equity",
                "Debt financing",
                "Grant",
                "Convertible note",
                "Corporate round",
                "Post-IPO equity"
              ]
            }
          },
          "fundedAfter": {
            "title": "Last round on or after (date)",
            "type": "string",
            "description": "Companies whose latest round is dated on or after this day, YYYY-MM-DD (2025-01-01): recently funded companies."
          },
          "foundedAfterYear": {
            "title": "Founded in or after (year)",
            "minimum": 1800,
            "type": "integer",
            "description": "Companies founded in or after this year (2020 for young startups)."
          },
          "foundedBeforeYear": {
            "title": "Founded in or before (year)",
            "minimum": 1800,
            "type": "integer",
            "description": "Companies founded in or before this year."
          },
          "hqCities": {
            "title": "HQ cities / regions",
            "type": "array",
            "description": "Headquarters city or region text (austin, california, greater london), 3-64 characters each, at most 10. Narrows the company countries.",
            "items": {
              "type": "string"
            }
          },
          "companyDomains": {
            "title": "Company domains (account list)",
            "type": "array",
            "description": "Only these companies, by website domain (stripe.com), up to 1,000: an account-based list. Each domain is the company page that owns it.",
            "items": {
              "type": "string"
            }
          },
          "excludeCompanyDomains": {
            "title": "Exclude company domains",
            "type": "array",
            "description": "Leave out these companies and their people, by website domain: your customers, competitors, your own company. Up to 1,000.",
            "items": {
              "type": "string"
            }
          },
          "seniority": {
            "title": "Seniority",
            "uniqueItems": true,
            "type": "array",
            "description": "Levels of the people. Left empty with no job titles, companies_and_people returns the leadership: founder, C-level, VP, director.",
            "items": {
              "type": "string",
              "enum": [
                "cxo",
                "vp",
                "director",
                "manager",
                "founder",
                "other"
              ],
              "enumTitles": [
                "C-level (CxO)",
                "VP",
                "Director",
                "Manager",
                "Founder / owner",
                "Other / individual contributor"
              ]
            }
          },
          "jobTitles": {
            "title": "Job titles",
            "type": "array",
            "description": "Words in the person's current job title: any of them matches (sales, \"head of marketing\", cto). 3-64 characters each, at most 10. Short C-level acronyms match as whole words.",
            "items": {
              "type": "string"
            }
          },
          "excludeJobTitles": {
            "title": "Exclude job titles",
            "type": "array",
            "description": "Drop people whose current title contains any of these words (assistant, intern, junior). 3-64 characters each, at most 10.",
            "items": {
              "type": "string"
            }
          },
          "keywords": {
            "title": "Keywords in the headline",
            "type": "array",
            "description": "Words in the person's profile headline — what they say they do or know (kubernetes, revops, fractional cfo, angel investor). 3-64 characters each, at most 10.",
            "items": {
              "type": "string"
            }
          },
          "personCountries": {
            "title": "Person countries",
            "type": "array",
            "description": "Where the people live: two-letter codes (us, gb, de...), up to 60. With a hiring filter, also where the jobs are.",
            "items": {
              "type": "string"
            }
          },
          "personCities": {
            "title": "Person cities / regions",
            "type": "array",
            "description": "City or region text where the people live (new york, berlin, greater london), 3-64 characters each, at most 10.",
            "items": {
              "type": "string"
            }
          },
          "pastCompanyDomains": {
            "title": "Past companies (domains)",
            "type": "array",
            "description": "People who used to work at these companies and have left, by website domain: alumni of a competitor, a former customer or a top employer. Up to 100.",
            "items": {
              "type": "string"
            }
          },
          "pastJobTitles": {
            "title": "Past job titles",
            "type": "array",
            "description": "Words in a title the person held before (founder, \"account executive\"): ex-founders, people who moved from sales to marketing. 3-64 characters each, at most 10.",
            "items": {
              "type": "string"
            }
          },
          "yearsExperienceMin": {
            "title": "Years of experience — minimum",
            "minimum": 0,
            "maximum": 60,
            "type": "integer",
            "description": "At least this many years since the first job on the profile."
          },
          "yearsExperienceMax": {
            "title": "Years of experience — maximum",
            "minimum": 0,
            "maximum": 60,
            "type": "integer",
            "description": "At most this many years since the first job on the profile."
          },
          "startedCurrentRoleAfter": {
            "title": "Started the current role after (date)",
            "type": "string",
            "description": "People who started their current job on or after this date, YYYY-MM-DD: new hires and recent job changers, the moment a new leader buys."
          },
          "languages": {
            "title": "Languages",
            "type": "array",
            "description": "Two-letter codes of languages on the profile (en, de, es...), up to 10. Any of them matches.",
            "items": {
              "type": "string"
            }
          },
          "betweenJobs": {
            "title": "Only people between jobs",
            "type": "boolean",
            "description": "Only people with no current position: candidates open to a new role. Works with find people. They are reached at a personal email, and jobTitle and companyName show their last job.",
            "default": false
          },
          "keepCompaniesWithoutPeople": {
            "title": "Keep companies with nobody matching",
            "type": "boolean",
            "description": "With companies_and_people, also deliver (and charge) companies where nobody matches the person profile. Off: those are skipped free.",
            "default": false
          },
          "excludeDatasets": {
            "title": "Skip companies and people from earlier runs",
            "type": "array",
            "description": "Pick datasets of earlier runs: every company and person in them is left out and never charged again. Rerun the same profile weekly and get only new accounts and people."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}