{
  "openapi": "3.0.1",
  "info": {
    "title": "Work Email Finder: Find Email by Name and Domain",
    "description": "Find a person's work email from a name and a company domain. The Actor learns the company's email format from its own website, builds up to 3 candidates, checks MX and verifies them with MillionVerifier. Unverified guesses are labelled. No email found, no charge. From $0.003 per email.",
    "version": "0.1",
    "x-build-id": "4AgVkyMRvImnxVm1Z"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/rod_analytics~work-email-finder/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-rod_analytics-work-email-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/rod_analytics~work-email-finder/runs": {
      "post": {
        "operationId": "runs-sync-rod_analytics-work-email-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/rod_analytics~work-email-finder/run-sync": {
      "post": {
        "operationId": "run-sync-rod_analytics-work-email-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",
        "properties": {
          "people": {
            "title": "People",
            "type": "array",
            "description": "One object per person: firstName and lastName (or fullName) plus domain (or companyWebsite). Lines such as \"Jane Doe, acme.com\" also work. Duplicates are removed. The prefilled rows use placeholder names."
          },
          "datasetId": {
            "title": "Dataset with people",
            "type": "string",
            "description": "Optional. Pick the dataset of a finished run or a CRM export with names and company websites. A Website Contact Scraper run with the option to include named people works directly: its people lists are expanded, and people who already have a work email are skipped."
          },
          "firstNameField": {
            "title": "First name field",
            "type": "string",
            "description": "Field with the first name. Leave empty to try firstName, first_name and givenName. Dot paths work."
          },
          "lastNameField": {
            "title": "Last name field",
            "type": "string",
            "description": "Field with the last name. Leave empty to try lastName, last_name, familyName and surname."
          },
          "fullNameField": {
            "title": "Full name field",
            "type": "string",
            "description": "Field with the full name when first and last name are not separate. Leave empty to try fullName and name."
          },
          "domainField": {
            "title": "Domain field",
            "type": "string",
            "description": "Field with the company domain or website. Leave empty to try domain, companyDomain, companyWebsite, website and url. Google Maps and social links are skipped."
          },
          "millionVerifierApiKey": {
            "title": "Your MillionVerifier API key (optional)",
            "type": "string",
            "description": "Optional. With your own key, the Actor checks up to 3 candidates per person with MillionVerifier on your account, and returns a verified result. Without a key you get the best pattern guess, labelled unverified-pattern-guess. The public test keys API_KEY_FOR_OK, API_KEY_FOR_CATCH_ALL, API_KEY_FOR_INVALID, API_KEY_FOR_UNKOWN and API_KEY_FOR_DISPOSABLE work for tests and are never charged."
          },
          "hunterApiKey": {
            "title": "Your Hunter.io API key (optional)",
            "type": "string",
            "description": "Optional. Adds Hunter's email format of the domain as one more vote. Uses at most one credit of your Hunter plan per domain. The key is only used in your run and never logged or stored by this Actor."
          },
          "suppressionList": {
            "title": "Suppression list",
            "type": "array",
            "description": "Email addresses, domains or SHA-256 hashes of them (of the lower-case address or domain). People at a suppressed domain are skipped, and a suppressed address is never returned.",
            "items": {
              "type": "string"
            }
          },
          "maxCandidates": {
            "title": "Candidates per person",
            "minimum": 1,
            "maximum": 3,
            "type": "integer",
            "description": "How many likely addresses are checked per person, 1 to 3. Only used with a verifier key. The first deliverable one wins.",
            "default": 3
          },
          "maxPagesPerDomain": {
            "title": "Pages per domain",
            "minimum": 1,
            "maximum": 30,
            "type": "integer",
            "description": "Homepage plus the best matching team, contact, press and impressum pages, read once per domain and shared by all people at it. The price does not depend on this number.",
            "default": 8
          },
          "maxConcurrency": {
            "title": "People in parallel",
            "minimum": 1,
            "maximum": 30,
            "type": "integer",
            "description": "How many people are looked up at the same time.",
            "default": 10
          },
          "timeoutSecs": {
            "title": "Request timeout (seconds)",
            "minimum": 3,
            "maximum": 60,
            "type": "integer",
            "description": "Maximum wait for one page. A whole domain is capped at 6x this value (at least 60 s).",
            "default": 15
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}