{
  "openapi": "3.0.1",
  "info": {
    "title": "Work Email Finder: Find Email by Name & Domain (No SMTP)",
    "description": "Work email finder API: find email by name and company domain without sending any email or SMTP probing. Learns the email pattern from addresses the company publishes, checks MX records, returns the most likely work email with confidence and evidence. Email pattern finder mode for a domain.",
    "version": "0.1",
    "x-build-id": "VPHiFt11RCLL41kvt"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/data-done-right~work-email-finder/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-data-done-right-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/data-done-right~work-email-finder/runs": {
      "post": {
        "operationId": "runs-sync-data-done-right-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/data-done-right~work-email-finder/run-sync": {
      "post": {
        "operationId": "run-sync-data-done-right-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": {
          "mode": {
            "title": "Mode",
            "enum": [
              "find-email",
              "email-pattern"
            ],
            "type": "string",
            "description": "find-email returns the most likely work email for each person in People. email-pattern takes only company domains (see Domains) and returns the email pattern learned for each domain, with the published addresses it is based on.",
            "default": "find-email"
          },
          "people": {
            "title": "People (find-email mode)",
            "type": "array",
            "description": "The people to find a work email for, as a JSON array. Each item needs a first name and last name (or one full name) and the company's domain or website. Keys: \"firstName\", \"lastName\" (or \"fullName\"), \"domain\" (or \"website\" / \"companyUrl\"), optional \"id\" that is echoed back. A string \"Jane Doe | acme.com\" also works. Example: [{\"firstName\": \"Jane\", \"lastName\": \"Doe\", \"domain\": \"acme.com\"}, {\"fullName\": \"Dr. Omar Haddad Jr.\", \"website\": \"https://www.acme.com/about\"}]. Free-mail domains such as gmail.com are rejected with a reason."
          },
          "domains": {
            "title": "Domains (email-pattern mode)",
            "type": "array",
            "description": "Company domains or website URLs for email-pattern mode, one per line. Example: acme.com, https://www.example.org/contact. Ignored in find-email mode.",
            "items": {
              "type": "string"
            }
          },
          "maxPeople": {
            "title": "Max people or domains",
            "minimum": 1,
            "maximum": 100000,
            "type": "integer",
            "description": "Hard cap on how many people (find-email) or domains (email-pattern) are processed. Extra ones are skipped. Also caps your cost.",
            "default": 500
          },
          "maxPagesPerDomain": {
            "title": "Max pages read per domain",
            "minimum": 1,
            "maximum": 15,
            "type": "integer",
            "description": "Public pages read per company domain: the homepage plus contact, team, about, careers or imprint pages found from it. A domain is read once, however many people share it. robots.txt requests are not counted.",
            "default": 6
          },
          "concurrency": {
            "title": "Domains read in parallel",
            "minimum": 1,
            "maximum": 20,
            "type": "integer",
            "description": "How many different company domains are read at the same time. One domain is always read one request at a time.",
            "default": 5
          },
          "delaySecs": {
            "title": "Delay between requests to one site (seconds)",
            "minimum": 0,
            "maximum": 10,
            "type": "integer",
            "description": "Pause between two requests to the same website. A longer Crawl-delay in the site's robots.txt (up to 10 s) wins.",
            "default": 1
          },
          "timeoutSecs": {
            "title": "Timeout per request (seconds)",
            "minimum": 2,
            "maximum": 30,
            "type": "integer",
            "description": "Time allowed for one page request, redirects included. Slow or unreachable sites are skipped, and the person still gets a result row.",
            "default": 10
          },
          "evidenceMode": {
            "title": "Published addresses in the evidence",
            "enum": [
              "masked",
              "full"
            ],
            "type": "string",
            "description": "masked shows the addresses a pattern was learned from in a shape-preserving mask (j***.d***@acme.com) with the page URL, so you can check the source without copying other people's addresses. full shows them as published. Role mailboxes such as info@ are always shown in full.",
            "default": "masked"
          },
          "maxAlternates": {
            "title": "Alternate addresses per person",
            "minimum": 0,
            "maximum": 10,
            "type": "integer",
            "description": "How many other likely addresses (other patterns, spelling variants) to list next to the best one. 0 turns them off.",
            "default": 4
          },
          "useNicknames": {
            "title": "Add nickname alternates",
            "type": "boolean",
            "description": "Also list alternates for common short names (Robert to bob, William to bill) and for nicknames written in brackets or quotes, such as Robert (Bob) Smith.",
            "default": 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
                  },
                  "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}