{
  "openapi": "3.0.1",
  "info": {
    "title": "Company Finder – B2B Companies by Industry, Size & Location",
    "description": "Find companies by industry, headcount and location, or enrich a company list: every row has the website domain, industry, size band, HQ, founded year, type, description, specialties and socials, deduplicated by domain. B2B company database and list builder for outbound. Dataset-only, MCP-ready.",
    "version": "0.2",
    "x-build-id": "mHlXLPU9glvCHZ5TL"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/inovaflow~company-finder/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-inovaflow-company-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/inovaflow~company-finder/runs": {
      "post": {
        "operationId": "runs-sync-inovaflow-company-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/inovaflow~company-finder/run-sync": {
      "post": {
        "operationId": "run-sync-inovaflow-company-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": {
          "keywords": {
            "title": "Industry or niche keywords",
            "type": "array",
            "description": "What kind of companies, one per line — an industry, niche or category as you would describe it: `software companies`, `marketing agencies`, `logistics`, `dental clinics`, `fintech`, `cybersecurity consulting`. Each keyword is searched in each location.",
            "items": {
              "type": "string"
            }
          },
          "locations": {
            "title": "Locations",
            "type": "array",
            "description": "Cities, regions or countries, one per line (`Austin, TX`, `Berlin, Germany`, `London`, `Netherlands`). Leave empty for a location-free search (works for well-defined niches, e.g. `\"sales engagement platform\"`).",
            "items": {
              "type": "string"
            }
          },
          "companySizes": {
            "title": "Company size (headcount)",
            "uniqueItems": true,
            "type": "array",
            "description": "Keep only companies in these headcount bands. Empty = any size. Companies whose size is unknown are dropped when a band is set (see \"Keep unknown\" under More filters).",
            "items": {
              "type": "string",
              "enum": [
                "1-10",
                "11-50",
                "51-200",
                "201-500",
                "501-1000",
                "1001-5000",
                "5001-10000",
                "10000+"
              ],
              "enumTitles": [
                "1–10",
                "11–50",
                "51–200",
                "201–500",
                "501–1,000",
                "1,001–5,000",
                "5,001–10,000",
                "10,000+"
              ]
            },
            "default": []
          },
          "maxCompanies": {
            "title": "Max companies",
            "minimum": 1,
            "maximum": 5000,
            "type": "integer",
            "description": "Stop after this many companies have been delivered (also caps what you pay): 20 is a two-minute sample, 100 (the default when unset) a proper list.",
            "default": 100
          },
          "companies": {
            "title": "Companies to enrich (instead of searching)",
            "type": "array",
            "description": "One per line: a company name (`Gong`), a domain (`gong.io`) or a company profile URL. Also accepted as `domains`, `websites` or `urls`, or objects {name, domain, website}.",
            "items": {
              "type": "string"
            }
          },
          "foundedAfter": {
            "title": "Founded after (year)",
            "minimum": 1800,
            "maximum": 2100,
            "type": "integer",
            "description": "Keep only companies founded in or after this year (e.g. 2015 for young companies)."
          },
          "foundedBefore": {
            "title": "Founded before (year)",
            "minimum": 1800,
            "maximum": 2100,
            "type": "integer",
            "description": "Keep only companies founded in or before this year."
          },
          "companyTypes": {
            "title": "Company type",
            "uniqueItems": true,
            "type": "array",
            "description": "Keep only these ownership types.",
            "items": {
              "type": "string",
              "enum": [
                "Privately Held",
                "Public Company",
                "Nonprofit",
                "Partnership",
                "Self-Employed",
                "Sole Proprietorship",
                "Government Agency",
                "Educational"
              ],
              "enumTitles": [
                "Privately held",
                "Public company",
                "Nonprofit",
                "Partnership",
                "Self-employed",
                "Sole proprietorship",
                "Government agency",
                "Educational"
              ]
            },
            "default": []
          },
          "requireIndustryMatch": {
            "title": "Require an industry match",
            "type": "boolean",
            "description": "Keep only companies whose reported industry, category, specialties or description mentions one of your keywords. Off by default: discovery is already keyword-scoped, and this drops companies that describe themselves with other words.",
            "default": false
          },
          "requireWebsite": {
            "title": "Require a website",
            "type": "boolean",
            "description": "Drop companies with no website (a domain is the key the other steps of a prospecting pipeline chain on).",
            "default": true
          },
          "requireHqInLocation": {
            "title": "Headquarters must be in the location",
            "type": "boolean",
            "description": "Keep only companies headquartered in the searched location (city or country). Off by default: listings also return companies with an office or a landing page in the location — every row carries `hqMatchesLocation` so you can filter afterwards.",
            "default": false
          },
          "keepUnknown": {
            "title": "Keep unknown",
            "type": "boolean",
            "description": "When a size / founded / type filter is set, also keep companies for which that fact could not be determined.",
            "default": false
          },
          "fitCriteria": {
            "title": "Who are you looking for? (free AI fit score)",
            "type": "string",
            "description": "Optional, plain English, as you would brief a researcher: \"B2B SaaS vendors selling to HR teams, 50–500 staff, headquartered in the DACH region, not agencies\". Claude Sonnet 5.5 (our key, free) scores every company 0–5 against it from what the profile, listing and website show, with a one-line reason — sort by the score instead of reading every row. With or without a brief, every company also gets industryNormalized, businessModel and a one-line summary."
          },
          "useBusinessListings": {
            "title": "Business listings",
            "type": "boolean",
            "description": "Discover companies from map/business listings (name, category, website, phone, address, rating). Strong for any niche with a physical presence.",
            "default": true
          },
          "useCompanyProfiles": {
            "title": "Public company profiles",
            "type": "boolean",
            "description": "Discover companies through their public professional-network profiles (industry, headcount, headquarters, founded year). Strong for B2B / tech / remote-first companies with no storefront.",
            "default": true
          },
          "enrichWithProfile": {
            "title": "Enrich each company with its public profile",
            "type": "boolean",
            "description": "Read every company's public profile for industry, size band, headquarters, type, founded year, specialties, description and follower count. Needed for the size / founded / type filters.",
            "default": true
          },
          "enrichWithWebsite": {
            "title": "Enrich each company with its website",
            "type": "boolean",
            "description": "Read the company home page for the description, social profiles, phone and the profile link.",
            "default": true
          },
          "maxPerQuery": {
            "title": "Max companies per keyword × location × source",
            "minimum": 5,
            "maximum": 500,
            "type": "integer",
            "description": "How many candidates each keyword × location may add from each source before filtering.",
            "default": 100
          },
          "countryCode": {
            "title": "Country code",
            "type": "string",
            "description": "Two-letter country code for the listing searches (us, gb, de, …). Derived from the location when it names a country.",
            "default": "us"
          },
          "language": {
            "title": "Language",
            "type": "string",
            "description": "Two-letter language code for the listing searches.",
            "default": "en"
          },
          "maxConcurrency": {
            "title": "Parallel companies",
            "minimum": 1,
            "maximum": 20,
            "type": "integer",
            "description": "How many companies are enriched at once.",
            "default": 8
          },
          "proxyConfiguration": {
            "title": "Proxy for company profiles",
            "type": "object",
            "description": "Proxy used to read public company profiles (they rate-limit datacenter IPs — Apify residential proxy is recommended and is the default). Listing and web searches use Apify's datacenter proxy; company websites are fetched directly with an automatic proxy fallback.",
            "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
                  },
                  "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}