{
  "openapi": "3.0.1",
  "info": {
    "title": "Prospect Database API - B2B Email Search and Verifier",
    "description": "Search a B2B prospect database by job title, management level, department, industry, location, company size and revenue. Find every email at a domain, work out an address from a name, verify deliverability, and enrich addresses and profiles. Pay per result. Bring your own API key.",
    "version": "0.1",
    "x-build-id": "0wSzzjjQXfsOkpPE7"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/nabeelbaghoor~prospect-database-search-api/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-nabeelbaghoor-prospect-database-search-api",
        "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/nabeelbaghoor~prospect-database-search-api/runs": {
      "post": {
        "operationId": "runs-sync-nabeelbaghoor-prospect-database-search-api",
        "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/nabeelbaghoor~prospect-database-search-api/run-sync": {
      "post": {
        "operationId": "run-sync-nabeelbaghoor-prospect-database-search-api",
        "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": "What to do",
            "enum": [
              "databaseSearch",
              "companyDatabaseSearch",
              "domainSearch",
              "domainEmails",
              "genericContacts",
              "emailFinder",
              "emailVerifier",
              "profileByEmail",
              "linkedinProfiles",
              "companyDomain"
            ],
            "type": "string",
            "description": "Prospect search queries the provider's people database by job title, seniority, department, industry, location and company size. Company search does the same for companies. The domain modes return the people or the addresses at one company. Email finder works out an address from a name and a domain, the verifier checks addresses you already have, and the enrichment modes turn an address, a profile URL or a company name into a full record.",
            "default": "databaseSearch"
          },
          "jobTitles": {
            "title": "Job titles",
            "type": "array",
            "description": "Job titles to match, one per line. In prospect search these filter the database. In domain search they narrow the people returned at each company, where the provider accepts up to ten.",
            "items": {
              "type": "string"
            }
          },
          "excludeJobTitles": {
            "title": "Exclude job titles",
            "type": "array",
            "description": "Job titles to leave out, one per line. Useful for dropping the adjacent roles a broad title match keeps pulling in. Prospect search only.",
            "items": {
              "type": "string"
            }
          },
          "managementLevels": {
            "title": "Management levels",
            "type": "array",
            "description": "Seniority bands to match. This is the filter to reach for when job titles vary too much between companies to list them all. Prospect search only.",
            "items": {
              "type": "string",
              "enum": [
                "c_level",
                "vp_level",
                "director_level",
                "manager_level",
                "staff"
              ],
              "enumTitles": [
                "C level",
                "Vice President level",
                "Director level",
                "Manager level",
                "Staff"
              ]
            },
            "default": []
          },
          "departments": {
            "title": "Departments",
            "type": "array",
            "description": "Departments to match. Prospect search only.",
            "items": {
              "type": "string",
              "enum": [
                "engineering",
                "human_resources",
                "it_is",
                "finance_administration",
                "marketing",
                "operations",
                "sales",
                "support",
                "other"
              ],
              "enumTitles": [
                "Engineering",
                "Human resources",
                "IT and information systems",
                "Finance and administration",
                "Marketing",
                "Operations",
                "Sales",
                "Support",
                "Other"
              ]
            },
            "default": []
          },
          "skills": {
            "title": "Skills",
            "type": "array",
            "description": "Skills listed on the person's profile, one per line. Prospect search only.",
            "items": {
              "type": "string"
            }
          },
          "firstName": {
            "title": "First name",
            "type": "string",
            "description": "Narrow a prospect search to one first name. Prospect search only."
          },
          "lastName": {
            "title": "Last name",
            "type": "string",
            "description": "Narrow a prospect search to one last name. Prospect search only."
          },
          "personLocations": {
            "title": "Person locations",
            "type": "array",
            "description": "Where the person is, one per line. Distinct from where the company is, which is the filter below. Prospect search only.",
            "items": {
              "type": "string"
            }
          },
          "companies": {
            "title": "Company names",
            "type": "array",
            "description": "Company names, one per line. In prospect and company search they filter which companies count. In company domain mode each name is one lookup.",
            "items": {
              "type": "string"
            }
          },
          "excludeCompanies": {
            "title": "Exclude companies",
            "type": "array",
            "description": "Company names to leave out of the results, one per line. The quickest way to keep your own customers and your own staff out of a prospecting list.",
            "items": {
              "type": "string"
            }
          },
          "domains": {
            "title": "Company domains",
            "type": "array",
            "description": "Company domains, one per line. Used by the domain modes and by the email finder. A pasted URL is reduced to the bare hostname and an address is reduced to the part after the at sign, so a messy list still works.",
            "items": {
              "type": "string"
            }
          },
          "fullNames": {
            "title": "Full names",
            "type": "array",
            "description": "Full names to find addresses for, one per line. Each name is paired with each domain above: ten names and one domain is ten lookups. Email finder only.",
            "items": {
              "type": "string"
            }
          },
          "emails": {
            "title": "Email addresses",
            "type": "array",
            "description": "Email addresses, one per line. Used by the verifier and by email enrichment. An address pasted inside a longer string, such as a mail header, is extracted before the request.",
            "items": {
              "type": "string"
            }
          },
          "profileUrls": {
            "title": "Profile URLs",
            "type": "array",
            "description": "Public professional profile URLs, one per line. A bare handle is expanded to a full URL and tracking parameters are stripped. Profile enrichment only.",
            "items": {
              "type": "string"
            }
          },
          "industries": {
            "title": "Industries",
            "type": "array",
            "description": "Industries the company should be in, one per line. Used by prospect search and company search.",
            "items": {
              "type": "string"
            }
          },
          "companyLocations": {
            "title": "Company locations",
            "type": "array",
            "description": "Where the company should be, one per line. Used by prospect search and company search.",
            "items": {
              "type": "string"
            }
          },
          "specialities": {
            "title": "Company specialities",
            "type": "array",
            "description": "Specialities the company lists about itself, one per line, for segments an industry label is too coarse to express. Used by prospect search and company search.",
            "items": {
              "type": "string"
            }
          },
          "companySize": {
            "title": "Company size",
            "type": "string",
            "description": "Headcount band the company should fall into, in the provider's own form such as 51-200. Used by prospect search and company search."
          },
          "minRevenue": {
            "title": "Minimum revenue (USD)",
            "minimum": 0,
            "type": "integer",
            "description": "Only return companies at or above this annual revenue. Used by prospect search and company search."
          },
          "maxRevenue": {
            "title": "Maximum revenue (USD)",
            "minimum": 0,
            "type": "integer",
            "description": "Only return companies at or below this annual revenue. Used by prospect search and company search."
          },
          "foundedFrom": {
            "title": "Founded from year",
            "type": "integer",
            "description": "Only return companies founded in or after this year. Used by prospect search and company search."
          },
          "foundedTo": {
            "title": "Founded to year",
            "type": "integer",
            "description": "Only return companies founded in or before this year. Used by prospect search and company search."
          },
          "taskTimeoutMinutes": {
            "title": "Task timeout (minutes)",
            "minimum": 1,
            "maximum": 30,
            "type": "integer",
            "description": "How long to wait for one request to finish before giving up on it. Almost every route here is asynchronous: the provider accepts the work, then answers from a second route once it is ready. The actor polls with a widening gap, so a longer timeout does not mean more requests.",
            "default": 5
          },
          "requestsPerMinute": {
            "title": "Requests per minute",
            "minimum": 1,
            "maximum": 60,
            "type": "integer",
            "description": "Pace the run under the provider's documented ceiling of 60 requests per minute. Lower it if your account is capped further.",
            "default": 60
          },
          "skipNotFound": {
            "title": "Skip inputs with no result",
            "type": "boolean",
            "description": "Leave inputs the provider had nothing for out of the dataset. Off by default, because keeping the misses is what lets you see which inputs resolved and which did not. Misses are never charged for either way.",
            "default": false
          },
          "maxResults": {
            "title": "Maximum results",
            "minimum": 1,
            "maximum": 50000,
            "type": "integer",
            "description": "Stop after this many rows. This is the cap on both spend and run time.",
            "default": 100
          },
          "clientId": {
            "title": "API user id",
            "type": "string",
            "description": "Your own API user id for the prospect data API. This provider issues an id and a secret rather than a single key, and exchanges the pair for a short lived token on every run. Required for every lookup. Stored as a secret."
          },
          "apiKey": {
            "title": "API secret",
            "type": "string",
            "description": "Your own API secret, paired with the API user id above. Sent only to the provider's token endpoint and never in a URL, so it never appears in a log line or a redirect. Required for every lookup. Stored as a secret."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}