{
  "openapi": "3.0.1",
  "info": {
    "title": "LinkedIn Profile Scraper — Public Profile Data Extraction",
    "description": "Extract public profile data from LinkedIn without login. Gets name, headline, experience, education, skills, certifications, languages, and more.",
    "version": "0.2",
    "x-build-id": "uA8Vs8sTb8pIBYm6B"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/herus13~linkedin-profile-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-herus13-linkedin-profile-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/herus13~linkedin-profile-scraper/runs": {
      "post": {
        "operationId": "runs-sync-herus13-linkedin-profile-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/herus13~linkedin-profile-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-herus13-linkedin-profile-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",
        "required": [
          "profile_urls"
        ],
        "properties": {
          "profile_urls": {
            "title": "Profile URLs",
            "type": "array",
            "description": "List of LinkedIn profile URLs to scrape (e.g. https://www.linkedin.com/in/username)",
            "items": {
              "type": "string"
            }
          },
          "cookie": {
            "title": "LinkedIn Cookie (li_at) — REQUIRED",
            "type": "string",
            "description": "Your LinkedIn <code>li_at</code> session cookie. <strong>Required</strong> — LinkedIn now serves an authwall to anonymous requests from cloud infrastructure (Apify residential included), so a cookie is the only reliable way to access profile data. Find it in your browser: DevTools → <strong>Application</strong> → <strong>Cookies</strong> → <code>linkedin.com</code> → <code>li_at</code> → copy the value. Set <code>cookie_persist_key</code> below to avoid pasting it every run."
          },
          "cookie_persist_key": {
            "title": "Persist cookie under this key (optional)",
            "type": "string",
            "description": "Optional. When set, the actor reads/writes the <code>li_at</code> cookie from your <strong>own</strong> Apify Key-Value Store (named <code>linkedin-profile-scraper-cookies</code>, scoped to your account). On first run, paste the <code>cookie</code> field too — it's saved under this key for future runs. Subsequent runs can omit <code>cookie</code> and just set this key to reuse the saved value. Use different keys for different LinkedIn accounts (e.g. <code>alice</code>, <code>bob</code>). The cookie never leaves your Apify account."
          },
          "scrape_contact_info": {
            "title": "Scrape contact info (email, phone, websites, twitter, IM)",
            "type": "boolean",
            "description": "When enabled <em>and</em> a cookie is supplied (either inline or via persist key), fetches the profileContactInfo endpoint per profile (1 extra LinkedIn request each). Returns email, phone, websites, twitter handles, IM contacts, birthday, address. Ignored when no cookie is available.",
            "default": false
          },
          "proxy": {
            "title": "Proxy Configuration — country MUST match your cookie's country",
            "type": "object",
            "description": "<strong>The <code>country</code> field is mandatory and must match the country where you normally sign into LinkedIn (the country your cookie was generated in).</strong> Examples: <code>US</code> if you sign in from the United States, <code>GB</code> from the United Kingdom, <code>VN</code> from Vietnam, <code>DE</code> from Germany, <code>JP</code> from Japan. <br><br>Without a matching country, LinkedIn flags the request as a session hijack and deauthorizes the cookie within 1-2 requests — every profile returns HTTP 401. <br><br>Datacenter proxy will not work — LinkedIn blocks the entire DC IP range. Always use <code>RESIDENTIAL</code>."
          },
          "max_concurrency": {
            "title": "Max Concurrency",
            "minimum": 1,
            "maximum": 20,
            "type": "integer",
            "description": "Maximum concurrent requests",
            "default": 5
          },
          "max_requests_per_minute": {
            "title": "Max Requests Per Minute",
            "minimum": 1,
            "maximum": 120,
            "type": "integer",
            "description": "Rate limit for requests",
            "default": 30
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}