{
  "openapi": "3.0.1",
  "info": {
    "title": "Company Enrichment by Domain or Name (Company 360)",
    "description": "Enrich company domains or names into one row each: firmographics, traffic, tech stack, hiring, reviews, ads, SEC numbers, LEI, sanctions flag and decision-makers with work emails. Every field shows its source and confidence. Monitor mode reports weekly changes. Not-found rows are free.",
    "version": "0.1",
    "x-build-id": "kQPbEckNUJzybkkDH"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/locaihost~company-enrichment/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-locaihost-company-enrichment",
        "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/locaihost~company-enrichment/runs": {
      "post": {
        "operationId": "runs-sync-locaihost-company-enrichment",
        "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/locaihost~company-enrichment/run-sync": {
      "post": {
        "operationId": "run-sync-locaihost-company-enrichment",
        "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": {
          "companies": {
            "title": "Companies",
            "type": "array",
            "description": "A website domain (\"stripe.com\"), a website address, or a company name (\"Monzo\"). A name is matched to its website first, and only a website whose own homepage names the company is used. For several companies with the same name, add the country as an object: {\"name\": \"Sage\", \"country\": \"GB\"}, or give the domain too: {\"domain\": \"sage.com\", \"name\": \"Sage\"}."
          },
          "companiesFile": {
            "title": "Or a CSV file / Google Sheet",
            "type": "string",
            "description": "A public CSV link, a Google Sheet shared as \"anyone with the link\", or the key of a CSV in this run's key-value store. Columns are found by their header: domain (or website, url), company (or name) and country. Its companies are added to the list above."
          },
          "depth": {
            "title": "Depth",
            "enum": [
              "basic",
              "full"
            ],
            "type": "string",
            "description": "Basic reads the sources a plain web request can reach (about 10 seconds a company). Full adds website traffic estimates, the LinkedIn company page (employee band, industry), Google Maps (rating, locations), Meta and LinkedIn ad counts and the competitors section (up to 30 seconds a company). Basic rows cost $6 per 1,000; a row is charged the full price ($25 per 1,000) only when a full-depth source returned data. G2 and Capterra are not read in this version.",
            "default": "full"
          },
          "sources": {
            "title": "Only these sources",
            "type": "array",
            "description": "Leave empty for all. Basic: site, dns, jobs, visa, trustpilot, sitejabber, googleAds, youtube, instagram, apps, sec, formD, registry, graph (official national registries), ukContracts. Full depth: traffic, linkedin, metaAds, linkedinAds, maps. Section keys (see Sections) work here too. Sources another one needs are added automatically (jobs needs site).",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "sections": {
            "title": "Only these sections",
            "type": "array",
            "description": "Leave empty for all. Sections: tech (technologies with versions), pricing, certifications (as the company lists them), customers (named logos), integrations, content (blog cadence), productUpdates (changelog cadence), siteHtml (page snapshot for monitor mode), openSource (GitHub organisation), usFederal (US federal contract awards), news (90 days of headlines), family (parent and subsidiaries), revenueBand (stated, or a labelled estimate), hiringIntel (posting velocity, seniority, new locations), competitors (full depth), socialActivity (posting cadence and engagement), emailInfo (email format, mail domains and provider), people (decision-makers; also see includePeople). Fewer sections make each company faster.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "includeReviewInsights": {
            "title": "Review insights (add-on)",
            "type": "boolean",
            "description": "Top complaint and praise phrases, the rating trend over 4 quarters and the reply rate, from up to 100 recent Trustpilot and Sitejabber reviews. Counts and phrases only, never review text or reviewer names. Charged as an extra event per company that has them.",
            "default": false
          },
          "includePeople": {
            "title": "Decision-makers (people)",
            "type": "boolean",
            "description": "Adds up to maxPeoplePerCompany decision-makers per company: name, job title, seniority and department, from the company's own team and leadership pages and, for US-listed companies, the officers named in its SEC filings. Each gets the work email the company publishes for them, or one built from the format its own published addresses follow (marked pattern-unverified), a work phone only when the company prints it for that person, and a LinkedIn link only when the company's page gives it. Never personal emails, mobile numbers, home addresses or personal social profiles. Charged per person with a work email.",
            "default": true
          },
          "maxPeoplePerCompany": {
            "title": "People per company",
            "minimum": 1,
            "maximum": 25,
            "type": "integer",
            "description": "At most this many people per company, most senior first.",
            "default": 5
          },
          "peopleSeniority": {
            "title": "Only these seniorities",
            "type": "array",
            "description": "Leave empty for all. Values: c-level, founder, vp, director, head, manager, other.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "departments": {
            "title": "Only these departments",
            "type": "array",
            "description": "Leave empty for all. Values: Executive, Engineering, Product, Sales, Marketing, Finance, Operations, People, Legal, Design, Customer, Data.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "excludeEuUk": {
            "title": "Leave out people at EU, EEA and UK companies",
            "type": "boolean",
            "description": "On: companies based in the EU, the EEA or the UK get no people (their company data is unchanged).",
            "default": false
          },
          "icp": {
            "title": "Ideal customer profile (for icpScore)",
            "type": "object",
            "description": "Optional. Scores every company 0 to 100 against who you sell to, with the reasons. Fields: industries, countries (ISO codes), employeesMin, employeesMax, requiredTech, forbiddenTech, minMonthlyVisits. Unknown facts count half, a ruled-out technology scores 0."
          },
          "maxCompanies": {
            "title": "Max companies",
            "minimum": 0,
            "type": "integer",
            "description": "Stop after this many companies (0 = all, up to 5,000 per run). Useful for a small test first.",
            "default": 0
          },
          "concurrency": {
            "title": "Companies at a time",
            "minimum": 1,
            "maximum": 16,
            "type": "integer",
            "description": "How many companies are read at the same time (1 to 16). Lower it if you run on less memory.",
            "default": 6
          },
          "mode": {
            "title": "Mode",
            "enum": [
              "enrich",
              "monitor",
              "findEmails",
              "verifyEmails"
            ],
            "type": "string",
            "description": "Enrich gives one row per company. Monitor also remembers each company and adds what changed since the last run (changes, changedSince, snapshotAt): schedule it weekly on the same list. The first monitor run saves the baseline. Find work emails takes a list of people (people) and returns each one's work email. Check email addresses takes a list of addresses (emails) and says what DNS can tell about each.",
            "default": "enrich"
          },
          "watchName": {
            "title": "Watch list name (monitor)",
            "type": "string",
            "description": "Monitor only. Keeps separate lists apart in your account: \"competitors\" and \"prospects\" each remember their own companies. Leave empty for one default list.",
            "default": ""
          },
          "onlyChanged": {
            "title": "Charge only changed companies (monitor)",
            "type": "boolean",
            "description": "Monitor only. Companies with no change since the last run get a short free row instead of a full one. First runs and changed companies are full rows.",
            "default": false
          },
          "people": {
            "title": "People (find work emails mode)",
            "type": "array",
            "description": "Find work emails mode only. One entry per person: {\"name\": \"Jane Doe\", \"domain\": \"acme.com\"} (or \"company\": \"Acme\" instead of the domain, and an optional \"title\"). Work domains only: personal mail providers are refused."
          },
          "emails": {
            "title": "Email addresses (check mode)",
            "type": "array",
            "description": "Check email addresses mode only. One address per line.",
            "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}