{
  "openapi": "3.0.1",
  "info": {
    "title": "LinkedIn API No Login: Search, Profiles, Companies & Emails",
    "description": "LinkedIn API with no cookies and no login: search LinkedIn people and companies by keyword, job title and location (Sales Navigator alternative), scrape profiles, company data, jobs and posts, find verified work emails. Pay per result.",
    "version": "1.0",
    "x-build-id": "oFPEUzyalP4gU1W3e"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/pnda~linkedin-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-pnda-linkedin-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/pnda~linkedin-scraper/runs": {
      "post": {
        "operationId": "runs-sync-pnda-linkedin-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/pnda~linkedin-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-pnda-linkedin-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": {
          "mode": {
            "title": "Mode",
            "enum": [
              "urls",
              "search"
            ],
            "type": "string",
            "description": "\"Scrape URLs\": paste LinkedIn URLs and get full records. \"Search LinkedIn (no cookies)\": find LinkedIn profiles or companies from keywords, job title and location through Google (no login, no cookies, no LinkedIn account), then optionally scrape them and find their verified work email.",
            "default": "urls"
          },
          "type": {
            "title": "Content type (URL mode)",
            "enum": [
              "Profile",
              "Company",
              "Job",
              "Post"
            ],
            "type": "string",
            "description": "URL mode: what kind of LinkedIn URLs are you providing?",
            "default": "Profile"
          },
          "urls": {
            "title": "URLs (URL mode)",
            "type": "array",
            "description": "URL mode: LinkedIn URLs matching the selected content type.",
            "items": {
              "type": "string"
            }
          },
          "searchType": {
            "title": "Search for (search mode)",
            "enum": [
              "people",
              "company"
            ],
            "type": "string",
            "description": "Search mode: find people (linkedin.com/in profiles) or companies (linkedin.com/company pages).",
            "default": "people"
          },
          "keywords": {
            "title": "Keywords",
            "type": "string",
            "description": "Search mode: industry, skills or any words, e.g. \"marketing agency\", \"saas\", \"shopify\"."
          },
          "role": {
            "title": "Job title / role",
            "type": "string",
            "description": "Search mode: job title to look for, e.g. \"CEO\", \"head of sales\", \"recruiter\". People search: added to the query. Company search with \"Find people at each company\": the role searched at each company."
          },
          "location": {
            "title": "Location",
            "type": "string",
            "description": "Search mode: city, region or country, e.g. \"Paris\", \"London\", \"Texas\"."
          },
          "maxResults": {
            "title": "Max results",
            "minimum": 5,
            "maximum": 1000,
            "type": "integer",
            "description": "Search mode: maximum number of leads (people or companies) to return. Google pages hold about 10 results, so multiples of 10 work best. Minimum 5.",
            "default": 20
          },
          "findPeopleAtCompanies": {
            "title": "Find people at each company (company search)",
            "type": "boolean",
            "description": "Company search only: for every company found, also search its employees with the job title in \"Job title / role\" (one extra search per company, up to \"People per company\" profiles, each billed as a search result).",
            "default": false
          },
          "peoplePerCompany": {
            "title": "People per company",
            "minimum": 5,
            "maximum": 10,
            "type": "integer",
            "description": "With \"Find people at each company\": maximum profiles per company (5 to 10).",
            "default": 10
          },
          "scrapeResults": {
            "title": "Scrape full details of each lead",
            "type": "boolean",
            "description": "Search mode: also scrape each profile / company found (same data as URL mode), billed per record like URL mode.",
            "default": false
          },
          "country": {
            "title": "Google country",
            "type": "string",
            "description": "Search mode: two-letter Google country code used for the search (gl), e.g. us, fr, gb, de.",
            "default": "us"
          },
          "language": {
            "title": "Google language",
            "type": "string",
            "description": "Search mode: two-letter Google interface language (hl), e.g. en, fr.",
            "default": "en"
          },
          "findEmail": {
            "title": "Find work email (profiles)",
            "type": "boolean",
            "description": "URL mode with Profile URLs, or search mode for people: finds the person's professional email from their name and current company (company domain from the profile, otherwise guessed from the company name), verified live over SMTP. Billed only when a verified email is found ($9 / 1,000). Catch-all domains return a best guess with confidence \"catch-all\", free of charge.",
            "default": false
          },
          "useCache": {
            "title": "Reuse recent results",
            "type": "boolean",
            "description": "On: profiles and company pages already scraped recently (by any run) are returned from a shared result cache instead of being scraped again: faster, same data, same price. Failed pages are never cached. Jobs and posts are always scraped live. Off: everything is scraped live.",
            "default": true
          },
          "maxCacheAgeDays": {
            "title": "Max age of a reused result (days)",
            "minimum": 0,
            "maximum": 365,
            "type": "integer",
            "description": "With \"Reuse recent results\": only reuse results at most this many days old. 0 = always scrape live. Empty = 30 days."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}