{
  "data": {
    "id": "i18bYP9I4hs4lL0rN",
    "actId": "Z8wdQJZl5oKcFSW0P",
    "userId": "Vm9rypzYkHIRlbx9B",
    "startedAt": "2025-12-17T11:40:45.166Z",
    "finishedAt": "2025-12-17T11:40:57.895Z",
    "status": "SUCCEEDED",
    "meta": {
      "origin": "CLI"
    },
    "stats": {
      "durationMillis": 12662,
      "runTimeSecs": 12.662,
      "computeUnits": 0.01406888888888889,
      "imageSizeBytes": 340530880
    },
    "options": {
      "useCache": true,
      "betaPackages": false,
      "memoryMbytes": 4096,
      "diskMbytes": 8192
    },
    "exitCode": 0,
    "inputSchema": "{\n  \"title\": \"LinkedIn Profile Scraper Input\",\n  \"type\": \"object\",\n  \"schemaVersion\": 1,\n  \"properties\": {\n    \"profileUrls\": {\n      \"title\": \"Profile URLs\",\n      \"type\": \"array\",\n      \"description\": \"List of full LinkedIn Profile URLs (e.g. https://www.linkedin.com/in/williamhgates).\",\n      \"editor\": \"stringList\",\n      \"default\": [],\n      \"prefill\": [\n        \"https://www.linkedin.com/in/williamhgates\"\n      ],\n      \"items\": {\n        \"type\": \"string\",\n        \"pattern\": \"^https?:\\\\/\\\\/([a-zA-Z0-9-]+\\\\.)?linkedin\\\\.com\\\\/.*$\"\n      }\n    }\n  },\n  \"required\": [\n    \"profileUrls\"\n  ]\n}",
    "readme": "# 🚀 Mass LinkedIn Profile Scraper (No Cookies)\n\nA powerful, privacy-focused Apify Actor that enriches LinkedIn profiles with comprehensive data extraction. Designed for stability and scale without the need for authentication cookies.\n\n## 📋 Overview\n\nThe **Mass LinkedIn Profile Scraper** is an enterprise-grade extraction tool designed to gather detailed professional intelligence from LinkedIn profiles. It performs deep data enrichment-capturing work history, education, skills, and company details-making it an essential asset for market research, recruitment analytics, and lead qualification.\n\n### Key Highlights\n\n✅ **No LinkedIn Cookies Required** – Operates entirely via API integration, eliminating session risks.  \n✅ **Privacy First** – Fully compliant extraction without user account login.  \n✅ **High Fidelity Data** – Retrieves comprehensive profile details including skills and certifications.  \n✅ **Structured Output** – Delivers normalized, clean JSON data ready for integration.  \n✅ **Reliable Scaling** – Built to handle high-volume requests smoothly.\n\n## ✨ Features\n\n### 👤 Comprehensive Profile Data\nUnlocks deep profile insights including:\n- **Personal Details**: Full name, headline, summary, location, and public identifiers.\n- **Work History**: Complete timeline of positions, descriptions, durations, and roles.\n- **Education**: Degrees, fields of study, universities, and graduation years.\n- **Skills & Expertise**: Full list of professional skills and endorsements.\n- **Accomplishments**: Languages, certifications, publications, and volunteer experience.\n\n### 🏢 Company Intelligence\nEnriches profile data with associated company context:\n- Company names and industries\n- Official website and LinkedIn company URLs\n- Organization size and founding dates\n\n### ⚡ Enterprise Performance\n- **Zero Login Friction**: No need to manage browser sessions or cookies.\n- **Resilient Architecture**: Automatic retries and robust error handling.\n- **Smart Validation**: Automatically cleans and normalizes input URLs.\n\n## 🚀 Quick Start\n\n1. **Setup**: Create an Apify account.\n2. **Input**: Provide the LinkedIn Profile URL or ID.\n3. **Execute**: Run via the Apify Console or API.\n4. **Export**: Download results in JSON, CSV, or Excel format.\n\n## 🛠️ Usage\n\n### Input Configuration\n\nThe Actor handles one profile per run. For bulk processing, simply provide a list in the Apify Console or trigger multiple runs via API.\n\n**Parameter:** `target_profile`\n- **Description**: The **full** LinkedIn profile URL.\n- **Example**: `https://www.linkedin.com/in/williamhgates`\n\n### Running the Actor\n\n**Option 1: Apify Console**\n- Enter the `target_profile`.\n- Click **Start**.\n\n**Option 2: API**\n```bash\ncurl -X POST \\\n  'https://api.apify.com/v2/acts/YOUR_ACTOR_ID/runs?token=YOUR_API_TOKEN' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\n    \"target_profile\": \"https://www.linkedin.com/in/williamhgates\"\n  }'\n```\n\n## 📊 Output Format\n\nThe actor returns a rich JSON object for each profile:\n\n```json\n{\n  \"linkedin_url\": \"https://www.linkedin.com/in/williamhgates\",\n  \"first_name\": \"Bill\",\n  \"last_name\": \"Gates\",\n  \"headline\": \"Co-chair, Bill & Melinda Gates Foundation\",\n  \"location\": \"Seattle, Washington, United States\",\n  \"summary\": \"Co-chair of the Bill & Melinda Gates Foundation...\",\n  \"work_experience\": [\n    {\n      \"title\": \"Co-chair\",\n      \"company_name\": \"Bill & Melinda Gates Foundation\",\n      \"started_on\": \"2000-01\",\n      \"description\": \"Leading global health initiatives...\"\n    }\n  ],\n  \"education\": [\n    {\n      \"school_name\": \"Harvard University\",\n      \"degree\": \"Honorary\",\n      \"field_of_study\": \"Computer Science\"\n    }\n  ],\n  \"skills\": [\n    {\"name\": \"Strategic Planning\"},\n    {\"name\": \"Philanthropy\"}\n  ]\n}\n```\n\n## 🎯 Limits & Scalability\n\n- **Rate Limits**: Designed for high throughput.\n- **Concurrency**: Scales automatically with Apify container resources.\n\n## 🔐 Security & Privacy\n\n- **No Cookies**: We never ask for your LinkedIn cookies or credentials.\n- **Anonymous**: Scraping is performed via anonymous enterprise proxies.\n- **Compliance**: Adheres to comprehensive data privacy standards.\n\n---\n\n> **📝 Note from the Developer:**\n>\n> If you find this Actor useful, please leave a **bookmark** or a **review**! 🌟\n> If you are not getting results, please abort the run and open an issue/request regarding the problem - I will take care of it personally.\n>\n> *Currently, the Actor is rate-limited for testing purposes. These limits will be lifted if there is strong interest from the community.*\n>\n>  **Kalirobot**\n\n---\n\n**Made for the data community.**\n",
    "changelog": "# Changelog\n\n## [0.1.2] - 2025-12-16\n\n### Added\n- Implemented state persistence to handle server migrations gracefully. The scraper now resumes progress instead of restarting.\n\n### Fixed\n- Resolved an issue where URLs with trailing slashes caused duplicate data extraction.\n- Added logic to remove internationalization suffixes (e.g., `/en`, `/fr`) from LinkedIn Profile URLs to ensure consistent processing.\n\n## [0.1] - 2025-12-15\n\n### 🚀 Initial Release\n- Initial release of the LinkedIn Profile Scraper.\n- Core functionality for scraping LinkedIn profiles.\n- Support for session management and anti-detection.\n",
    "actorDefinition": {
      "actorSpecification": 1,
      "name": "linkedin-profile-scraper",
      "version": "0.1",
      "input": {
        "title": "LinkedIn Profile Scraper Input",
        "type": "object",
        "schemaVersion": 1,
        "properties": {
          "profileUrls": {
            "title": "Profile URLs",
            "type": "array",
            "description": "List of full LinkedIn Profile URLs (e.g. https://www.linkedin.com/in/williamhgates).",
            "editor": "stringList",
            "default": [],
            "prefill": [
              "https://www.linkedin.com/in/williamhgates"
            ],
            "items": {
              "type": "string",
              "pattern": "^https?:\\/\\/([a-zA-Z0-9-]+\\.)?linkedin\\.com\\/.*$"
            }
          }
        },
        "required": [
          "profileUrls"
        ]
      },
      "output": {
        "actorOutputSchemaVersion": 1,
        "title": "Output schema of the LinkedIn Scraper",
        "properties": {
          "scraped_profiles": {
            "type": "string",
            "title": "Scraped Profiles",
            "template": "{{links.apiDefaultDatasetUrl}}/items"
          }
        }
      },
      "storages": {
        "dataset": {
          "actorSpecification": 1,
          "title": "LinkedIn Profile Scraper - Dataset Schema",
          "description": "Schema for the scraped LinkedIn profiles.",
          "views": {
            "overview": {
              "title": "Full Profile Data",
              "description": "Comprehensive view of all scraped profile data",
              "transformation": {
                "fields": [
                  "linkedin_id",
                  "public_identifier",
                  "full_name",
                  "first_name",
                  "middle_name",
                  "last_name",
                  "unformatted_full_name",
                  "headline",
                  "summary",
                  "location",
                  "location_city",
                  "location_county",
                  "location_state",
                  "location_country",
                  "linkedin_url",
                  "input_url",
                  "email",
                  "phone",
                  "followers",
                  "num_of_connections",
                  "is_premium",
                  "is_job_seeker",
                  "is_openlink",
                  "is_verified",
                  "is_creator",
                  "is_influencer",
                  "is_retired",
                  "open_profile_messages",
                  "job_title",
                  "raw_job_title",
                  "job_description",
                  "job_started_on",
                  "job_ended_on",
                  "job_still_working",
                  "job_location",
                  "job_location_city",
                  "job_location_county",
                  "job_location_state",
                  "job_location_country",
                  "company_name",
                  "raw_company_name",
                  "company_id",
                  "company_industry",
                  "company_website",
                  "company_url",
                  "company_image",
                  "sales_id",
                  "linkedin_sales_link",
                  "skills",
                  "languages",
                  "educations",
                  "jobs",
                  "websites",
                  "private_website",
                  "twitter_link",
                  "profile_photo",
                  "background_picture",
                  "industry",
                  "peopleAlsoViewed",
                  "recommendations",
                  "recommendationsReceived",
                  "activities",
                  "certifications",
                  "volunteering_experience",
                  "patents",
                  "publications",
                  "courses",
                  "projects",
                  "honors_awards",
                  "featured",
                  "birthday",
                  "associated_hashtag"
                ]
              },
              "display": {
                "component": "table",
                "properties": {}
              }
            }
          }
        }
      },
      "buildTag": "latest",
      "environmentVariables": {
        "NETNUT_API_USER": "ntnt_0pn5zdpg",
        "NETNUT_API_PASS": "Jj0eadvqd7dd3Uu",
        "SUPABASE_URL": "https://kfjqfownnkudfwmowzmi.supabase.co",
        "SUPABASE_KEY": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6ImtmanFmb3dubmt1ZGZ3bW93em1pIiwicm9sZSI6InNlcnZpY2Vfcm9sZSIsImlhdCI6MTc2NTc5OTIwMSwiZXhwIjoyMDgxMzc1MjAxfQ.34_YklgT66LKb_MXmzPU6yk9ORzex3I3phe85_0ezrU",
        "TARGET_PROFILE": "williamhgates"
      },
      "readme": "# 🚀 Mass LinkedIn Profile Scraper (No Cookies)\n\nA powerful, privacy-focused Apify Actor that enriches LinkedIn profiles with comprehensive data extraction. Designed for stability and scale without the need for authentication cookies.\n\n## 📋 Overview\n\nThe **Mass LinkedIn Profile Scraper** is an enterprise-grade extraction tool designed to gather detailed professional intelligence from LinkedIn profiles. It performs deep data enrichment-capturing work history, education, skills, and company details-making it an essential asset for market research, recruitment analytics, and lead qualification.\n\n### Key Highlights\n\n✅ **No LinkedIn Cookies Required** – Operates entirely via API integration, eliminating session risks.  \n✅ **Privacy First** – Fully compliant extraction without user account login.  \n✅ **High Fidelity Data** – Retrieves comprehensive profile details including skills and certifications.  \n✅ **Structured Output** – Delivers normalized, clean JSON data ready for integration.  \n✅ **Reliable Scaling** – Built to handle high-volume requests smoothly.\n\n## ✨ Features\n\n### 👤 Comprehensive Profile Data\nUnlocks deep profile insights including:\n- **Personal Details**: Full name, headline, summary, location, and public identifiers.\n- **Work History**: Complete timeline of positions, descriptions, durations, and roles.\n- **Education**: Degrees, fields of study, universities, and graduation years.\n- **Skills & Expertise**: Full list of professional skills and endorsements.\n- **Accomplishments**: Languages, certifications, publications, and volunteer experience.\n\n### 🏢 Company Intelligence\nEnriches profile data with associated company context:\n- Company names and industries\n- Official website and LinkedIn company URLs\n- Organization size and founding dates\n\n### ⚡ Enterprise Performance\n- **Zero Login Friction**: No need to manage browser sessions or cookies.\n- **Resilient Architecture**: Automatic retries and robust error handling.\n- **Smart Validation**: Automatically cleans and normalizes input URLs.\n\n## 🚀 Quick Start\n\n1. **Setup**: Create an Apify account.\n2. **Input**: Provide the LinkedIn Profile URL or ID.\n3. **Execute**: Run via the Apify Console or API.\n4. **Export**: Download results in JSON, CSV, or Excel format.\n\n## 🛠️ Usage\n\n### Input Configuration\n\nThe Actor handles one profile per run. For bulk processing, simply provide a list in the Apify Console or trigger multiple runs via API.\n\n**Parameter:** `target_profile`\n- **Description**: The **full** LinkedIn profile URL.\n- **Example**: `https://www.linkedin.com/in/williamhgates`\n\n### Running the Actor\n\n**Option 1: Apify Console**\n- Enter the `target_profile`.\n- Click **Start**.\n\n**Option 2: API**\n```bash\ncurl -X POST \\\n  'https://api.apify.com/v2/acts/YOUR_ACTOR_ID/runs?token=YOUR_API_TOKEN' \\\n  -H 'Content-Type: application/json' \\\n  -d '{\n    \"target_profile\": \"https://www.linkedin.com/in/williamhgates\"\n  }'\n```\n\n## 📊 Output Format\n\nThe actor returns a rich JSON object for each profile:\n\n```json\n{\n  \"linkedin_url\": \"https://www.linkedin.com/in/williamhgates\",\n  \"first_name\": \"Bill\",\n  \"last_name\": \"Gates\",\n  \"headline\": \"Co-chair, Bill & Melinda Gates Foundation\",\n  \"location\": \"Seattle, Washington, United States\",\n  \"summary\": \"Co-chair of the Bill & Melinda Gates Foundation...\",\n  \"work_experience\": [\n    {\n      \"title\": \"Co-chair\",\n      \"company_name\": \"Bill & Melinda Gates Foundation\",\n      \"started_on\": \"2000-01\",\n      \"description\": \"Leading global health initiatives...\"\n    }\n  ],\n  \"education\": [\n    {\n      \"school_name\": \"Harvard University\",\n      \"degree\": \"Honorary\",\n      \"field_of_study\": \"Computer Science\"\n    }\n  ],\n  \"skills\": [\n    {\"name\": \"Strategic Planning\"},\n    {\"name\": \"Philanthropy\"}\n  ]\n}\n```\n\n## 🎯 Limits & Scalability\n\n- **Rate Limits**: Designed for high throughput.\n- **Concurrency**: Scales automatically with Apify container resources.\n\n## 🔐 Security & Privacy\n\n- **No Cookies**: We never ask for your LinkedIn cookies or credentials.\n- **Anonymous**: Scraping is performed via anonymous enterprise proxies.\n- **Compliance**: Adheres to comprehensive data privacy standards.\n\n---\n\n> **📝 Note from the Developer:**\n>\n> If you find this Actor useful, please leave a **bookmark** or a **review**! 🌟\n> If you are not getting results, please abort the run and open an issue/request regarding the problem - I will take care of it personally.\n>\n> *Currently, the Actor is rate-limited for testing purposes. These limits will be lifted if there is strong interest from the community.*\n>\n>  **Kalirobot**\n\n---\n\n**Made for the data community.**\n",
      "changelog": "# Changelog\n\n## [0.1.2] - 2025-12-16\n\n### Added\n- Implemented state persistence to handle server migrations gracefully. The scraper now resumes progress instead of restarting.\n\n### Fixed\n- Resolved an issue where URLs with trailing slashes caused duplicate data extraction.\n- Added logic to remove internationalization suffixes (e.g., `/en`, `/fr`) from LinkedIn Profile URLs to ensure consistent processing.\n\n## [0.1] - 2025-12-15\n\n### 🚀 Initial Release\n- Initial release of the LinkedIn Profile Scraper.\n- Core functionality for scraping LinkedIn profiles.\n- Support for session management and anti-detection.\n"
    },
    "buildNumber": "0.1.30",
    "actVersion": {
      "sourceType": "SOURCE_FILES",
      "buildTag": "latest",
      "versionNumber": "0.1"
    },
    "usage": {
      "ACTOR_COMPUTE_UNITS": 0.01406888888888889
    }
  }
}