{
  "data": {
    "id": "KQQJ7o0rqVHdjHf9n",
    "actId": "BgzbCEt2OBxt1MLed",
    "userId": "z38afnUoi1xZOhMDS",
    "startedAt": "2026-10-16T14:38:44.997Z",
    "finishedAt": "2026-10-16T14:38:48.715Z",
    "status": "SUCCEEDED",
    "meta": {
      "origin": "CLI"
    },
    "stats": {
      "durationMillis": 3631,
      "runTimeSecs": 3.631,
      "computeUnits": 0.004034444444444445,
      "imageSizeBytes": 289220608
    },
    "options": {
      "useCache": true,
      "betaPackages": false,
      "memoryMbytes": 4096,
      "diskMbytes": 8192
    },
    "exitCode": 0,
    "inputSchema": "{\n  \"title\": \"LinkedIn Contact Enricher input\",\n  \"description\": \"Provide LinkedIn profile URLs to enrich into emails and phone numbers. You are charged per successfully enriched profile.\",\n  \"type\": \"object\",\n  \"schemaVersion\": 1,\n  \"properties\": {\n    \"linkedinUrls\": {\n      \"title\": \"LinkedIn profile URLs\",\n      \"type\": \"array\",\n      \"description\": \"One or more LinkedIn profile URLs to look up.\",\n      \"editor\": \"stringList\",\n      \"prefill\": [\n        \"https://www.linkedin.com/in/williamhgates/\"\n      ],\n      \"items\": {\n        \"type\": \"string\",\n        \"pattern\": \"^https?://([a-z]{2,3}\\\\.)?linkedin\\\\.com/in/.+\"\n      }\n    }\n  },\n  \"required\": [\n    \"linkedinUrls\"\n  ]\n}",
    "readme": "# LinkedIn Contact Enricher 📧📞\n\nTurn any LinkedIn profile URL into a full contact record — **verified emails,\nphone numbers, job titles, and company data**. Paste one URL or thousands, and\nget clean, export-ready results. **Pay only for the contacts you actually get.**\n\n## 🧑‍💼 What does LinkedIn Contact Enricher do?\n\nLinkedIn Contact Enricher takes a **LinkedIn profile URL** and returns a\ncomplete, structured contact record: verified work email, direct phone\nnumber, full name, job title, company, and location.\n\nDrop in a single profile or a giant list — the Actor enriches them all and hands\nyou a clean dataset you can export to **CSV, Excel, or JSON**, or push straight\ninto your CRM. No subscriptions, no API keys to manage, no scraping setup.\n\n## 🕵️ What contact data can I extract?\n\nFor each matched profile you get:\n\n- 👤 **Full name** and LinkedIn headline\n- 💼 **Verified work email** — never pattern-guessed\n- 📞 **Direct / mobile phone** (US numbers)\n- 🏢 **Company**, company domain and company LinkedIn page\n- 🎯 **Job title** (current role)\n- 📍 **Location** (city, state, country)\n- 🔗 **LinkedIn URL**\n\nOutput sample:\n\n```json\n{\n  \"fullName\": \"Jane Doe\",\n  \"email\": \"jdoe@acmecorp.com\",\n  \"businessEmail\": \"jdoe@acmecorp.com\",\n  \"phone\": \"+15550101234\",\n  \"jobTitle\": \"Product Manager\",\n  \"company\": \"Acme Corp\",\n  \"companyDomain\": \"acmecorp.com\",\n  \"city\": \"Austin\",\n  \"state\": \"TX\",\n  \"country\": \"US\",\n  \"linkedinUrl\": \"https://www.linkedin.com/in/janedoe\"\n}\n```\n\n## 🔥 Why enrich LinkedIn contacts?\n\n- **Sales & outreach** — turn a list of LinkedIn prospects into email + phone you\n  can actually contact.\n- **Recruiting** — get candidate contact details straight from their profile.\n- **CRM enrichment** — fill in missing emails and phones across your records in\n  bulk.\n- **Lead-gen agencies** — convert LinkedIn lists into outreach-ready data for\n  clients.\n- **Founders & growth** — fast, targeted prospecting without a data team.\n\n## ⚡️ How do I use LinkedIn Contact Enricher?\n\n1. Click **Start** / **Try for free**.\n2. Paste one or more **LinkedIn profile URLs**.\n3. Run the Actor and export your results.\n\nNo proxies, no cookies, no LinkedIn login required. URLs are normalized\nautomatically, so `www.` and trailing slashes work fine.\n\n## ⌨️ Input\n\n```json\n{\n  \"linkedinUrls\": [\n    \"https://www.linkedin.com/in/janedoe/\",\n    \"https://linkedin.com/in/johnsmith\"\n  ]\n}\n```\n\n| Field | Type | Required | Description |\n| --- | --- | --- | --- |\n| `linkedinUrls` | array of strings | ✅ | LinkedIn profile URLs to enrich |\n\n## 📊 Output\n\nEach matched contact becomes one row in the dataset, with all the fields shown\nabove. You can download it as CSV, Excel, JSON, or access it via the Apify API.\n\nProfiles that **can't be matched return nothing and are not charged.**\n\n## 💰 How much does it cost?\n\n**Pay per contact found.** You're charged once for each contact returned in your\nresults. If a profile has no match, you pay nothing for it — so you only ever pay\nfor data you can use.\n\n## 🔌 Integrations\n\nResults live in a standard Apify dataset, so you can connect LinkedIn Contact\nEnricher to **HubSpot, Salesforce, Clay, Make, Zapier, Google Sheets**, and\nanything else that reads from the Apify API — or just export and import.\n\n## 🤖 Using LinkedIn Contact Enricher with the Apify API\n\nThe Apify API lets you run the Actor, pass input, and fetch results\nprogrammatically. Use the official\n[Apify client for JavaScript](https://docs.apify.com/api/client/js/) or\n[Python](https://docs.apify.com/api/client/python/), or call the REST API\ndirectly.\n\n## ⚖️ Is it legal to enrich LinkedIn contacts?\n\nThis Actor returns business-contact data that already exists in third-party\ndatasets — it does **not** log into or scrape LinkedIn directly. You are\nresponsible for using the data in compliance with applicable laws (**GDPR,\nCCPA**) and platform terms. Keep your outreach lawful and honor opt-out requests.\n\n## 💬 Your feedback\n\nFound a bug or want a new field or input filter? Open an issue on the Actor's\n**Issues** tab — feature requests and feedback are very welcome and help shape\nthe roadmap.\n",
    "actorDefinition": {
      "actorSpecification": 1,
      "name": "linkedin-contact-enricher",
      "title": "LinkedIn Contact Enricher - Email & Phone Finder",
      "description": "Enrich LinkedIn profiles into contact data. Paste profile URLs and get emails, phone numbers, job titles, company, industry, and location. Pay only for contacts found.",
      "version": "0.0",
      "buildTag": "latest",
      "meta": {
        "templateId": "python-start"
      },
      "readme": "# LinkedIn Contact Enricher 📧📞\n\nTurn any LinkedIn profile URL into a full contact record — **verified emails,\nphone numbers, job titles, and company data**. Paste one URL or thousands, and\nget clean, export-ready results. **Pay only for the contacts you actually get.**\n\n## 🧑‍💼 What does LinkedIn Contact Enricher do?\n\nLinkedIn Contact Enricher takes a **LinkedIn profile URL** and returns a\ncomplete, structured contact record: verified work email, direct phone\nnumber, full name, job title, company, and location.\n\nDrop in a single profile or a giant list — the Actor enriches them all and hands\nyou a clean dataset you can export to **CSV, Excel, or JSON**, or push straight\ninto your CRM. No subscriptions, no API keys to manage, no scraping setup.\n\n## 🕵️ What contact data can I extract?\n\nFor each matched profile you get:\n\n- 👤 **Full name** and LinkedIn headline\n- 💼 **Verified work email** — never pattern-guessed\n- 📞 **Direct / mobile phone** (US numbers)\n- 🏢 **Company**, company domain and company LinkedIn page\n- 🎯 **Job title** (current role)\n- 📍 **Location** (city, state, country)\n- 🔗 **LinkedIn URL**\n\nOutput sample:\n\n```json\n{\n  \"fullName\": \"Jane Doe\",\n  \"email\": \"jdoe@acmecorp.com\",\n  \"businessEmail\": \"jdoe@acmecorp.com\",\n  \"phone\": \"+15550101234\",\n  \"jobTitle\": \"Product Manager\",\n  \"company\": \"Acme Corp\",\n  \"companyDomain\": \"acmecorp.com\",\n  \"city\": \"Austin\",\n  \"state\": \"TX\",\n  \"country\": \"US\",\n  \"linkedinUrl\": \"https://www.linkedin.com/in/janedoe\"\n}\n```\n\n## 🔥 Why enrich LinkedIn contacts?\n\n- **Sales & outreach** — turn a list of LinkedIn prospects into email + phone you\n  can actually contact.\n- **Recruiting** — get candidate contact details straight from their profile.\n- **CRM enrichment** — fill in missing emails and phones across your records in\n  bulk.\n- **Lead-gen agencies** — convert LinkedIn lists into outreach-ready data for\n  clients.\n- **Founders & growth** — fast, targeted prospecting without a data team.\n\n## ⚡️ How do I use LinkedIn Contact Enricher?\n\n1. Click **Start** / **Try for free**.\n2. Paste one or more **LinkedIn profile URLs**.\n3. Run the Actor and export your results.\n\nNo proxies, no cookies, no LinkedIn login required. URLs are normalized\nautomatically, so `www.` and trailing slashes work fine.\n\n## ⌨️ Input\n\n```json\n{\n  \"linkedinUrls\": [\n    \"https://www.linkedin.com/in/janedoe/\",\n    \"https://linkedin.com/in/johnsmith\"\n  ]\n}\n```\n\n| Field | Type | Required | Description |\n| --- | --- | --- | --- |\n| `linkedinUrls` | array of strings | ✅ | LinkedIn profile URLs to enrich |\n\n## 📊 Output\n\nEach matched contact becomes one row in the dataset, with all the fields shown\nabove. You can download it as CSV, Excel, JSON, or access it via the Apify API.\n\nProfiles that **can't be matched return nothing and are not charged.**\n\n## 💰 How much does it cost?\n\n**Pay per contact found.** You're charged once for each contact returned in your\nresults. If a profile has no match, you pay nothing for it — so you only ever pay\nfor data you can use.\n\n## 🔌 Integrations\n\nResults live in a standard Apify dataset, so you can connect LinkedIn Contact\nEnricher to **HubSpot, Salesforce, Clay, Make, Zapier, Google Sheets**, and\nanything else that reads from the Apify API — or just export and import.\n\n## 🤖 Using LinkedIn Contact Enricher with the Apify API\n\nThe Apify API lets you run the Actor, pass input, and fetch results\nprogrammatically. Use the official\n[Apify client for JavaScript](https://docs.apify.com/api/client/js/) or\n[Python](https://docs.apify.com/api/client/python/), or call the REST API\ndirectly.\n\n## ⚖️ Is it legal to enrich LinkedIn contacts?\n\nThis Actor returns business-contact data that already exists in third-party\ndatasets — it does **not** log into or scrape LinkedIn directly. You are\nresponsible for using the data in compliance with applicable laws (**GDPR,\nCCPA**) and platform terms. Keep your outreach lawful and honor opt-out requests.\n\n## 💬 Your feedback\n\nFound a bug or want a new field or input filter? Open an issue on the Actor's\n**Issues** tab — feature requests and feedback are very welcome and help shape\nthe roadmap.\n",
      "input": {
        "title": "LinkedIn Contact Enricher input",
        "description": "Provide LinkedIn profile URLs to enrich into emails and phone numbers. You are charged per successfully enriched profile.",
        "type": "object",
        "schemaVersion": 1,
        "properties": {
          "linkedinUrls": {
            "title": "LinkedIn profile URLs",
            "type": "array",
            "description": "One or more LinkedIn profile URLs to look up.",
            "editor": "stringList",
            "prefill": [
              "https://www.linkedin.com/in/williamhgates/"
            ],
            "items": {
              "type": "string",
              "pattern": "^https?://([a-z]{2,3}\\.)?linkedin\\.com/in/.+"
            }
          }
        },
        "required": [
          "linkedinUrls"
        ]
      },
      "output": {
        "actorOutputSchemaVersion": 1,
        "title": "LinkedIn Contact Enricher output",
        "description": "Enriched contact records, one per matched LinkedIn profile.",
        "properties": {
          "results": {
            "type": "string",
            "title": "Enriched contacts",
            "description": "Open the dataset of enriched contact records.",
            "template": "{{links.apiDefaultDatasetUrl}}/items"
          },
          "resultsConsole": {
            "type": "string",
            "title": "View results in Console",
            "description": "Browse the enriched contacts in the Apify Console.",
            "template": "{{links.consoleDefaultDatasetUrl}}"
          }
        }
      },
      "dockerfile": "./Dockerfile",
      "storages": {
        "dataset": {
          "actorSpecification": 1,
          "fields": {
            "title": "Enriched contact",
            "type": "object",
            "properties": {
              "fullName": {
                "type": [
                  "string",
                  "null"
                ],
                "title": "Full name",
                "description": "Contact's full name."
              },
              "firstName": {
                "type": [
                  "string",
                  "null"
                ],
                "title": "First name"
              },
              "lastName": {
                "type": [
                  "string",
                  "null"
                ],
                "title": "Last name"
              },
              "email": {
                "type": [
                  "string",
                  "null"
                ],
                "title": "Email",
                "description": "Verified work email (falls back to a personal email when that is all we have)."
              },
              "businessEmail": {
                "type": [
                  "string",
                  "null"
                ],
                "title": "Business email",
                "description": "Verified work email."
              },
              "personalEmail": {
                "type": [
                  "string",
                  "null"
                ],
                "title": "Personal email",
                "description": "Personal email address, if available."
              },
              "phone": {
                "type": [
                  "string",
                  "null"
                ],
                "title": "Phone",
                "description": "Direct/mobile phone number (US only)."
              },
              "jobTitle": {
                "type": [
                  "string",
                  "null"
                ],
                "title": "Job title",
                "description": "Current job title."
              },
              "headline": {
                "type": [
                  "string",
                  "null"
                ],
                "title": "LinkedIn headline"
              },
              "company": {
                "type": [
                  "string",
                  "null"
                ],
                "title": "Company",
                "description": "Current company name."
              },
              "companyDomain": {
                "type": [
                  "string",
                  "null"
                ],
                "title": "Company domain",
                "description": "Company website domain."
              },
              "companyLinkedinUrl": {
                "type": [
                  "string",
                  "null"
                ],
                "title": "Company LinkedIn URL"
              },
              "linkedinUrl": {
                "type": [
                  "string",
                  "null"
                ],
                "title": "LinkedIn URL",
                "description": "Canonical LinkedIn profile URL of the matched contact."
              },
              "city": {
                "type": [
                  "string",
                  "null"
                ],
                "title": "City"
              },
              "state": {
                "type": [
                  "string",
                  "null"
                ],
                "title": "State"
              },
              "country": {
                "type": [
                  "string",
                  "null"
                ],
                "title": "Country",
                "description": "2-letter ISO country code."
              },
              "enriched": {
                "type": [
                  "boolean",
                  "null"
                ],
                "title": "Enriched",
                "description": "True if a contact was found for the requested URL."
              },
              "error": {
                "type": [
                  "string",
                  "null"
                ],
                "title": "Error",
                "description": "Error message if the lookup failed for this URL."
              },
              "fetchedAt": {
                "type": [
                  "string",
                  "null"
                ],
                "title": "Fetched at",
                "description": "ISO 8601 timestamp when the record was fetched."
              }
            }
          },
          "views": {
            "overview": {
              "title": "Overview",
              "transformation": {
                "fields": [
                  "fullName",
                  "email",
                  "businessEmail",
                  "phone",
                  "jobTitle",
                  "company",
                  "linkedinUrl",
                  "city",
                  "state",
                  "enriched",
                  "fetchedAt"
                ]
              },
              "display": {
                "component": "table",
                "properties": {
                  "fullName": {
                    "label": "Name"
                  },
                  "email": {
                    "label": "Email"
                  },
                  "businessEmail": {
                    "label": "Business email"
                  },
                  "phone": {
                    "label": "Phone"
                  },
                  "jobTitle": {
                    "label": "Job title"
                  },
                  "company": {
                    "label": "Company"
                  },
                  "linkedinUrl": {
                    "label": "LinkedIn URL"
                  },
                  "city": {
                    "label": "City"
                  },
                  "state": {
                    "label": "State"
                  },
                  "enriched": {
                    "label": "Enriched",
                    "format": "boolean"
                  },
                  "fetchedAt": {
                    "label": "Fetched at"
                  }
                }
              }
            }
          }
        }
      },
      "environmentVariables": {
        "BACKEND_URL": "https://c1nz9kqq31.execute-api.us-east-1.amazonaws.com",
        "BACKEND_API_SECRET": "@backendApiSecret"
      }
    },
    "buildNumber": "0.0.14",
    "imageDigest": "f2e22cfb95a34acbf5b84d51af40a921ba5da52831f41a7b2473f53053397c37",
    "actVersion": {
      "sourceType": "SOURCE_FILES",
      "buildTag": "latest",
      "versionNumber": "0.0"
    },
    "usage": {
      "ACTOR_COMPUTE_UNITS": 0.004034444444444445
    }
  }
}