{
  "openapi": "3.0.1",
  "info": {
    "title": "Company Email Finder — Published Emails & Phones by Name",
    "description": "Give it company names, get back each company's verified website and its business emails, phone numbers, LinkedIn and social profiles, contact page and postal address — one row per company. HTTP only, no browser, no API key. Unresolved names are free.",
    "version": "0.1",
    "x-build-id": "ruRj3YUlRcVzlYKRc"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/insight.solutions~company-contact-finder/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-insight.solutions-company-contact-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/insight.solutions~company-contact-finder/runs": {
      "post": {
        "operationId": "runs-sync-insight.solutions-company-contact-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/insight.solutions~company-contact-finder/run-sync": {
      "post": {
        "operationId": "run-sync-insight.solutions-company-contact-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",
        "required": [
          "companies"
        ],
        "properties": {
          "companies": {
            "title": "Company names (or domains)",
            "minItems": 1,
            "maxItems": 2000,
            "type": "array",
            "description": "One company per line: a name (<code>Stripe</code>, <code>Acme Plumbing Ltd</code>), or a domain, URL or e-mail address (<code>stripe.com</code>, <code>press@stripe.com</code>), which skips resolution. A name is resolved to its website through SEC's ticker index, the YC directory, candidate domains and one web search, and a website counts only when its own home page names the company. This Actor resolves <b>organisations, not people</b>: a line that names no organisation comes back <code>unresolved</code>, free. Up to 2,000 lines per run.",
            "items": {
              "type": "string"
            }
          },
          "country": {
            "title": "Country (optional)",
            "type": "string",
            "description": "Two-letter country code, e.g. <code>DE</code>, <code>GB</code>, <code>US</code>. Puts that country's domain ending first among the candidate domains (<code>.de</code>, <code>.co.uk</code>) and regionalises the web search. Leave empty for no bias.",
            "default": ""
          },
          "industryHint": {
            "title": "Industry hint (optional)",
            "type": "string",
            "description": "A few words added to the web search to tell apart companies with the same name, e.g. <code>software</code>, <code>plumbing</code>, <code>law firm</code>. Used by the search rung only.",
            "default": ""
          },
          "maxPagesPerDomain": {
            "title": "Max pages per website",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "Total pages fetched per resolved website, including the home page; the rest go to the most promising contact/about/imprint links. Extra pages cost nothing — pricing is per company, not per page.",
            "default": 4
          },
          "contactPathHints": {
            "title": "Contact page path hints",
            "type": "array",
            "description": "Internal paths preferred when looking for contact details. Case-insensitive prefix matching, so <code>/contact</code> also matches <code>/contact-us/</code>. Anchor text containing contact/about/imprint/impressum/kontakt is followed even if the path is not listed.",
            "default": [
              "/contact",
              "/contact-us",
              "/about",
              "/imprint",
              "/impressum",
              "/legal"
            ],
            "items": {
              "type": "string"
            }
          },
          "includePersonalEmails": {
            "title": "Include personal-looking email addresses",
            "type": "boolean",
            "description": "⚠️ <b>Leave this OFF unless you have a lawful basis.</b> By default only role-based and generic business addresses are returned (<code>info@</code>, <code>sales@</code>, <code>careers@</code>, …); switching it on also returns addresses shaped like a named individual (<code>jane.doe@</code>), which are <b>personal data</b> under the GDPR and the CCPA. Turn it on only if you are ready to be the data controller for them — the README's data-protection notes set out what that means.",
            "default": false
          },
          "extractPhones": {
            "title": "Extract phone numbers",
            "type": "boolean",
            "description": "Parse <code>tel:</code> links, JSON-LD <code>telephone</code> values and visible text, then normalise to E.164 using the country hinted by the site's postal address or its top-level domain.",
            "default": true
          },
          "extractSocials": {
            "title": "Extract social profile links",
            "type": "boolean",
            "description": "Detect LinkedIn, X/Twitter, Facebook, Instagram, YouTube and GitHub profile links, normalised to the profile root. Share buttons and intent links are ignored.",
            "default": true
          },
          "requestTimeoutSecs": {
            "title": "Request timeout (seconds)",
            "minimum": 5,
            "maximum": 120,
            "type": "integer",
            "description": "Timeout for each resolved website's home page during extraction; robots.txt gets at most 10 s and contact/about pages half of this (at least 5 s). Candidate websites checked during resolution get at most 12 s each.",
            "default": 20
          },
          "maxRunSecs": {
            "title": "Maximum run time (seconds)",
            "minimum": 30,
            "maximum": 3600,
            "type": "integer",
            "description": "Wall-clock budget for the whole run. When it is reached no further companies are started; every company already finished is in your dataset and the run ends SUCCEEDED with a status message saying how many were skipped. Skipped companies are never charged. Raise it for lists of more than a couple of hundred names.",
            "default": 240
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Used for the web search (DuckDuckGo) and the YC directory lookup. Company websites, SEC and Bing (the search fallback) are fetched directly, as the Website Contact Extractor fetches websites. The datacenter default is right for DuckDuckGo.",
            "default": {
              "useApifyProxy": true
            }
          },
          "secUserAgentContact": {
            "title": "SEC contact string (optional)",
            "type": "string",
            "description": "SEC asks automated clients for a User-Agent naming the requester and a way to reach them — e.g. <code>Acme Research data@acme.com</code>. It is a contact string, not an API key. Left empty, the Actor names itself and its Store page; if SEC refuses that, the SEC rung is skipped for the run (free) and the other rungs carry on.",
            "default": ""
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}