{
  "openapi": "3.0.1",
  "info": {
    "title": "Linkedin Lead Scraper & Company Website Enrichment",
    "description": "Extract high-quality professional leads using the LinkedIn Lead Scraper. Collect names, job titles, company names, locations, and profile links automatically. Ideal for B2B prospecting, recruitment research, and building targeted outreach lists.",
    "version": "0.1",
    "x-build-id": "1G5dle5VIXHn0BlRh"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/scraper-engine~linkedin-lead-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-scraper-engine-linkedin-lead-scraper",
        "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/scraper-engine~linkedin-lead-scraper/runs": {
      "post": {
        "operationId": "runs-sync-scraper-engine-linkedin-lead-scraper",
        "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/scraper-engine~linkedin-lead-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-scraper-engine-linkedin-lead-scraper",
        "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": {
          "searchKeywords": {
            "title": "🔍 Search Keywords",
            "type": "array",
            "description": "Keywords to search for on LinkedIn (e.g. ['marketing', 'founder', 'business']). Each keyword is searched for LinkedIn profiles/posts containing a public email address. Example: 2 keywords + maxEmailsPerKeyword=20 → up to 40 rows.",
            "items": {
              "type": "string"
            }
          },
          "targetLocation": {
            "title": "📍 Target Location",
            "type": "string",
            "description": "Optional location to narrow the search (e.g. 'London', 'New York'). Leave empty to search globally."
          },
          "personalEmailDomainsFilter": {
            "title": "📧 Email Domains Filter",
            "type": "array",
            "description": "Optional: only keep rows whose discovered email ends with one of these domains (e.g. ['@gmail.com', '@outlook.com']). Leave empty to keep every domain found. Tip: a bare keyword alone (e.g. 'marketing') very rarely surfaces a visible email on Google's LinkedIn index — pairing it with a common personal-email domain like the prefilled example below reliably finds real leads.",
            "items": {
              "type": "string"
            }
          },
          "maxEmailsPerKeyword": {
            "title": "🔢 Max Emails per Keyword",
            "minimum": 1,
            "maximum": 5000,
            "type": "integer",
            "description": "Maximum number of email leads to collect per keyword. Default is 20."
          },
          "enrichCompanyWebsites": {
            "title": "🏢 Enrich Company Websites",
            "type": "boolean",
            "description": "When enabled, fetches the homepage of each unique company domain discovered in this run (once per domain) and reads its public technology footprint (analytics/CMS/framework/CDN/payment-processor signatures) plus any additional on-site contact emails. Off by default. Coverage depends on the company site being publicly reachable — not every domain will populate.",
            "default": false
          },
          "maxDomainsToEnrich": {
            "title": "🌐 Max Domains to Enrich",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "Upper limit on how many unique company domains get a website-enrichment fetch in a single run (only used when Enrich Company Websites is on). Protects the run from fetching an unbounded number of sites. Default is 25.",
            "default": 25
          },
          "detectEmailPatternIntelligence": {
            "title": "🧩 Detect Email Pattern Intelligence",
            "type": "boolean",
            "description": "When enabled (default), derives companyDomain, isCorporateEmail/isPersonalEmail, and an inferred emailPattern (e.g. '{first}.{last}@') per company domain by generalizing across every real email this run discovers for that domain — zero extra requests. Reports only the observed pattern from real addresses; never generates or emits a guessed/unverified email.",
            "default": true
          },
          "keywords": {
            "title": "⚙️ Legacy: keywords",
            "type": "array",
            "description": "Legacy alias of searchKeywords, kept for backward compatibility with the original actor's input. Use searchKeywords instead.",
            "items": {
              "type": "string"
            }
          },
          "location": {
            "title": "⚙️ Legacy: location",
            "type": "string",
            "description": "Legacy alias of targetLocation, kept for backward compatibility. Use targetLocation instead."
          },
          "emailDomains": {
            "title": "⚙️ Legacy: emailDomains",
            "type": "array",
            "description": "Legacy alias of personalEmailDomainsFilter, kept for backward compatibility. Use personalEmailDomainsFilter instead.",
            "items": {
              "type": "string"
            }
          },
          "maxEmails": {
            "title": "⚙️ Legacy: maxEmails",
            "minimum": 1,
            "maximum": 5000,
            "type": "integer",
            "description": "Legacy alias of maxEmailsPerKeyword, kept for backward compatibility. Use maxEmailsPerKeyword instead."
          },
          "proxyConfiguration": {
            "title": "🌍 Proxy Configuration",
            "type": "object",
            "description": "Choose which Apify proxy to use for the run. Leave at default to use the built-in proxy group this actor relies on for reliable search results."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}