{
  "openapi": "3.0.1",
  "info": {
    "title": "RocketReach Alternative: Verified Work Email",
    "description": "Find or validate work email for known B2B contacts. Returns provider deliverability results, DNS provenance, confidence, fallback state, and honest terminal outcomes.",
    "version": "0.2",
    "x-build-id": "o92w4xCogM3jXeeAf"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/khadinakbar~rocketreach-alternative/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-khadinakbar-rocketreach-alternative",
        "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/khadinakbar~rocketreach-alternative/runs": {
      "post": {
        "operationId": "runs-sync-khadinakbar-rocketreach-alternative",
        "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/khadinakbar~rocketreach-alternative/run-sync": {
      "post": {
        "operationId": "run-sync-khadinakbar-rocketreach-alternative",
        "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": {
          "operation": {
            "title": "Operation",
            "enum": [
              "work_email_enrichment",
              "public_profile_search"
            ],
            "type": "string",
            "description": "Choose work_email_enrichment for caller-supplied known contacts, or public_profile_search for a bounded public professional-profile search. Public-profile search is available only after its separately priced event becomes active; it never returns email or phone data.",
            "default": "work_email_enrichment"
          },
          "contacts": {
            "title": "Known B2B contacts",
            "minItems": 1,
            "maxItems": 200,
            "type": "array",
            "description": "Required for work_email_enrichment: one to 200 contacts you already know, each with fullName and companyDomain. An optional externalId is preserved for CRM matching and optional linkedInUrl is stored only as supplied provenance. Leave empty for public_profile_search.",
            "items": {
              "type": "object",
              "properties": {
                "fullName": {
                  "title": "Full name",
                  "type": "string",
                  "description": "The known professional contact's full name, for example Ada Lovelace."
                },
                "companyDomain": {
                  "title": "Company domain",
                  "type": "string",
                  "description": "The employer's registrable website domain, for example example.com, not a profile URL."
                },
                "companyName": {
                  "title": "Company name",
                  "type": "string",
                  "description": "Optional employer name carried through to the result, for example Example Ltd."
                },
                "externalId": {
                  "title": "External ID",
                  "type": "string",
                  "description": "Optional caller-owned CRM or spreadsheet key carried through unchanged, for example crm-001."
                },
                "linkedInUrl": {
                  "title": "Provided LinkedIn URL",
                  "type": "string",
                  "description": "Optional public LinkedIn /in/ URL already known to you; it is retained as caller-provided provenance and is not fetched."
                },
                "email": {
                  "title": "Known work email",
                  "type": "string",
                  "description": "Optional work email to validate in verify_supplied_email mode, for example ada@example.com. The provider tests deliverability and returns a result; it does not authorize outreach. Leave empty when find_and_verify should search within the supplied employer domain."
                }
              },
              "required": [
                "fullName",
                "companyDomain"
              ]
            }
          },
          "publicProfileSearch": {
            "title": "Public professional-profile search",
            "type": "object",
            "description": "Required for public_profile_search: provide a professional search query or a public LinkedIn company URL, with optional title and location filters. Results are public profile name, headline, URL, and location only; no email, phone, personal contact data, or outreach capability is returned.",
            "properties": {
              "query": {
                "title": "Professional query",
                "type": "string",
                "description": "Optional professional search text such as sales operations or data engineering. Supply this or currentCompany."
              },
              "currentCompany": {
                "title": "Current LinkedIn company URL",
                "type": "string",
                "description": "Optional public LinkedIn company URL used as an employer filter. Supply this or query."
              },
              "title": {
                "title": "Professional title",
                "type": "string",
                "description": "Optional public professional-title filter, such as Director of Sales."
              },
              "location": {
                "title": "Location",
                "type": "string",
                "description": "Optional public professional-location filter, such as New York."
              }
            }
          },
          "maxProfiles": {
            "title": "Maximum public profiles",
            "minimum": 1,
            "maximum": 25,
            "type": "integer",
            "description": "For public_profile_search, process one to 25 returned public profiles. Each accepted complete profile is charged only after the separately priced public-profile event has become active. Defaults to 10.",
            "default": 10
          },
          "enrichmentMode": {
            "title": "Enrichment mode",
            "enum": [
              "find_and_verify",
              "verify_supplied_email",
              "candidate_only"
            ],
            "type": "string",
            "description": "Choose find_and_verify to find a work email from the known name and employer domain, verify_supplied_email to validate contact.email, or candidate_only for DNS-backed conventional patterns. The default uses the owner-configured EmailListVerify route. Verification modes require the EMAIL_LIST_VERIFY_API_KEY Actor secret and return explicit provider outcomes. candidate_only preserves an MX-backed candidate boundary without asserting mailbox delivery.",
            "default": "find_and_verify"
          },
          "fallbackPolicy": {
            "title": "Verification fallback policy",
            "enum": [
              "strict",
              "dns_candidate"
            ],
            "type": "string",
            "description": "Choose strict to fail truthfully without billing when the required verification provider is unavailable. Choose dns_candidate to return the MX-backed candidate route when provider verification cannot complete. The default strict policy keeps provider availability distinct from a completed verification. The fallback never labels a conventional candidate as mailbox-verified.",
            "default": "strict"
          },
          "maxResults": {
            "title": "Maximum contact enrichments",
            "minimum": 1,
            "maximum": 200,
            "type": "integer",
            "description": "Hard cap on contacts processed in one run. Defaults to 25 and accepts 1 to 200 contacts, limiting maximum event charges to $0.12 per completed enrichment plus platform usage. This is not a search-result page limit because the Actor does not search a people database.",
            "default": 25
          },
          "maxCandidatesPerContact": {
            "title": "Maximum candidates per contact",
            "minimum": 1,
            "maximum": 5,
            "type": "integer",
            "description": "Number of common work-email patterns returned for an MX-capable employer domain. Defaults to 3 and accepts 1 to 5 patterns, ordered by conventional pattern priority. This does not verify that a specific mailbox exists or that the person currently works there.",
            "default": 3
          },
          "includeMxValidatedCandidates": {
            "title": "Include MX-valid email candidates",
            "type": "boolean",
            "description": "Return candidate work-email strings only when the supplied company domain advertises an MX mail host. Defaults to true; turning it off still returns the enrichment status and DNS provenance without email strings. This is not mailbox, SMTP, ownership, or personal-email verification.",
            "default": true
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}