{
  "openapi": "3.0.1",
  "info": {
    "title": "Business Spreadsheet Enricher: Emails, Phones & Websites",
    "description": "Enrich CSV and Excel company lists with public business emails, phone numbers, verified websites, addresses, social profiles, and source evidence. Directly scrapes official company websites—no enrichment API or subscription required.",
    "version": "0.1",
    "x-build-id": "ZQXDTL0klD8pm2vEb"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/thescrapelab~business-spreadsheet-enricher/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-thescrapelab-business-spreadsheet-enricher",
        "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/thescrapelab~business-spreadsheet-enricher/runs": {
      "post": {
        "operationId": "runs-sync-thescrapelab-business-spreadsheet-enricher",
        "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/thescrapelab~business-spreadsheet-enricher/run-sync": {
      "post": {
        "operationId": "run-sync-thescrapelab-business-spreadsheet-enricher",
        "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": {
          "inputFile": {
            "title": "Upload a CSV or Excel file",
            "type": "string",
            "description": "Best for spreadsheets. Upload a CSV or XLSX file up to 25 MB. Common company, website, city, region, country, and company-number columns are detected automatically."
          },
          "companies": {
            "title": "Or enter companies manually",
            "type": "array",
            "description": "Best for a quick test or a short list. Each company needs a company name or website. Supplying the website is faster and more reliable.",
            "items": {
              "type": "object",
              "properties": {
                "companyName": {
                  "title": "Company name",
                  "description": "Business or legal company name.",
                  "type": "string"
                },
                "website": {
                  "title": "Website",
                  "description": "Known public company website, if available.",
                  "type": "string"
                },
                "city": {
                  "title": "City",
                  "description": "City used to disambiguate similar company names.",
                  "type": "string"
                },
                "region": {
                  "title": "Region",
                  "description": "State, province, or region used for matching.",
                  "type": "string"
                },
                "country": {
                  "title": "Country",
                  "description": "Country name or ISO country code.",
                  "type": "string"
                },
                "companyNumber": {
                  "title": "Company number",
                  "description": "Optional public registration number used for matching.",
                  "type": "string"
                }
              }
            },
            "default": [
              {
                "companyName": "Apify",
                "website": "https://apify.com",
                "city": "Prague",
                "country": "CZ"
              }
            ]
          },
          "sheetName": {
            "title": "Excel worksheet name",
            "type": "string",
            "description": "Optional. Leave blank to use the first worksheet in an XLSX file."
          },
          "columnMapping": {
            "title": "Column mapping",
            "type": "object",
            "description": "Optional. Use only when automatic column detection does not recognize your headers.",
            "properties": {
              "companyName": {
                "title": "Company name column",
                "description": "Header containing the company name.",
                "type": "string"
              },
              "website": {
                "title": "Website column",
                "description": "Header containing the known website.",
                "type": "string"
              },
              "city": {
                "title": "City column",
                "description": "Header containing the city.",
                "type": "string"
              },
              "region": {
                "title": "Region column",
                "description": "Header containing the state, province, or region.",
                "type": "string"
              },
              "country": {
                "title": "Country column",
                "description": "Header containing the country.",
                "type": "string"
              },
              "companyNumber": {
                "title": "Company number column",
                "description": "Header containing a public registration number.",
                "type": "string"
              }
            }
          },
          "fieldsToEnrich": {
            "title": "Business details to collect",
            "uniqueItems": true,
            "type": "array",
            "description": "Choose the public details to collect from official company websites. The default collects everything available.",
            "items": {
              "type": "string",
              "enum": [
                "emails",
                "phones",
                "namedContacts",
                "address",
                "description",
                "industry",
                "socialProfiles"
              ],
              "enumTitles": [
                "Emails",
                "Phone numbers",
                "Named contacts",
                "Address",
                "Company description",
                "Published industry",
                "Social profiles"
              ]
            },
            "default": [
              "emails",
              "phones",
              "namedContacts",
              "address",
              "description",
              "industry",
              "socialProfiles"
            ]
          },
          "maxRows": {
            "title": "Companies to process",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "Maximum number of company rows to process in this run. The one-company default gives you a cheap, complete sample; increase it for larger jobs.",
            "default": 1
          },
          "maxPagesPerCompany": {
            "title": "Pages per company",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "Maximum pages checked on each company website, including useful Contact, About, Team, Legal, and Imprint pages.",
            "default": 5
          },
          "maxConcurrency": {
            "title": "Companies processed at once",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "Advanced. Higher values can be faster but use more memory. The Actor may lower this automatically for stability.",
            "default": 2
          },
          "maxRequests": {
            "title": "Total request budget",
            "minimum": 1,
            "maximum": 5000,
            "type": "integer",
            "description": "Safety limit for all website and discovery requests in the run. The 10-request default keeps the one-company trial inexpensive; raise it with the row limit for larger jobs.",
            "default": 10
          },
          "maxBrowserRenders": {
            "title": "Maximum browser renders",
            "minimum": 0,
            "maximum": 100,
            "type": "integer",
            "description": "Advanced safety limit for costlier browser fallbacks. Keep 0 for HTTP-only runs. Increase it only when JavaScript rendering is set to Automatic fallback.",
            "default": 0
          },
          "maxRunMinutes": {
            "title": "Maximum processing time",
            "minimum": 1,
            "maximum": 60,
            "type": "integer",
            "description": "Stops starting new website work after this many minutes and keeps all completed results.",
            "default": 10
          },
          "browserRendering": {
            "title": "JavaScript rendering",
            "enum": [
              "auto",
              "never"
            ],
            "type": "string",
            "description": "Keep Never use a browser for the lowest cost. Automatic fallback can render empty JavaScript-only pages and is limited by Maximum browser renders.",
            "default": "never"
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Optional. Configure Apify Proxy only when public websites block ordinary datacenter requests."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}