{
  "openapi": "3.0.1",
  "info": {
    "title": "Business People Enrichment - Role Holders and Contacts",
    "description": "Find the owners, managers and other role holders inside an identified business, with the published evidence for each role and the professional contact details that are attributable to them. Not an employee directory.",
    "version": "0.0",
    "x-build-id": "UNe4ZFI4pzSKEaQaM"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/leadproof~business-people-enrichment/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-leadproof-business-people-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/leadproof~business-people-enrichment/runs": {
      "post": {
        "operationId": "runs-sync-leadproof-business-people-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/leadproof~business-people-enrichment/run-sync": {
      "post": {
        "operationId": "run-sync-leadproof-business-people-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",
        "required": [
          "businesses"
        ],
        "properties": {
          "businesses": {
            "title": "Businesses",
            "type": "array",
            "description": "One object per business: {inputId, name, website, city, region, country, mapsUrl, linkedinCompanyUrl}. A row needs enough to identify a company: a website, a company profile URL, or a name together with a city, region or country. A bare name is refused for that row, because it names no particular business. Up to 200 rows."
          },
          "targetRoles": {
            "title": "Target roles",
            "type": "array",
            "description": "Role families to look for: owner, founder, executive, partner, purchasing, operations, finance, marketing, sales, hr, it, clinical, advisor. Synonyms such as procurement, buyer, practice manager or leadership are accepted. Left empty, the run looks for owner, founder and executive. A role name we do not model is reported in coverage.unrecognizedRequestedRoles rather than guessed at.",
            "items": {
              "type": "string"
            }
          },
          "maxPeoplePerBusiness": {
            "title": "People per business",
            "minimum": 1,
            "maximum": 25,
            "type": "integer",
            "description": "Most people returned per business. Supported people beyond the limit move to candidates with the reason, so nothing is silently dropped.",
            "default": 5
          },
          "useLinkedIn": {
            "title": "Read LinkedIn profiles",
            "type": "boolean",
            "description": "Read profile pages that were discovered on the company's own site or in search results. Profile URLs are never constructed from a person's name. Off by default: the profile reader this calls has not been verified end to end, so anything it returns or fails to return is reported as a coverage gap and never as 'nobody found'. Turn it on to pay for the attempt anyway.",
            "default": false
          },
          "verifyEmails": {
            "title": "Verify direct email addresses",
            "type": "boolean",
            "description": "Check whether the direct addresses we are about to return accept mail, using Bulk Email Verifier. Off means no verifier run is started at all. A deliverable mailbox is still not proof of whose mailbox it is.",
            "default": false
          },
          "includeFormer": {
            "title": "Include former relationships",
            "type": "boolean",
            "description": "Off excludes people a source describes as former. People whose recency is simply unknown are still returned, marked unknown: unknown is not quietly treated as current.",
            "default": false
          },
          "country": {
            "title": "Country",
            "type": "string",
            "description": "ISO 3166-1 alpha-2 code used to pin web searches, e.g. KE, US, GB. Defaults to the search dependency's own default when empty."
          },
          "language": {
            "title": "Language",
            "type": "string",
            "description": "Language tag for searches and page reads, e.g. en, sw, de.",
            "default": "en"
          },
          "renderMode": {
            "title": "Page render mode",
            "enum": [
              "http",
              "auto",
              "browser"
            ],
            "type": "string",
            "description": "Team pages are usually served as HTML. If a row comes back with the page_needs_rendering gap, re-run that row with browser: it costs $0.006 per page instead of $0.002 and takes about 5.5s instead of 0.9s, and on a measured case it turned an empty row into the company's whole leadership team. Prefer browser over auto for now: auto did not upgrade that page (issue #66).",
            "default": "http"
          },
          "maxPagesPerBusiness": {
            "title": "Pages per business",
            "minimum": 1,
            "maximum": 25,
            "type": "integer",
            "description": "Company pages read per business, including the home page.",
            "default": 8
          },
          "maxSearchesPerBusiness": {
            "title": "Searches per business",
            "minimum": 0,
            "maximum": 10,
            "type": "integer",
            "description": "Web searches per business, used only for roles the company's own site did not answer. 0 turns search off.",
            "default": 3
          },
          "maxProfileReadsPerBusiness": {
            "title": "Profile reads per business",
            "minimum": 0,
            "maximum": 10,
            "type": "integer",
            "description": "Discovered profiles read per business.",
            "default": 3
          },
          "maxSecondsPerBusiness": {
            "title": "Seconds per business",
            "minimum": 30,
            "maximum": 900,
            "type": "integer",
            "description": "A business that reaches this limit returns what it has, with the limit named in coverage.limitsReached.",
            "default": 180
          },
          "maxPagesTotal": {
            "title": "Pages per run",
            "minimum": 1,
            "maximum": 2000,
            "type": "integer",
            "description": "Pages read across the whole run. When it is reached the run stops starting new businesses, and the row it stopped names the limit in coverage.limitsReached.",
            "default": 200
          },
          "maxSearchesTotal": {
            "title": "Searches per run",
            "minimum": 0,
            "maximum": 600,
            "type": "integer",
            "description": "Searches run across the whole run. 0 switches searching off for every business, which is a setting rather than a limit the run reached.",
            "default": 60
          },
          "maxProfileReadsTotal": {
            "title": "Profile reads per run",
            "minimum": 0,
            "maximum": 400,
            "type": "integer",
            "description": "Profile reads across the whole run. Only used when useLinkedIn is on.",
            "default": 40
          },
          "maxRunSeconds": {
            "title": "Run time limit (seconds)",
            "minimum": 60,
            "maximum": 21600,
            "type": "integer",
            "description": "The run stops starting new businesses after this long and writes what it has. Keep it below the run timeout so the last row is written before the platform stops the run.",
            "default": 3600
          },
          "maxDependencyChargeUsd": {
            "title": "Maximum dependency spend (USD)",
            "minimum": 0.001,
            "type": "number",
            "description": "Ceiling on what the child runs this Actor starts may charge in total, in dollars and cents (0.05 is fine). Each child is started with only what is left of it as its own maximum charge, never with the whole amount. It counts, per child run, the larger of its pay-per-event charges and the platform usage it reported. It does not cover this Actor's own charges (those are bounded by this run's own maximum charge) or this Actor's own compute. Empty means each child keeps only its own per-run cap."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}