{
  "openapi": "3.0.1",
  "info": {
    "title": "LinkedIn Lead Generation | Apollo & ZoomInfo Alternative",
    "description": "Build LinkedIn lead lists by job title, seniority, location and company size. No LinkedIn login required. A real Apollo & ZoomInfo alternative — pay only for delivered leads, not a per-seat subscription.",
    "version": "0.1",
    "x-build-id": "Pck9TddNNfb9sMUDw"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/b2bdata~linkedin-lead-generation/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-b2bdata-linkedin-lead-generation",
        "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/b2bdata~linkedin-lead-generation/runs": {
      "post": {
        "operationId": "runs-sync-b2bdata-linkedin-lead-generation",
        "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/b2bdata~linkedin-lead-generation/run-sync": {
      "post": {
        "operationId": "run-sync-b2bdata-linkedin-lead-generation",
        "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": {
          "jobTitles": {
            "title": "Job titles",
            "type": "array",
            "description": "Current job title contains any of these (e.g. \"VP Sales\", \"Head of Growth\"). At least one of jobTitles, seniority, countries, cities or companyDomains is required. Leave empty if you're targeting specific companies via companyDomains instead.",
            "items": {
              "type": "string"
            },
            "default": []
          },
          "titleMatch": {
            "title": "Title match mode",
            "enum": [
              "broad",
              "exact_words"
            ],
            "type": "string",
            "description": "Broad = substring match. Exact words = whole-word match only (fewer false positives, e.g. avoids \"VP Sales\" matching \"VP of Sales Development Representative Sourcing\").",
            "default": "broad"
          },
          "seniority": {
            "title": "Seniority",
            "type": "array",
            "description": "Filter by seniority level. Leave empty to skip this filter.",
            "items": {
              "type": "string",
              "enum": [
                "cxo",
                "vp",
                "director",
                "manager",
                "founder"
              ],
              "enumTitles": [
                "C-level",
                "VP",
                "Director",
                "Manager",
                "Founder"
              ]
            },
            "default": []
          },
          "countries": {
            "title": "Countries (ISO codes)",
            "type": "array",
            "description": "Lowercase ISO country codes, max 5 (e.g. \"us\", \"gb\", \"de\"). Upstream data gap: many profiles have this field blank even when their city clearly shows the country — combining this with companyDomains on a specific company can silently return 0 real matches. Leave empty when targeting specific companies via companyDomains.",
            "items": {
              "type": "string"
            },
            "default": []
          },
          "cities": {
            "title": "Cities / regions",
            "type": "array",
            "description": "City or region name, substring match (e.g. \"San Francisco\").",
            "items": {
              "type": "string"
            },
            "default": []
          },
          "companySizeMin": {
            "title": "Company size — min employees",
            "type": "integer",
            "description": "Leave blank for no minimum."
          },
          "companySizeMax": {
            "title": "Company size — max employees",
            "type": "integer",
            "description": "Leave blank for no maximum."
          },
          "includeUnknownSize": {
            "title": "Include companies with unknown size",
            "type": "boolean",
            "description": "Only applies when a min/max company size is set.",
            "default": false
          },
          "industries": {
            "title": "Industries",
            "type": "array",
            "description": "Exact LinkedIn industry name, case-insensitive (e.g. \"Computer Software\", \"Information Technology and Services\", \"Financial Services\", \"Marketing and Advertising\") — not free text. A wrong name (e.g. \"Software\") fails the run with no charge. The filter matches the employer's industry classification, which can differ from the `industry` column in the results. Test first with Preview only (free). Leave empty to skip.",
            "items": {
              "type": "string"
            },
            "default": []
          },
          "companyDomains": {
            "title": "Target company domains",
            "type": "array",
            "description": "Restrict to these companies (bare domains, e.g. \"stripe.com\"). Leave empty for open discovery.",
            "items": {
              "type": "string"
            },
            "default": []
          },
          "excludeTitleWords": {
            "title": "Exclude titles containing",
            "type": "array",
            "description": "Drop candidates whose title contains any of these (e.g. \"Intern\", \"Assistant\").",
            "items": {
              "type": "string"
            },
            "default": []
          },
          "excludeHeadlineWords": {
            "title": "Exclude headlines containing",
            "type": "array",
            "description": "Drop candidates whose headline contains any of these (e.g. \"retired\", \"open to work\").",
            "items": {
              "type": "string"
            },
            "default": []
          },
          "maxLeads": {
            "title": "Max leads",
            "minimum": 1,
            "maximum": 2000,
            "type": "integer",
            "description": "Maximum number of leads to deliver (a lead has a real, company-domain-matched email). Capped at 2000 per run.",
            "default": 100
          },
          "maxPerCompany": {
            "title": "Max leads per company",
            "type": "integer",
            "description": "Cap how many leads come from the same company, so one large employer doesn't dominate the list. Leave blank for no cap."
          },
          "includeCompanyDetails": {
            "title": "Include company details",
            "type": "boolean",
            "description": "Look up each company's LinkedIn URL (one extra lookup per unique company, cached across leads at the same company). Off = companyLinkedinUrl stays blank, fewer upstream calls, same price.",
            "default": true
          },
          "requirePhone": {
            "title": "Require a phone number",
            "type": "boolean",
            "description": "Only deliver leads that also have a phone number on file (roughly 1 in 6 people do), returned in the phoneNumbers column. Same price per lead, but the run scans many more people, so it takes longer and may deliver fewer than Max leads. Numbers are as listed in the database — not verified, and some may be company switchboard lines.",
            "default": false
          },
          "excludeProfileIds": {
            "title": "Exclude profile IDs",
            "type": "array",
            "description": "Profile IDs to exclude — paste the profileId column from a previous run to avoid re-paying for leads you already have.",
            "default": []
          },
          "previewOnly": {
            "title": "Preview only (free)",
            "type": "boolean",
            "description": "Return only the estimated audience size for these filters. Charges nothing. Use this to size your list before running for real.",
            "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}