{
  "openapi": "3.0.1",
  "info": {
    "title": "theHarvester - OSINT Email & Subdomain Harvester",
    "description": "Cloud-hosted theHarvester OSINT tool. Harvest emails, subdomains, IPs, URLs and ASNs from 54+ public sources (Shodan, Censys, crt.sh, VirusTotal, SecurityTrails, GitHub, hunter.io). Full CLI feature parity — DNS brute force, subdomain takeover, screenshots. $0.003 per record harvested.",
    "version": "1.1",
    "x-build-id": "BTlKQ8v8aoT4fnPfu"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/anshumanatrey~theharvester-osint/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-anshumanatrey-theharvester-osint",
        "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/anshumanatrey~theharvester-osint/runs": {
      "post": {
        "operationId": "runs-sync-anshumanatrey-theharvester-osint",
        "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/anshumanatrey~theharvester-osint/run-sync": {
      "post": {
        "operationId": "run-sync-anshumanatrey-theharvester-osint",
        "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": [
          "domain"
        ],
        "properties": {
          "domain": {
            "title": "Target Domain",
            "type": "string",
            "description": "Domain to investigate (e.g., example.com, github.com). Required."
          },
          "sources": {
            "title": "Data Sources",
            "minItems": 1,
            "uniqueItems": true,
            "type": "array",
            "description": "Pick which data sources to query. Defaults (crtsh, hackertarget, rapiddns, certspotter) are FREE and require no API key. Premium sources are marked with 🔑 — they need API keys (see below). Free public sources are marked with ✓.",
            "items": {
              "type": "string",
              "enum": [
                "crtsh",
                "hackertarget",
                "rapiddns",
                "certspotter",
                "otx",
                "urlscan",
                "threatcrowd",
                "dnsdumpster",
                "duckduckgo",
                "baidu",
                "yahoo",
                "mojeek",
                "brave",
                "commoncrawl",
                "waybackarchive",
                "robtex",
                "subdomaincenter",
                "hudsonrock",
                "thc",
                "shodan",
                "censys",
                "virustotal",
                "securityTrails",
                "hunter",
                "hunterhow",
                "intelx",
                "fullhunt",
                "netlas",
                "leakix",
                "leaklookup",
                "zoomeye",
                "criminalip",
                "dehashed",
                "fofa",
                "github-code",
                "gitlab",
                "bitbucket",
                "bevigil",
                "builtwith",
                "chaos",
                "projectdiscovery",
                "onyphe",
                "pentesttools",
                "rocketreach",
                "securityscorecard",
                "subdomainfinderc99",
                "tomba",
                "venacus",
                "whoisxml",
                "windvane",
                "dymo",
                "haveibeenpwned",
                "bufferoverun",
                "shodanInternetDB"
              ],
              "enumTitles": [
                "crt.sh ✓ (TLS cert transparency)",
                "HackerTarget ✓",
                "RapidDNS ✓",
                "CertSpotter ✓",
                "AlienVault OTX ✓",
                "URLScan ✓",
                "ThreatCrowd ✓",
                "DNSdumpster ✓",
                "DuckDuckGo ✓",
                "Baidu ✓",
                "Yahoo ✓",
                "Mojeek ✓",
                "Brave Search ✓",
                "CommonCrawl ✓",
                "Wayback Archive ✓",
                "Robtex ✓",
                "SubdomainCenter ✓",
                "HudsonRock ✓",
                "THC ✓",
                "Shodan 🔑",
                "Censys 🔑",
                "VirusTotal 🔑",
                "SecurityTrails 🔑",
                "Hunter.io 🔑",
                "HunterHow 🔑",
                "IntelX 🔑",
                "FullHunt 🔑",
                "Netlas 🔑",
                "LeakIX 🔑",
                "LeakLookup 🔑",
                "ZoomEye 🔑",
                "CriminalIP 🔑",
                "Dehashed 🔑",
                "FOFA 🔑",
                "GitHub Code 🔑",
                "GitLab 🔑",
                "Bitbucket 🔑",
                "BeVigil 🔑",
                "BuiltWith 🔑",
                "ProjectDiscovery Chaos 🔑",
                "ProjectDiscovery 🔑",
                "Onyphe 🔑",
                "PentestTools 🔑",
                "RocketReach 🔑",
                "SecurityScorecard 🔑",
                "SubdomainFinder C99 🔑",
                "Tomba 🔑",
                "Venacus 🔑",
                "WhoisXML 🔑",
                "Windvane 🔑",
                "Dymo 🔑",
                "HaveIBeenPwned 🔑",
                "BufferOverun 🔑",
                "Shodan InternetDB 🔑"
              ]
            },
            "default": [
              "crtsh",
              "hackertarget",
              "rapiddns",
              "certspotter"
            ]
          },
          "limit": {
            "title": "Results Limit",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "Maximum number of search results per source",
            "default": 500
          },
          "start": {
            "title": "Start Position",
            "minimum": 0,
            "type": "integer",
            "description": "Skip the first N results (for pagination)",
            "default": 0
          },
          "timeout": {
            "title": "Subprocess Timeout (seconds)",
            "minimum": 60,
            "maximum": 3600,
            "type": "integer",
            "description": "Hard kill theHarvester after this many seconds. Default 1800 (30 min).",
            "default": 1800
          },
          "dnsLookup": {
            "title": "Enable DNS Lookup",
            "type": "boolean",
            "description": "Resolve discovered subdomains to IPs (-n flag)",
            "default": false
          },
          "dnsBrute": {
            "title": "DNS Brute Force",
            "type": "boolean",
            "description": "Brute-force common subdomains (-c flag). Slower but finds hidden subs.",
            "default": false
          },
          "dnsResolve": {
            "title": "DNS Resolve (resolver list path)",
            "type": "string",
            "description": "Path to a custom resolver list (-r flag). Leave empty to use defaults."
          },
          "dnsServer": {
            "title": "DNS Server",
            "type": "string",
            "description": "Custom DNS server IP for lookups (-e flag, e.g., 8.8.8.8)"
          },
          "shodan": {
            "title": "Shodan Query",
            "type": "boolean",
            "description": "Use Shodan to enrich discovered hosts (-s flag). Requires shodanApiKey.",
            "default": false
          },
          "takeOver": {
            "title": "Check Subdomain Takeover",
            "type": "boolean",
            "description": "Probe discovered subdomains for takeover signatures (-t flag).",
            "default": false
          },
          "screenshot": {
            "title": "Take Screenshots",
            "type": "boolean",
            "description": "Capture screenshots of discovered subdomains (--screenshot flag). Saves to actor key-value store.",
            "default": false
          },
          "apiScan": {
            "title": "API Endpoint Scan",
            "type": "boolean",
            "description": "Scan for exposed API endpoints (-a flag). Pair with wordlist for best results.",
            "default": false
          },
          "wordlist": {
            "title": "Wordlist Path (cloud-limited)",
            "type": "string",
            "description": "Path to a wordlist for API endpoint scanning (-w flag). Limited on Apify cloud — only files baked into the image work."
          },
          "useProxies": {
            "title": "Use Proxies",
            "type": "boolean",
            "description": "Route requests through proxies (-p flag). Requires proxies.yaml in the image.",
            "default": false
          },
          "quiet": {
            "title": "Quiet Mode",
            "type": "boolean",
            "description": "Suppress missing-API-key warnings (-q flag)",
            "default": true
          },
          "shodanApiKey": {
            "title": "Shodan API Key",
            "type": "string",
            "description": "shodan.io account API key — required for the shodan source"
          },
          "censysApiId": {
            "title": "Censys API ID",
            "type": "string",
            "description": "censys.io API ID (paired with secret below)"
          },
          "censysApiSecret": {
            "title": "Censys API Secret",
            "type": "string",
            "description": "censys.io API secret"
          },
          "hunterApiKey": {
            "title": "Hunter.io API Key",
            "type": "string",
            "description": "Hunter.io email-finder API key"
          },
          "hunterhowApiKey": {
            "title": "HunterHow API Key",
            "type": "string",
            "description": "hunter.how API key"
          },
          "securitytrailsApiKey": {
            "title": "SecurityTrails API Key",
            "type": "string",
            "description": "securitytrails.com API key — strong subdomain coverage"
          },
          "virustotalApiKey": {
            "title": "VirusTotal API Key",
            "type": "string",
            "description": "virustotal.com API key"
          },
          "githubToken": {
            "title": "GitHub Personal Access Token",
            "type": "string",
            "description": "Required for github-code source (search public code for domain references)"
          },
          "intelxApiKey": {
            "title": "IntelX API Key",
            "type": "string",
            "description": "intelx.io API key for leaked-data search"
          },
          "onypheApiKey": {
            "title": "Onyphe API Key",
            "type": "string",
            "description": "onyphe.io API key"
          },
          "fullhuntApiKey": {
            "title": "FullHunt API Key",
            "type": "string",
            "description": "fullhunt.io API key"
          },
          "netlasApiKey": {
            "title": "Netlas API Key",
            "type": "string",
            "description": "netlas.io API key"
          },
          "leakixApiKey": {
            "title": "LeakIX API Key",
            "type": "string",
            "description": "leakix.net API key"
          },
          "leaklookupApiKey": {
            "title": "LeakLookup API Key",
            "type": "string",
            "description": "leak-lookup.com API key"
          },
          "zoomeyeApiKey": {
            "title": "ZoomEye API Key",
            "type": "string",
            "description": "zoomeye.org API key"
          },
          "bevigilApiKey": {
            "title": "BeVigil API Key",
            "type": "string",
            "description": "bevigil.com API key"
          },
          "bitbucketApiKey": {
            "title": "Bitbucket API Key",
            "type": "string",
            "description": "Atlassian Bitbucket API key (for bitbucket source)"
          },
          "braveApiKey": {
            "title": "Brave Search API Key",
            "type": "string",
            "description": "Brave Search API key (free tier available)"
          },
          "bufferoverunApiKey": {
            "title": "BufferOverun API Key",
            "type": "string",
            "description": "tls.bufferover.run API key"
          },
          "builtwithApiKey": {
            "title": "BuiltWith API Key",
            "type": "string",
            "description": "builtwith.com API key"
          },
          "chaosApiKey": {
            "title": "ProjectDiscovery Chaos API Key",
            "type": "string",
            "description": "chaos.projectdiscovery.io API key"
          },
          "criminalipApiKey": {
            "title": "CriminalIP API Key",
            "type": "string",
            "description": "criminalip.io API key"
          },
          "dehashedApiKey": {
            "title": "DeHashed API Key",
            "type": "string",
            "description": "dehashed.com API key"
          },
          "dnsdumpsterApiKey": {
            "title": "DNSDumpster API Key",
            "type": "string",
            "description": "dnsdumpster.com API key"
          },
          "dymoApiKey": {
            "title": "Dymo API Key",
            "type": "string",
            "description": "Dymo source API key"
          },
          "fofaKey": {
            "title": "FOFA API Key",
            "type": "string",
            "description": "fofa.info API key (paired with email below)"
          },
          "fofaEmail": {
            "title": "FOFA Email",
            "type": "string",
            "description": "fofa.info account email"
          },
          "hackertargetApiKey": {
            "title": "HackerTarget API Key",
            "type": "string",
            "description": "hackertarget.com paid-tier API key (optional — free tier works without)"
          },
          "hibpApiKey": {
            "title": "HaveIBeenPwned API Key",
            "type": "string",
            "description": "haveibeenpwned.com API key — required for HIBP source"
          },
          "mojeekApiKey": {
            "title": "Mojeek API Key",
            "type": "string",
            "description": "mojeek.com search API key"
          },
          "pentesttoolsApiKey": {
            "title": "PentestTools API Key",
            "type": "string",
            "description": "pentest-tools.com API key"
          },
          "projectdiscoveryApiKey": {
            "title": "ProjectDiscovery API Key",
            "type": "string",
            "description": "ProjectDiscovery API key (separate from chaos)"
          },
          "rocketreachApiKey": {
            "title": "RocketReach API Key",
            "type": "string",
            "description": "rocketreach.co API key (people/email enrichment)"
          },
          "securityscorecardApiKey": {
            "title": "SecurityScorecard API Key",
            "type": "string",
            "description": "securityscorecard.io API key"
          },
          "subdomainfinderc99ApiKey": {
            "title": "SubdomainFinder C99 API Key",
            "type": "string",
            "description": "subdomainfinder.c99.nl API key"
          },
          "tombaKey": {
            "title": "Tomba API Key",
            "type": "string",
            "description": "tomba.io email-finder API key (paired with secret)"
          },
          "tombaSecret": {
            "title": "Tomba API Secret",
            "type": "string",
            "description": "tomba.io API secret"
          },
          "venacusApiKey": {
            "title": "Venacus API Key",
            "type": "string",
            "description": "venacus.com API key"
          },
          "whoisxmlApiKey": {
            "title": "WhoisXML API Key",
            "type": "string",
            "description": "whoisxmlapi.com API key"
          },
          "windvaneApiKey": {
            "title": "Windvane API Key",
            "type": "string",
            "description": "Windvane API key"
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}