{
  "data": {
    "id": "EhVyi9uvJ4eaUz9nF",
    "userId": "4P6eiRh7Zh5UTwC9T",
    "name": "bulk-people-enrichment",
    "username": "b2bsearch",
    "description": "Bulk LinkedIn profile scraper alternative and email enrichment from a CSV: upload emails, LinkedIn profile URLs or names + domains, get enriched profiles back at $3.20 per 1,000 resolved rows, or with emails and phones at $8 per 1,000 people with a live contact. 50,000 rows per run. Misses are free.",
    "isPublic": true,
    "createdAt": "2026-09-14T17:31:21.758Z",
    "modifiedAt": "2026-10-16T16:13:16.136Z",
    "taggedBuilds": {
      "latest": {
        "buildId": "NAouExIyOHqNWUZxT",
        "finishedAt": "2026-10-16T16:13:16.136Z",
        "buildNumberInt": 100051,
        "buildNumber": "0.1.51"
      }
    },
    "stats": {
      "totalBuilds": 51,
      "totalRuns": 163,
      "totalUsers": 13,
      "totalUsers7Days": 4,
      "totalUsers30Days": 9,
      "totalUsers90Days": 9,
      "lastRunStartedAt": "2026-10-16T14:29:18.431Z",
      "actorReviewCount": 0,
      "actorReviewRating": 0,
      "bookmarkCount": 0,
      "publicActorRunStats30Days": {
        "ABORTED": 2,
        "FAILED": 3,
        "SUCCEEDED": 96,
        "TIMED-OUT": 0,
        "TOTAL": 101
      }
    },
    "versions": [
      {
        "versionNumber": "0.1",
        "sourceType": "SOURCE_FILES",
        "buildTag": "latest"
      }
    ],
    "defaultRunOptions": {
      "build": "latest",
      "timeoutSecs": 3600,
      "memoryMbytes": 512
    },
    "exampleRunInput": {
      "body": "{\"csv\":\"https://api.apify.com/v2/key-value-stores/3QjjLxhysmMUbUbyX/records/sample-people.csv\"}",
      "contentType": "application/json; charset=utf-8"
    },
    "categories": [
      "LEAD_GENERATION",
      "SOCIAL_MEDIA",
      "AI"
    ],
    "isDeprecated": false,
    "title": "Bulk LinkedIn Profile Scraper & Email Enrichment — CSV, 50k",
    "pictureUrl": "https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/4P6eiRh7Zh5UTwC9T-actor-EhVyi9uvJ4eaUz9nF-tVchVIqeaS-bulk-people-enrichment.png",
    "seoTitle": "Bulk LinkedIn & Email Enrichment — CSV, 50k Rows, $3.20/1k",
    "seoDescription": "Upload a CSV of emails, LinkedIn URLs or names — get enriched profiles back at $3.20 per 1,000. 50k rows per run, crash-safe resume, misses free.",
    "pricingInfos": [
      {
        "minimalMaxTotalChargeUsd": null,
        "pricingModel": "PAY_PER_EVENT",
        "isPriceChangeNotificationSuppressed": false,
        "pricingPerEvent": {
          "actorChargeEvents": {
            "apify-actor-start": {
              "eventTitle": "Actor Start",
              "eventDescription": "Charged when the Actor starts running. Number of events charged depends on Actor memory (one event per GB, minimum one event).",
              "isOneTimeEvent": true,
              "eventPriceUsd": 0.005
            },
            "row-found": {
              "eventTitle": "Row resolved (summary)",
              "eventDescription": "A CSV row resolved to a profile; compact row delivered. Refusals are free.",
              "isOneTimeEvent": false,
              "eventPriceUsd": 0.015,
              "isPrimaryEvent": true
            },
            "row-found-full": {
              "eventTitle": "Row resolved (full profile)",
              "eventDescription": "A CSV row resolved to a profile; complete profile document delivered.",
              "isOneTimeEvent": false,
              "eventPriceUsd": 0.08
            }
          }
        },
        "startedAt": "2026-09-16T15:39:27.888Z",
        "createdAt": "2026-09-16T15:39:28.423Z",
        "apifyMarginPercentage": 0.2
      },
      {
        "pricingModel": "PAY_PER_EVENT",
        "reasonForChange": "Price cut: the whole lineup now costs less than the equivalent on the busiest shelf actor, on every Apify plan. One ladder: $1.50/1k rows, $3.20/1k profiles, $8/1k full documents with contacts.",
        "pricingPerEvent": {
          "actorChargeEvents": {
            "apify-actor-start": {
              "eventTitle": "Actor Start",
              "eventDescription": "Charged when the Actor starts running. Number of events charged depends on Actor memory (one event per GB, minimum one event).",
              "eventPriceUsd": 0.001,
              "isOneTimeEvent": true
            },
            "row-found": {
              "eventTitle": "Row resolved (summary)",
              "eventDescription": "A CSV row resolved to a profile; compact row delivered. Refusals are free.",
              "eventPriceUsd": 0.0032,
              "isOneTimeEvent": false,
              "isPrimaryEvent": true
            },
            "row-found-full": {
              "eventTitle": "Row resolved (full profile)",
              "eventDescription": "A CSV row resolved to a profile; complete profile document delivered.",
              "eventPriceUsd": 0.008,
              "isOneTimeEvent": false
            }
          }
        },
        "createdAt": "2026-09-17T18:32:28.556Z",
        "startedAt": "2026-09-17T18:32:28.556Z",
        "apifyMarginPercentage": 0.2,
        "notifiedAboutChangeAt": "2026-09-17T18:35:55.484Z"
      },
      {
        "pricingModel": "PAY_PER_EVENT",
        "reasonForChange": "Price cut: Actor start drops from $0.001 to $0.0002 so a single-item trial run costs less than the equivalent on the busiest shelf actor, not just a bulk run. Result prices unchanged.",
        "pricingPerEvent": {
          "actorChargeEvents": {
            "apify-actor-start": {
              "eventTitle": "Actor Start",
              "eventDescription": "Charged when the Actor starts running. Number of events charged depends on Actor memory (one event per GB, minimum one event).",
              "eventPriceUsd": 0.0002,
              "isOneTimeEvent": true
            },
            "row-found": {
              "eventTitle": "Row resolved (summary)",
              "eventDescription": "A CSV row resolved to a profile; compact row delivered. Refusals are free.",
              "eventPriceUsd": 0.0032,
              "isOneTimeEvent": false,
              "isPrimaryEvent": true
            },
            "row-found-full": {
              "eventTitle": "Row resolved (full profile)",
              "eventDescription": "A CSV row resolved to a profile; complete profile document delivered.",
              "eventPriceUsd": 0.008,
              "isOneTimeEvent": false
            }
          }
        },
        "createdAt": "2026-09-21T19:09:10.305Z",
        "startedAt": "2026-09-21T19:09:10.305Z",
        "apifyMarginPercentage": 0.2,
        "notifiedAboutChangeAt": "2026-09-21T19:35:58.413Z"
      }
    ],
    "notice": "NONE",
    "isCritical": false,
    "isGeneric": false,
    "hasNoDataset": false,
    "isSourceCodeHidden": true,
    "standbyUrl": null,
    "actorPermissionLevel": "LIMITED_PERMISSIONS",
    "readmeSummary": "## Bulk People Enrichment\n\nBulk People Enrichment performs high-volume person/profile enrichment: it resolves large CSV lists of emails, profile URLs, social handles, or names+company domains into structured professional profiles and optional contact data. The Actor matches each input row to the strongest available identifier, returns one result per input row, and produces full career records (current role, employer, location, company affiliation, complete work history with dates and descriptions, education, skills, certifications, languages, publications, profile URLs and social links). Optionally it augments profiles with verified contact details (work and personal email candidates, phone numbers) and metadata about contact verification and employer-match, and it emits per-row status and reason codes (resolved, ambiguous, not found, missing-required, etc.). Technical features include streaming row-by-row resolution for large files, checkpointing and resume for long runs, duplicate deduplication across the input file, name-disambiguation handling, and a compact output mode that reduces profile payloads for smaller context windows.\n\n## Use cases\n\n- Bulk enrichment of large CSVs (tens of thousands of rows) to append professional profiles to lists of emails, profile URLs, social handles or names+company domains.\n- Appending verified contact information (work/personal email candidates and phone numbers) to records where contacts are available and reach the person.\n- Filtering or requiring that returned people have specific signals (email, phone, social links) before accepting a result.\n- Handling duplicate input rows by resolving once and marking repeats.\n- Managing ambiguous name matches by flagging multi-holder name results instead of guessing.\n- Performing long-running, crash-safe batch processing with checkpoint/resume for reliability.\n- Producing compact profile payloads for use in constrained context windows or agent tooling, while retaining full-profile output when needed.",
    "deploymentKey": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDxo6tH2B14U/g11ntleK+GQ/s6vUy2AarY9/GGV4CnD3sdG0Ij+Xsgu2dR660Ac0YTh/7XSmK7/IVRRwb+hpqG+l9/yPdV7ywYZxI6RWMVBh0ekdtOa1YsAEQjLCPEU68FXqr+SVnc3tUTME31xVFTfPrrB8RYL1PKceN0E1T+UhyOeeQAaHShznn7Vht1skZAQS78ZFHp53upD7oWG4Hi6AeKjEg7b6kEhFJfyqoBWt4V0FAp7privCBCWSWdghGsa7M3a5G8i1bByKjCEzUTxC0jJIw33oEwUbv8/qLc59HxTPJ6SV61P/leD79ktm65WBYp9K1U9DXZ3XXWolpr \n"
  }
}