{
  "openapi": "3.0.1",
  "info": {
    "title": "Company Enrichment — Domain to Firmographics, Tech & Signals",
    "description": "Company data enrichment from a domain or a company name: industry, headcount, HQ, founded year, description, socials, LinkedIn and the live tech stack, plus optional hiring, funding, ad and leadership buying signals. One unified profile per row, with a confidence score on every field.",
    "version": "0.1",
    "x-build-id": "OhcnKhLVsVRefXMth"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/inovaflow~company-enrichment/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-inovaflow-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/inovaflow~company-enrichment/runs": {
      "post": {
        "operationId": "runs-sync-inovaflow-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/inovaflow~company-enrichment/run-sync": {
      "post": {
        "operationId": "run-sync-inovaflow-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 to enrich",
            "maxItems": 1000,
            "type": "array",
            "description": "A domain (`gong.io`), a company name (`Gong`) or a website URL (`https://www.ramp.com`). Also accepted as `domains`, `companyNames`, `websites` or `urls`.",
            "items": {
              "type": "string"
            }
          },
          "includeTechStack": {
            "title": "Attach the tech stack",
            "type": "boolean",
            "description": "Detect the CMS, analytics, CRM, marketing automation, chat, payments, hosting and CDN a company actually runs, verified live on the site. Adds a paid lookup per resolved domain.",
            "default": true
          },
          "includeSignals": {
            "title": "Attach buying signals",
            "type": "boolean",
            "description": "Also answer \"why now?\": open roles, a recent funding round, paid-ad activity and new executives — each as a block on the row, with a combined 0–100 signal score, who to sell to and an opening line. Off by default because each signal is a paid lookup.",
            "default": false
          },
          "signals": {
            "title": "Which signals",
            "uniqueItems": true,
            "type": "array",
            "description": "Only used when buying signals are on. Empty = all four.",
            "items": {
              "type": "string",
              "enum": [
                "hiring",
                "funding",
                "ads",
                "leadership"
              ],
              "enumTitles": [
                "Hiring — open roles that signal a build-out",
                "Funding — a round announced recently",
                "Ads — active paid advertising",
                "Leadership — a new executive in the seat"
              ]
            },
            "default": [
              "hiring",
              "funding",
              "ads",
              "leadership"
            ]
          },
          "signalDaysBack": {
            "title": "Signal window (days)",
            "minimum": 1,
            "maximum": 365,
            "type": "integer",
            "description": "How far back a signal still counts. 90 days catches a funding round or an executive change that is still fresh enough to open with.",
            "default": 90
          },
          "useCompanyProfile": {
            "title": "Use the public company profile",
            "type": "boolean",
            "description": "Reads the company's public profile for the fields a website never states: industry, employee band, HQ and founded year. This is also what turns a company NAME into a domain — turn it off only when every input is already a domain and firmographics do not matter.",
            "default": true
          },
          "crawlWebsite": {
            "title": "Read the company website",
            "type": "boolean",
            "description": "Reads the company's own home page for the description, socials, phone, address, logo and founding year. Costs nothing beyond compute and is what keeps a row useful when nothing else answers.",
            "default": true
          },
          "maxPagesPerSite": {
            "title": "Pages per website",
            "minimum": 1,
            "maximum": 5,
            "type": "integer",
            "description": "The home page plus, if needed, the about and contact pages. More pages fill more fields on sites that keep the detail off the front page.",
            "default": 2
          },
          "hiringRoles": {
            "title": "Roles that count as hiring",
            "maxItems": 20,
            "type": "array",
            "description": "Only used when the hiring signal is on. Which open roles mean something to you — e.g. `Account Executive`, `Data Engineer`. Empty = a broad revenue-and-build set.",
            "items": {
              "type": "string"
            }
          },
          "countries": {
            "title": "Ad-library countries",
            "maxItems": 10,
            "type": "array",
            "description": "Only used when the ads signal is on. Two-letter country codes for the ad library to search. Empty = US.",
            "items": {
              "type": "string"
            }
          },
          "maxCompanies": {
            "title": "Max companies",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "Stop after this many companies. Also caps what the run can cost, since this Actor charges per company delivered.",
            "default": 50
          },
          "maxSpendUsd": {
            "title": "Spend cap for attached data (USD)",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "A hard ceiling on what the paid lookups behind the tech stack and the signals may charge your account in this run. Leave empty for no ceiling. The base profile and the website read are unaffected."
          },
          "maxConcurrency": {
            "title": "Parallel websites",
            "minimum": 1,
            "maximum": 20,
            "type": "integer",
            "description": "How many company websites are read at once.",
            "default": 6
          },
          "nestedTimeoutSecs": {
            "title": "Attached-data timeout (seconds)",
            "minimum": 120,
            "maximum": 3600,
            "type": "integer",
            "description": "How long any one attached lookup may take before the run continues without it. The row is still delivered, with that source listed under sourcesSkipped.",
            "default": 900
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Used for the company-website read. The default is fine; a residential group helps on sites that block datacentre IPs.",
            "default": {
              "useApifyProxy": false
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}