{
  "data": {
    "id": "kvI2pOIawg2hnQfQ1",
    "actId": "XrHjtmUB22kxiqSKX",
    "userId": "WnAcrcYfqemEqC7Ng",
    "startedAt": "2026-10-10T16:57:47.876Z",
    "finishedAt": "2026-10-10T16:58:01.631Z",
    "status": "SUCCEEDED",
    "meta": {
      "origin": "CLI"
    },
    "stats": {
      "durationMillis": 13652,
      "runTimeSecs": 13.652,
      "computeUnits": 0.01516888888888889,
      "imageSizeBytes": 275944960
    },
    "options": {
      "useCache": true,
      "betaPackages": false,
      "memoryMbytes": 4096,
      "diskMbytes": 8192
    },
    "createdByOrganizationMemberUserId": "qJhl11oymmmUULYQY",
    "exitCode": 0,
    "inputSchema": "{\n  \"title\": \"LinkedIn Profile Scraper\",\n  \"description\": \"Fetch full public LinkedIn profile details — headline, location, about, work history, education, articles, and activity — for one or more usernames or profile URLs.\",\n  \"type\": \"object\",\n  \"schemaVersion\": 1,\n  \"properties\": {\n    \"username\": {\n      \"title\": \"LinkedIn profiles\",\n      \"type\": \"array\",\n      \"description\": \"LinkedIn usernames or /in/ profile URLs to fetch full profile details for.\",\n      \"editor\": \"stringList\",\n      \"items\": {\n        \"type\": \"string\"\n      },\n      \"default\": [\n        \"williamhgates\"\n      ],\n      \"prefill\": [\n        \"satyanadella\"\n      ]\n    },\n    \"maxItems\": {\n      \"title\": \"Max results\",\n      \"type\": \"integer\",\n      \"description\": \"Maximum number of profiles to fetch. Set to 0 for no item limit.\",\n      \"editor\": \"number\",\n      \"default\": 100,\n      \"prefill\": 20,\n      \"minimum\": 0\n    }\n  },\n  \"required\": [\n    \"username\"\n  ],\n  \"additionalProperties\": true\n}",
    "readme": "# LinkedIn Profile Scraper\n\nThe Actor resolves one or more public LinkedIn profiles to structured records containing headline, location, about text, work history, education, articles, and recent activity. It accepts either bare usernames or full `/in/` profile URLs, and requires no LinkedIn account or session cookie.\n\n## Accepted input\n\n| Field | Type | Default | Description |\n|---|---|---|---|\n| `username` | array of strings | — | Required. LinkedIn usernames or `/in/` profile URLs. |\n| `maxItems` | integer | `100` | Maximum profiles fetched. `0` removes the limit. |\n\n```json\n{\n  \"username\": [\n    \"williamhgates\",\n    \"https://www.linkedin.com/in/satyanadella/\"\n  ],\n  \"maxItems\": 100\n}\n```\n\nBoth forms shown above are equivalent. A value is reduced to its `/in/` segment before the request is made, so country subdomains (`uk.linkedin.com`), trailing slashes, query strings, and a leading `@` are all accepted and stripped. Duplicate entries that reduce to the same username are removed before any request is issued, and are therefore neither fetched nor billed twice.\n\n## Response fields\n\nOne record per profile.\n\n| Field | Contents |\n|---|---|\n| `username` | The username used to fetch the record |\n| `name` | Name displayed on the profile |\n| `headline` | Headline or organisation text |\n| `job_titles` | Job titles listed on the profile |\n| `badges` | Profile badges, such as open-to-work |\n| `location` | Location text as displayed |\n| `country` | Country component of the location |\n| `about` | About section |\n| `followers` | Follower count |\n| `connections` | Connection count |\n| `image` | Profile image URL |\n| `url` | Canonical profile URL |\n| `languages` | Languages listed |\n| `awards` | Awards listed |\n| `works_for` | Current organisation |\n| `experience` | Work history entries |\n| `education` | Education entries |\n| `education_jsonld` | Education as published in the page's structured data |\n| `articles` | Articles authored by the member |\n| `related_profiles` | Profiles LinkedIn shows alongside this one |\n| `activity` | Recent public activity |\n| `jsonld` | The page's raw JSON-LD block |\n\n```json\n{\n  \"username\": \"williamhgates\",\n  \"name\": \"Bill Gates\",\n  \"headline\": \"Chair, Gates Foundation\",\n  \"location\": \"Seattle, Washington\",\n  \"country\": \"United States\",\n  \"followers\": 37000000,\n  \"url\": \"https://www.linkedin.com/in/williamhgates\"\n}\n```\n\n## Behaviour on partial results\n\nProfiles are fetched one request per username. A username that cannot be retrieved — because the profile is private, has been removed, or the request failed after the client's own retries — is logged as a warning and skipped. The run continues to the next username and completes normally, so one unreachable profile does not discard the profiles collected before it or prevent those after it from being fetched.\n\nA profile that is not publicly visible therefore produces no record rather than a partial one. The number of records returned can consequently be lower than the number of usernames supplied, and the run log lists every username that was skipped.\n\nFields absent from the source profile are returned as `null` rather than omitted, so the record shape is stable across a run.\n\n## Frequently asked questions\n\n**Is a LinkedIn account or session cookie required?**\nNo. The Actor reads publicly visible profile pages only. No LinkedIn credentials, `li_at` cookie, or logged-in session is supplied or needed, which also means nothing is tied to a personal account.\n\n**Are email addresses returned?**\nNo. Email addresses are not published on public LinkedIn profiles, and none are inferred, guessed, or looked up through third-party sources. The record contains what the public page displays.\n\n**Why does a profile return fewer fields than expected?**\nMembers control the visibility of individual sections. An about section, education list, or activity feed hidden from logged-out visitors is absent from the page the Actor reads, and the corresponding field is `null`. Signed-in visibility is not reproduced.\n\n**What distinguishes `related_profiles` here from the Related User Scraper?**\nThis Actor returns the related-profile list as one field on the profile record. [LinkedIn Related User Scraper](https://apify.com/thenetaji/linkedin-related-user-scraper) expands the same list into one row per related person, deduplicated across seeds, with optional full profile detail for each. Use this Actor when the seed profile is the subject; use that one when the related people are.\n\n**Can a profile URL be supplied instead of a username?**\nYes, and the two are interchangeable. Regional subdomains, trailing slashes, and query strings are removed before the request.\n\n**How many profiles can one run fetch?**\nAs many usernames as are supplied, bounded by `maxItems`. Each profile is a separate request, so the run duration scales linearly with the number of usernames.\n\n## Related Actors\n\n| Actor | Purpose |\n|---|---|\n| [LinkedIn Related User Scraper](https://apify.com/thenetaji/linkedin-related-user-scraper) | Expand a seed profile into the people LinkedIn shows alongside it |\n| [LinkedIn Company Scraper](https://apify.com/thenetaji/linkedin-company-scraper) | Company page details by handle or URL |\n| [LinkedIn Post Scraper](https://apify.com/thenetaji/linkedin-post-scraper) | Post, activity, and article details by URL |\n| [LinkedIn Jobs Scraper](https://apify.com/thenetaji/linkedin-jobs-scraper) | Job search by keyword and location |\n",
    "actorDefinition": {
      "actorSpecification": 1,
      "name": "linkedin-profile-scraper",
      "title": "LinkedIn Profile Scraper",
      "description": "Fetch full public LinkedIn profile details — headline, location, about, work history, education, articles, and activity — for one or more usernames or profile URLs.",
      "version": "0.1",
      "input": {
        "title": "LinkedIn Profile Scraper",
        "description": "Fetch full public LinkedIn profile details — headline, location, about, work history, education, articles, and activity — for one or more usernames or profile URLs.",
        "type": "object",
        "schemaVersion": 1,
        "properties": {
          "username": {
            "title": "LinkedIn profiles",
            "type": "array",
            "description": "LinkedIn usernames or /in/ profile URLs to fetch full profile details for.",
            "editor": "stringList",
            "items": {
              "type": "string"
            },
            "default": [
              "williamhgates"
            ],
            "prefill": [
              "satyanadella"
            ]
          },
          "maxItems": {
            "title": "Max results",
            "type": "integer",
            "description": "Maximum number of profiles to fetch. Set to 0 for no item limit.",
            "editor": "number",
            "default": 100,
            "prefill": 20,
            "minimum": 0
          }
        },
        "required": [
          "username"
        ],
        "additionalProperties": true
      },
      "dockerfile": "./Dockerfile",
      "minMemoryMbytes": 128,
      "defaultMemoryMbytes": 128,
      "maxMemoryMbytes": 256,
      "buildTag": "latest",
      "environmentVariables": {
        "ACTOR_PROJECT": "linkedin",
        "ACTOR_OPERATION": "profileDetails",
        "ACTOR_ALLOWED_OPERATIONS": "[\"profileDetails\"]",
        "ACTOR_INPUT_FIELDS": "[\"username\",\"maxItems\"]",
        "API_BASE_URL": "https://api.toolzerhub.com/v1/linkedin",
        "API_KEY": "tzhub_live_35d8f9dbc05e13257448b62fe15cc436"
      },
      "categories": [
        "LEAD_GENERATION",
        "SOCIAL_MEDIA",
        "AUTOMATION"
      ],
      "seoTitle": "LinkedIn Profile Scraper - Public Profile Data",
      "seoDescription": "Resolve LinkedIn usernames or profile URLs to records with headline, location, about text, work history, education, articles, and recent activity.",
      "storages": {
        "dataset": {
          "actorSpecification": 1,
          "fields": {
            "$schema": "http://json-schema.org/draft-07/schema#",
            "type": "object",
            "properties": {
              "username": {
                "type": [
                  "string",
                  "number",
                  "boolean",
                  "object",
                  "array",
                  "null"
                ],
                "description": "Username used to fetch this profile.",
                "example": "melindagates"
              },
              "name": {
                "type": [
                  "string",
                  "number",
                  "boolean",
                  "object",
                  "array",
                  "null"
                ],
                "description": "Name shown on the profile.",
                "example": "Melinda French Gates"
              },
              "headline": {
                "type": [
                  "string",
                  "number",
                  "boolean",
                  "object",
                  "array",
                  "null"
                ],
                "description": "Current headline or organization text shown on the profile.",
                "example": "Pivotal"
              },
              "job_titles": {
                "type": [
                  "string",
                  "number",
                  "boolean",
                  "object",
                  "array",
                  "null"
                ],
                "description": "Job titles shown across the profile's current positions.",
                "example": [
                  "Co-chair",
                  "Founder"
                ]
              },
              "badges": {
                "type": [
                  "string",
                  "number",
                  "boolean",
                  "object",
                  "array",
                  "null"
                ],
                "description": "Creator or Top Voice badges shown on the profile.",
                "example": "Creator, Top Voice"
              },
              "location": {
                "type": [
                  "string",
                  "number",
                  "boolean",
                  "object",
                  "array",
                  "null"
                ],
                "description": "Location shown on the profile.",
                "example": "Seattle, Washington, United States"
              },
              "country": {
                "type": [
                  "string",
                  "number",
                  "boolean",
                  "object",
                  "array",
                  "null"
                ],
                "description": "Country code shown on the profile.",
                "example": "US"
              },
              "about": {
                "type": [
                  "string",
                  "number",
                  "boolean",
                  "object",
                  "array",
                  "null"
                ],
                "description": "About/summary text shown on the profile.",
                "example": "Chair of the Gates Foundation."
              },
              "followers": {
                "type": [
                  "string",
                  "number",
                  "boolean",
                  "object",
                  "array",
                  "null"
                ],
                "description": "Follower count.",
                "example": 40509534
              },
              "connections": {
                "type": [
                  "string",
                  "number",
                  "boolean",
                  "object",
                  "array",
                  "null"
                ],
                "description": "Connection count, when public.",
                "example": null
              },
              "image": {
                "type": [
                  "string",
                  "number",
                  "boolean",
                  "object",
                  "array",
                  "null"
                ],
                "description": "Profile photo or company logo URL.",
                "example": "https://media.licdn.com/dms/image/..."
              },
              "url": {
                "type": [
                  "string",
                  "number",
                  "boolean",
                  "object",
                  "array",
                  "null"
                ],
                "description": "LinkedIn profile URL.",
                "example": "https://www.linkedin.com/in/melindagates"
              },
              "languages": {
                "type": [
                  "string",
                  "number",
                  "boolean",
                  "object",
                  "array",
                  "null"
                ],
                "description": "Languages listed on the profile.",
                "example": []
              },
              "awards": {
                "type": [
                  "string",
                  "number",
                  "boolean",
                  "object",
                  "array",
                  "null"
                ],
                "description": "Awards listed on the profile.",
                "example": []
              },
              "works_for": {
                "type": [
                  "string",
                  "number",
                  "boolean",
                  "object",
                  "array",
                  "null"
                ],
                "description": "Current and past organizations, with start/end years.",
                "example": [
                  {
                    "name": "Microsoft",
                    "url": "https://www.linkedin.com/company/microsoft",
                    "start": 1975,
                    "end": null
                  }
                ]
              },
              "education_jsonld": {
                "type": [
                  "string",
                  "number",
                  "boolean",
                  "object",
                  "array",
                  "null"
                ],
                "description": "Structured education history (schema.org shape).",
                "example": []
              },
              "experience": {
                "type": [
                  "string",
                  "number",
                  "boolean",
                  "object",
                  "array",
                  "null"
                ],
                "description": "Work experience entries with title, company, and date range.",
                "example": [
                  {
                    "title": "Co-chair",
                    "company": "Gates Foundation",
                    "date_range": "2000 - Present"
                  }
                ]
              },
              "education": {
                "type": [
                  "string",
                  "number",
                  "boolean",
                  "object",
                  "array",
                  "null"
                ],
                "description": "Education entries with school and date range.",
                "example": [
                  {
                    "school": "Harvard University",
                    "date_range": "1973 - 1975"
                  }
                ]
              },
              "articles": {
                "type": [
                  "string",
                  "number",
                  "boolean",
                  "object",
                  "array",
                  "null"
                ],
                "description": "LinkedIn Pulse articles published by the profile.",
                "example": []
              },
              "related_profiles": {
                "type": [
                  "string",
                  "number",
                  "boolean",
                  "object",
                  "array",
                  "null"
                ],
                "description": "Related profile suggestions shown on the profile.",
                "example": []
              },
              "activity": {
                "type": [
                  "string",
                  "number",
                  "boolean",
                  "object",
                  "array",
                  "null"
                ],
                "description": "Recent posts and articles shown on the profile or company page.",
                "example": []
              },
              "jsonld": {
                "type": [
                  "string",
                  "number",
                  "boolean",
                  "object",
                  "array",
                  "null"
                ],
                "description": "Structured schema.org data embedded in the page.",
                "example": {}
              }
            },
            "required": [],
            "additionalProperties": true
          },
          "views": {
            "overview": {
              "title": "Overview",
              "description": "Key fields from this run at a glance",
              "transformation": {
                "fields": [
                  "username",
                  "name",
                  "headline",
                  "location",
                  "followers",
                  "url"
                ]
              },
              "display": {
                "component": "table",
                "properties": {
                  "username": {
                    "label": "Username",
                    "format": "text"
                  },
                  "name": {
                    "label": "Name",
                    "format": "text"
                  },
                  "headline": {
                    "label": "Headline",
                    "format": "text"
                  },
                  "location": {
                    "label": "Location",
                    "format": "text"
                  },
                  "followers": {
                    "label": "Followers",
                    "format": "number"
                  },
                  "url": {
                    "label": "Profile URL",
                    "format": "link"
                  }
                }
              }
            }
          }
        }
      },
      "output": {
        "actorOutputSchemaVersion": 1,
        "title": "LinkedIn Profile Scraper",
        "description": "Fetch full public LinkedIn profile details — headline, location, about, work history, education, articles, and activity — for one or more usernames or profile URLs.",
        "properties": {
          "dataset": {
            "type": "string",
            "title": "Results",
            "description": "All records scraped by this run",
            "template": "{{links.apiDefaultDatasetUrl}}/items"
          }
        }
      },
      "readme": "# LinkedIn Profile Scraper\n\nThe Actor resolves one or more public LinkedIn profiles to structured records containing headline, location, about text, work history, education, articles, and recent activity. It accepts either bare usernames or full `/in/` profile URLs, and requires no LinkedIn account or session cookie.\n\n## Accepted input\n\n| Field | Type | Default | Description |\n|---|---|---|---|\n| `username` | array of strings | — | Required. LinkedIn usernames or `/in/` profile URLs. |\n| `maxItems` | integer | `100` | Maximum profiles fetched. `0` removes the limit. |\n\n```json\n{\n  \"username\": [\n    \"williamhgates\",\n    \"https://www.linkedin.com/in/satyanadella/\"\n  ],\n  \"maxItems\": 100\n}\n```\n\nBoth forms shown above are equivalent. A value is reduced to its `/in/` segment before the request is made, so country subdomains (`uk.linkedin.com`), trailing slashes, query strings, and a leading `@` are all accepted and stripped. Duplicate entries that reduce to the same username are removed before any request is issued, and are therefore neither fetched nor billed twice.\n\n## Response fields\n\nOne record per profile.\n\n| Field | Contents |\n|---|---|\n| `username` | The username used to fetch the record |\n| `name` | Name displayed on the profile |\n| `headline` | Headline or organisation text |\n| `job_titles` | Job titles listed on the profile |\n| `badges` | Profile badges, such as open-to-work |\n| `location` | Location text as displayed |\n| `country` | Country component of the location |\n| `about` | About section |\n| `followers` | Follower count |\n| `connections` | Connection count |\n| `image` | Profile image URL |\n| `url` | Canonical profile URL |\n| `languages` | Languages listed |\n| `awards` | Awards listed |\n| `works_for` | Current organisation |\n| `experience` | Work history entries |\n| `education` | Education entries |\n| `education_jsonld` | Education as published in the page's structured data |\n| `articles` | Articles authored by the member |\n| `related_profiles` | Profiles LinkedIn shows alongside this one |\n| `activity` | Recent public activity |\n| `jsonld` | The page's raw JSON-LD block |\n\n```json\n{\n  \"username\": \"williamhgates\",\n  \"name\": \"Bill Gates\",\n  \"headline\": \"Chair, Gates Foundation\",\n  \"location\": \"Seattle, Washington\",\n  \"country\": \"United States\",\n  \"followers\": 37000000,\n  \"url\": \"https://www.linkedin.com/in/williamhgates\"\n}\n```\n\n## Behaviour on partial results\n\nProfiles are fetched one request per username. A username that cannot be retrieved — because the profile is private, has been removed, or the request failed after the client's own retries — is logged as a warning and skipped. The run continues to the next username and completes normally, so one unreachable profile does not discard the profiles collected before it or prevent those after it from being fetched.\n\nA profile that is not publicly visible therefore produces no record rather than a partial one. The number of records returned can consequently be lower than the number of usernames supplied, and the run log lists every username that was skipped.\n\nFields absent from the source profile are returned as `null` rather than omitted, so the record shape is stable across a run.\n\n## Frequently asked questions\n\n**Is a LinkedIn account or session cookie required?**\nNo. The Actor reads publicly visible profile pages only. No LinkedIn credentials, `li_at` cookie, or logged-in session is supplied or needed, which also means nothing is tied to a personal account.\n\n**Are email addresses returned?**\nNo. Email addresses are not published on public LinkedIn profiles, and none are inferred, guessed, or looked up through third-party sources. The record contains what the public page displays.\n\n**Why does a profile return fewer fields than expected?**\nMembers control the visibility of individual sections. An about section, education list, or activity feed hidden from logged-out visitors is absent from the page the Actor reads, and the corresponding field is `null`. Signed-in visibility is not reproduced.\n\n**What distinguishes `related_profiles` here from the Related User Scraper?**\nThis Actor returns the related-profile list as one field on the profile record. [LinkedIn Related User Scraper](https://apify.com/thenetaji/linkedin-related-user-scraper) expands the same list into one row per related person, deduplicated across seeds, with optional full profile detail for each. Use this Actor when the seed profile is the subject; use that one when the related people are.\n\n**Can a profile URL be supplied instead of a username?**\nYes, and the two are interchangeable. Regional subdomains, trailing slashes, and query strings are removed before the request.\n\n**How many profiles can one run fetch?**\nAs many usernames as are supplied, bounded by `maxItems`. Each profile is a separate request, so the run duration scales linearly with the number of usernames.\n\n## Related Actors\n\n| Actor | Purpose |\n|---|---|\n| [LinkedIn Related User Scraper](https://apify.com/thenetaji/linkedin-related-user-scraper) | Expand a seed profile into the people LinkedIn shows alongside it |\n| [LinkedIn Company Scraper](https://apify.com/thenetaji/linkedin-company-scraper) | Company page details by handle or URL |\n| [LinkedIn Post Scraper](https://apify.com/thenetaji/linkedin-post-scraper) | Post, activity, and article details by URL |\n| [LinkedIn Jobs Scraper](https://apify.com/thenetaji/linkedin-jobs-scraper) | Job search by keyword and location |\n"
    },
    "buildNumber": "0.1.18",
    "imageDigest": "043efa51bc256fc233856cff66f9c80f09047e93f4e6f0d25b10af1fc38ec7b9",
    "actVersion": {
      "sourceType": "SOURCE_FILES",
      "buildTag": "latest",
      "versionNumber": "0.1"
    },
    "usage": {
      "ACTOR_COMPUTE_UNITS": 0.01516888888888889
    }
  }
}