{
  "data": {
    "id": "hDkf2BrgWdEPe5oUO",
    "actId": "GRUJeL303PnfTSmTB",
    "userId": "NaxepuPwL5mf0Zh01",
    "startedAt": "2026-09-09T11:47:57.122Z",
    "finishedAt": "2026-09-09T11:48:38.925Z",
    "status": "SUCCEEDED",
    "meta": {
      "origin": "CLI"
    },
    "stats": {
      "durationMillis": 41749,
      "runTimeSecs": 41.749,
      "computeUnits": 0.04638777777777778,
      "imageSizeBytes": 537972736
    },
    "options": {
      "useCache": true,
      "betaPackages": false,
      "memoryMbytes": 4096,
      "diskMbytes": 8192
    },
    "exitCode": 0,
    "inputSchema": "{\n  \"title\": \"Reverse Email Lookup — Name, LinkedIn & Phone\",\n  \"type\": \"object\",\n  \"schemaVersion\": 1,\n  \"properties\": {\n    \"email\": {\n      \"title\": \"Email address\",\n      \"type\": \"string\",\n      \"description\": \"The email address to enrich (one per run). Apify Free plan: this Actor can be started 5 time(s) per calendar month per user, and every Neuralverge Actor has its own allowance; a run that finds nothing counts too. Any paid Apify plan removes the limit.\",\n      \"editor\": \"textfield\",\n      \"prefill\": \"steve@builder.io\",\n      \"example\": \"steve@builder.io\"\n    },\n    \"waitForCapacitySecs\": {\n      \"title\": \"Queue for up to (seconds)\",\n      \"type\": \"integer\",\n      \"description\": \"How long this run may queue if Neuralverge is at its rate limit, before giving up. Raise it when you start many runs at once and would rather wait than retry; set it to 0 if you need an immediate answer. A run that gives up writes no row and is not charged, and it finishes as succeeded with the reason in its status message — it is not an error.\",\n      \"editor\": \"number\",\n      \"default\": 60,\n      \"minimum\": 0,\n      \"maximum\": 90,\n      \"prefill\": 60,\n      \"sectionCaption\": \"Rate limit handling\",\n      \"sectionDescription\": \"Neuralverge accepts 5 requests per second for this Actor. Above that the backend answers 429 and this run waits its turn instead of failing.\"\n    }\n  },\n  \"required\": [\n    \"email\"\n  ],\n  \"description\": \"Apify Free plan: this Actor can be started 5 time(s) per calendar month per user, and every Neuralverge Actor has its own allowance; a run that finds nothing counts too. Any paid Apify plan removes the limit. Rate limit: this Actor accepts 5 requests per second per Apify account, counted separately from the other Neuralverge Actors. Above it the backend answers 429 and the run queues for up to 60 seconds (adjustable) instead of failing; a run that still cannot get through writes no row, is not charged, and finishes as succeeded with the reason in its status message.\"\n}",
    "readme": "## Reverse Email Lookup — Name, LinkedIn & Phone ✅ No API Key\n\nReverse email lookup and enrichment — find the person behind any email: **name, company, job title,\nphone, location and full LinkedIn profile** (headline, skills, work history and education). Powered by\nthe Neuralverge API. **No login or account required**, and every completed lookup returns a\nrow — a match, or an explicit `no result` row that says why. Export to JSON, CSV or Excel.\n\nIdeal for lead enrichment, sales prospecting, KYC/identity resolution, and feeding verified person\ndata to AI agents.\n\n## ✨ Why this Actor\n\n- 💸 **One row per completed lookup** — you pay per lookup that ran, matched or not; a run that\n  *fails* (invalid input, API error, timeout) writes nothing and is never charged.\n- 🧩 **Full person profile** — name, emails, phones, location, company, and the complete LinkedIn\n  profile: headline, connections, skills, full position history and education.\n- 🔓 **No login, cookies or account** — resolution runs on the Neuralverge backend.\n- ⚡ **Real-time & structured** — fresh data each run, one predictable JSON schema, ready for a\n  spreadsheet, database or AI pipeline (MCP-ready).\n\n## 🔧 How it works\n\n1. **Provide an email** — e.g. `steve@builder.io`.\n2. **Run the Actor.** Resolution and structuring happen on the Neuralverge backend.\n3. **Get one dataset row** — one flat record per resolved email. Export to CSV, JSON, or Excel, or\n   pull it over the Apify API.\n\nAn email that doesn't resolve to a person comes back as one `no result` row, billed like any\nother row — so nothing disappears from a batch.\n\n## Input\n\nOne email per run.\n\n| Field | Type | Notes |\n|---|---|---|\n| `email` | string | The email address to look up. |\n\n```json\n{\n  \"email\": \"steve@builder.io\"\n}\n```\n\n## What you'll receive\n\nEach dataset row is **flat**: the `email` you submitted, followed by every field of the Neuralverge\nresult at the top level. No wrapper block — the fields are the columns.\n\n- `full_names` — resolved name(s)\n- `emails`, `phones` — contact points found\n- `locations` — array of `country` / `state` / `city`\n- `company` — current company (when available). The job title comes from `linkedin.positions`\n  (`positionHistory[0].title`) and from `linkedin.headline`; the top-level `position` field is\n  reserved and is usually `null`\n- `linkedin_profile` — the profile URL\n- `linkedin` — full LinkedIn object: `displayName`, `firstName`, `lastName`, `headline`,\n  `companyName`, `location`, `photoUrl`, `connectionCount`, `skills`, `schools` (education history)\n  and `positions` (full work history)\n- `gender`, `date_of_birth`, `x_profile`, `telegram_username` — when found (else `null`)\n\n### Example output (real run)\n\nExactly the dataset row the Actor writes for `steve@builder.io` — the submitted `email` plus the\nresult fields at the top level. No wrapper fields (`session_id`/`total_points`/`human`/`machine`).\n\n```json\n{\n  \"email\": \"steve@builder.io\",\n  \"full_names\": [\n    \"Steve Sewell\"\n  ],\n  \"gender\": null,\n  \"date_of_birth\": null,\n  \"emails\": [\n    \"steve@builder.io\"\n  ],\n  \"phones\": [\n    \"9165058708\"\n  ],\n  \"locations\": [\n    {\n      \"country\": \"US\",\n      \"state\": \"CA\",\n      \"city\": \"San Francisco\"\n    },\n    {\n      \"country\": \"United States\",\n      \"state\": \"California\",\n      \"city\": \"San Francisco\"\n    }\n  ],\n  \"company\": \"Builder.io\",\n  \"position\": null,\n  \"linkedin_profile\": \"https://linkedin.com/in/steve8708\",\n  \"linkedin\": {\n    \"id\": \"urn:li:person:DgHPWIpJV6-oW7iTlnDNcjd0Wqt27YlMrHT4WeyOsYI\",\n    \"displayName\": \"Steve Sewell\",\n    \"firstName\": \"Steve\",\n    \"lastName\": \"Sewell\",\n    \"headline\": \"CEO @ Builder.io - visually code together\",\n    \"summary\": \"\",\n    \"companyName\": \"Builder.io\",\n    \"location\": \"San Francisco, California, United States\",\n    \"photoUrl\": \"https://media.licdn.com/dms/image/v2/D5603AQFUtnmLlbPpFw/profile-displayphoto-shrink_400_400/profile-displayphoto-shrink_400_400/0/1702096308767?e=1784660400&v=beta&t=ch7LBKZQDohus1RnwIsVW-MDppZsw8P-xU2Gazt6MiU\",\n    \"profileUrl\": \"https://linkedin.com/in/steve8708\",\n    \"reportProfileUrl\": \"https://linkedin.com/in/steve8708/report\",\n    \"connectionCount\": 500,\n    \"isConnectionCountObfuscated\": true,\n    \"skills\": [\n      \"Express.js\",\n      \"Node.js\",\n      \"SEO\",\n      \"Product Management\",\n      \"Adobe Creative Suite\",\n      \"Product Design\",\n      \"Product Development\",\n      \"Mobile Applications\",\n      \"CSS3\",\n      \"Single Page Applications\",\n      \"Startups\",\n      \"User Interface Design\",\n      \"HTML 5\",\n      \"User Experience\",\n      \"Interaction Design\",\n      \"JavaScript\",\n      \"jQuery\",\n      \"Photoshop\",\n      \"Agile Methodologies\",\n      \"Backbone.js\",\n      \"Angular.js\",\n      \"Web Applications\",\n      \"Agile Development\"\n    ],\n    \"locale\": {\n      \"country\": \"us\",\n      \"language\": \"en\"\n    },\n    \"schools\": {\n      \"educationsCount\": 1,\n      \"educationHistory\": [\n        {\n          \"startEndDate\": {\n            \"start\": {\n              \"year\": 2008\n            },\n            \"end\": {\n              \"year\": 2010\n            }\n          },\n          \"schoolName\": \"University of California, Berkeley\",\n          \"schoolLocation\": \"Berkeley, California, United States\",\n          \"schoolLogo\": \"https://media.licdn.com/dms/image/v2/D560BAQGwjF_5CYj_JQ/company-logo_400_400/company-logo_400_400/0/1732135669731/uc_berkeley_logo?e=1784660400&v=beta&t=Mz1ZNJjtNEx_IPDMmBm66lvET7Xm-Aya62qE7ISJxVw\",\n          \"linkedInUrl\": \"https://www.linkedin.com/company/uc-berkeley\"\n        }\n      ]\n    },\n    \"positions\": {\n      \"positionsCount\": 4,\n      \"positionHistory\": [\n        {\n          \"title\": \"Co-Founder, CEO\",\n          \"startEndDate\": {\n            \"start\": {\n              \"month\": 9,\n              \"year\": 2019\n            },\n            \"end\": {}\n          },\n          \"description\": \"Convert designs to code to live pages in record time\",\n          \"companyName\": \"Builder.io\",\n          \"companyLocation\": \"San Francisco Bay Area\",\n          \"companyLogo\": \"https://media.licdn.com/dms/image/v2/D560BAQF5e4P00Nd5IQ/company-logo_400_400/B56Z0DBIWCHoAc-/0/1773872121522/builder_io_logo?e=1784660400&v=beta&t=3Yd_ASfggYB8pGzbSKS33OKur2Grq4sPnXpN6hfvQMc\",\n          \"linkedInUrl\": \"https://www.linkedin.com/company/builder-io\"\n        },\n        {\n          \"title\": \"Engineering manager, web\",\n          \"startEndDate\": {\n            \"start\": {\n              \"month\": 1,\n              \"year\": 2014\n            },\n            \"end\": {\n              \"month\": 4,\n              \"year\": 2016\n            }\n          },\n          \"description\": \"I lead our web applications engineering teams, all built on Angular + Node.js. Lead replatform + rebuild projects shopstyle.com, shopstylecollective.com, and other international ShopStyle sites\",\n          \"companyName\": \"ShopStyle, Inc.\",\n          \"companyLogo\": \"https://media.licdn.com/dms/image/v2/C560BAQHcphCGvisw2Q/company-logo_400_400/company-logo_400_400/0/1656741393081?e=1784660400&v=beta&t=AwwTHmehhBMBTH_loJIaUhutFnBg2f2__ZLR1GMTbDc\",\n          \"linkedInUrl\": \"https://www.linkedin.com/company/shopstyle\"\n        },\n        {\n          \"title\": \"Head of Product Development\",\n          \"startEndDate\": {\n            \"start\": {\n              \"month\": 7,\n              \"year\": 2012\n            },\n            \"end\": {\n              \"month\": 12,\n              \"year\": 2013\n            }\n          },\n          \"description\": \"Designed and built PICT web and mobile apps. Acquired by ShopStyle (now Rakuten)\",\n          \"companyName\": \"PICT\",\n          \"companyLocation\": \"san francisco bay area\",\n          \"linkedInUrl\": \"https://www.linkedin.com/search/results/companies/?keywords=PICT\"\n        }\n      ]\n    }\n  },\n  \"x_profile\": null,\n  \"telegram_username\": null\n}\n```\n\n> A real match. Every field the Neuralverge system resolved sits at the top level of the row, so it\n> maps straight to a spreadsheet column. Fields not found come back as `null`.\n\n### When nothing is found\n\nA lookup that runs but resolves nobody still returns a row, so a batch never silently loses an\ninput:\n\n| Column | Value |\n|---|---|\n| your query fields | echoed back exactly as submitted |\n| `found` | `false` |\n| `message` | why nothing was returned |\n\nFilter these out with `found != false` (or drop rows where `message` is set). This row is billed\nas one result — see Pricing.\n\n## Pricing\n\nPay per event — **$0.010 per match** ($10 per 1,000) written to the dataset. There is no run fee\nand no start fee.\n\n| Event | Price | Charged |\n|---|---|---|\n| Actor start | **free** | never |\n| Failed run — invalid input, API error, timeout | **free** | never |\n| Row written to the dataset | **$0.010** ($10 / 1,000) | every row, including the \"no result\" row |\n\n**A completed lookup is billed as one match, resolved or not.** When the source returns nothing,\nthe Actor writes one explicit **no-result row** — the query you submitted plus `found: false` and\na `message` explaining it — and that row is charged at the normal per-match price. A run that\n*fails* (missing input, bad key, upstream error) writes no row and costs **$0.00**. So does a run\nturned away by the rate limit — see below; it writes no row either and is never charged.\n\nPricing is on top of your Apify platform usage.\n\n### Rate limit\n\nThere is a ceiling on how fast one Apify account can pull from the Neuralverge backend: **5\nrequests per second** for this Actor, counted separately from the other Neuralverge Actors. One run\nis normally one request, so this is about how many runs you start at once, not about the size of a\nsingle run.\n\n**Updated September 2026.** Reverse email lookup is heavier upstream than the rest of the\nportfolio, so it now has its own ceiling of 5 requests per second rather than the portfolio's 10.\nIn exchange, going over it no longer costs you a run: instead of an immediate error, a run that\narrives above the ceiling **queues and waits its turn**.\n\n**What you will see when you go over the ceiling:**\n\n1. The run keeps going and its status message shows the wait, e.g.\n   `Neuralverge is at capacity — waiting for a slot. Attempt 2, 12 s of 60 s max. Nothing has been charged.`\n2. If a slot frees up within the wait, the lookup runs normally and you get your row.\n3. If it does not, the run finishes as **succeeded** — not failed — with a status message saying\n   the lookup was never performed. **No row is written and nothing is charged.** Start it again in\n   a minute.\n\nPoint 3 matters if you script against this Actor: a rate-limited run is *not* an error, so check\nthe run's **status message**, not just whether the dataset is empty. Re-submit the inputs of any\nrun whose status message mentions capacity.\n\n**Controlling the wait.** The input field **Queue for up to (seconds)**\n(`waitForCapacitySecs`, default 60, maximum 90) sets how long a run may queue. Raise it for large\nbatches where waiting beats retrying; set it to `0` when you need an immediate answer and would\nrather handle the retry yourself.\n\nThe Actor never waits past its own run timeout — the queue is always cut short in time for the run\nto report back cleanly.\n\n**Free plan.** A run turned away by the rate limit hands back the monthly free-plan run it booked:\nbeing told to come back later does not cost you one of your five.\n\nIf you need a higher rate for a bulk job, get in touch.\n\n### Free plan limits\n\nUsers on any **paid Apify plan** are not affected by anything in this section.\n\nOn the **Apify Free plan** this Actor may be started **5 time(s) per calendar month per user**. A run that finds nothing\nstill counts, because the lookup is performed either way. Every Neuralverge Actor carries its\nown allowance — running one never uses up another's. When a limit is reached the Actor stops gracefully\nwith a status message naming it; everything resets on the 1st of every month, and any paid Apify\nplan removes all of it.\n\n## Integrations & API\n\nResults are stored in a standard Apify dataset — export as CSV, JSON, XML or Excel, or fetch on\ndemand through the [Apify API](https://docs.apify.com/api). The Actor also plugs into Apify's\nintegrations (Make, Zapier, n8n, webhooks) and can be called from any [MCP](https://mcp.apify.com/)\nclient to give an AI agent live person data.\n\n## FAQ\n\n**Do I need any account or login?** No. Resolution runs on the Neuralverge backend — you never\nprovide credentials.\n\n**Am I charged if the email doesn't resolve?** Yes — a lookup that ran is billed as one result\neven when it matched nobody, and you get a `no result` row that says so. A run that *fails*\n(missing input, API error, timeout) writes no row and is not charged.\n\n**Is the full LinkedIn profile included?** Yes, when found — under `linkedin`, with headline, skills,\nfull `positions` (work history) and `schools` (education).\n\n**How fresh is the data?** Each run resolves the email at run time.\n\n## 🔗 Other Neuralverge Contact Data Actors\n\nOther contact-data Actors from Neuralverge — the same person, from a different starting point:\n\n- [Email Finder](https://apify.com/neuralverge/neuralverge-email-finder) — the opposite direction: a name + company domain in, the work email out.\n- [Email Validation](https://apify.com/neuralverge/neuralverge-email-validation) — verify deliverability and mailbox status before you send.\n- [Reverse Phone Lookup](https://apify.com/neuralverge/neuralverge-phone-enrichment) — the same reverse lookup, starting from a phone number.\n- [LinkedIn Profile Scraper](https://apify.com/neuralverge/neuralverge-linkedin-person) — the full profile behind a LinkedIn URL this Actor returns.\n- [LinkedIn People Search](https://apify.com/neuralverge/neuralverge-linkedin-people-search) — build a list of people by company, title and industry.\n- **More Neuralverge Actors** — the full catalogue (LinkedIn, contact data, company registers, reviews): [apify.com/neuralverge](https://apify.com/neuralverge).\n\n---\n\n**Disclaimer:** This Actor is an independent tool. Use enriched personal data in compliance with\napplicable laws (GDPR, CCPA and similar). All trademarks are property of their respective owners.\n",
    "actorDefinition": {
      "actorSpecification": 1,
      "name": "neuralverge-email-enrichment",
      "title": "Reverse Email Lookup — Name, LinkedIn & Phone",
      "description": "Reverse email lookup: returns the person behind an email — full name, company, job title, phone and location, plus their full LinkedIn profile in most cases. You pay per completed lookup — matched or not; failed runs are never charged.",
      "version": "0.1",
      "buildTag": "latest",
      "minMemoryMbytes": 128,
      "maxMemoryMbytes": 256,
      "input": {
        "title": "Reverse Email Lookup — Name, LinkedIn & Phone",
        "type": "object",
        "schemaVersion": 1,
        "properties": {
          "email": {
            "title": "Email address",
            "type": "string",
            "description": "The email address to enrich (one per run). Apify Free plan: this Actor can be started 5 time(s) per calendar month per user, and every Neuralverge Actor has its own allowance; a run that finds nothing counts too. Any paid Apify plan removes the limit.",
            "editor": "textfield",
            "prefill": "steve@builder.io",
            "example": "steve@builder.io"
          },
          "waitForCapacitySecs": {
            "title": "Queue for up to (seconds)",
            "type": "integer",
            "description": "How long this run may queue if Neuralverge is at its rate limit, before giving up. Raise it when you start many runs at once and would rather wait than retry; set it to 0 if you need an immediate answer. A run that gives up writes no row and is not charged, and it finishes as succeeded with the reason in its status message — it is not an error.",
            "editor": "number",
            "default": 60,
            "minimum": 0,
            "maximum": 90,
            "prefill": 60,
            "sectionCaption": "Rate limit handling",
            "sectionDescription": "Neuralverge accepts 5 requests per second for this Actor. Above that the backend answers 429 and this run waits its turn instead of failing."
          }
        },
        "required": [
          "email"
        ],
        "description": "Apify Free plan: this Actor can be started 5 time(s) per calendar month per user, and every Neuralverge Actor has its own allowance; a run that finds nothing counts too. Any paid Apify plan removes the limit. Rate limit: this Actor accepts 5 requests per second per Apify account, counted separately from the other Neuralverge Actors. Above it the backend answers 429 and the run queues for up to 60 seconds (adjustable) instead of failing; a run that still cannot get through writes no row, is not charged, and finishes as succeeded with the reason in its status message."
      },
      "output": {
        "actorOutputSchemaVersion": 1,
        "title": "Email Enrichment output",
        "description": "One person + company profile per resolved email, stored in the default dataset. A run that finds nothing writes one explicit \"no result\" row (found: false) and is billed as one result; a run that fails is never charged.",
        "properties": {
          "results": {
            "type": "string",
            "title": "Enriched contacts",
            "description": "Structured person + company data (name, title, company, phone, location, LinkedIn), one row per matched email.",
            "template": "{{links.apiDefaultDatasetUrl}}/items"
          }
        }
      },
      "dockerfile": "./Dockerfile",
      "readme": "## Reverse Email Lookup — Name, LinkedIn & Phone ✅ No API Key\n\nReverse email lookup and enrichment — find the person behind any email: **name, company, job title,\nphone, location and full LinkedIn profile** (headline, skills, work history and education). Powered by\nthe Neuralverge API. **No login or account required**, and every completed lookup returns a\nrow — a match, or an explicit `no result` row that says why. Export to JSON, CSV or Excel.\n\nIdeal for lead enrichment, sales prospecting, KYC/identity resolution, and feeding verified person\ndata to AI agents.\n\n## ✨ Why this Actor\n\n- 💸 **One row per completed lookup** — you pay per lookup that ran, matched or not; a run that\n  *fails* (invalid input, API error, timeout) writes nothing and is never charged.\n- 🧩 **Full person profile** — name, emails, phones, location, company, and the complete LinkedIn\n  profile: headline, connections, skills, full position history and education.\n- 🔓 **No login, cookies or account** — resolution runs on the Neuralverge backend.\n- ⚡ **Real-time & structured** — fresh data each run, one predictable JSON schema, ready for a\n  spreadsheet, database or AI pipeline (MCP-ready).\n\n## 🔧 How it works\n\n1. **Provide an email** — e.g. `steve@builder.io`.\n2. **Run the Actor.** Resolution and structuring happen on the Neuralverge backend.\n3. **Get one dataset row** — one flat record per resolved email. Export to CSV, JSON, or Excel, or\n   pull it over the Apify API.\n\nAn email that doesn't resolve to a person comes back as one `no result` row, billed like any\nother row — so nothing disappears from a batch.\n\n## Input\n\nOne email per run.\n\n| Field | Type | Notes |\n|---|---|---|\n| `email` | string | The email address to look up. |\n\n```json\n{\n  \"email\": \"steve@builder.io\"\n}\n```\n\n## What you'll receive\n\nEach dataset row is **flat**: the `email` you submitted, followed by every field of the Neuralverge\nresult at the top level. No wrapper block — the fields are the columns.\n\n- `full_names` — resolved name(s)\n- `emails`, `phones` — contact points found\n- `locations` — array of `country` / `state` / `city`\n- `company` — current company (when available). The job title comes from `linkedin.positions`\n  (`positionHistory[0].title`) and from `linkedin.headline`; the top-level `position` field is\n  reserved and is usually `null`\n- `linkedin_profile` — the profile URL\n- `linkedin` — full LinkedIn object: `displayName`, `firstName`, `lastName`, `headline`,\n  `companyName`, `location`, `photoUrl`, `connectionCount`, `skills`, `schools` (education history)\n  and `positions` (full work history)\n- `gender`, `date_of_birth`, `x_profile`, `telegram_username` — when found (else `null`)\n\n### Example output (real run)\n\nExactly the dataset row the Actor writes for `steve@builder.io` — the submitted `email` plus the\nresult fields at the top level. No wrapper fields (`session_id`/`total_points`/`human`/`machine`).\n\n```json\n{\n  \"email\": \"steve@builder.io\",\n  \"full_names\": [\n    \"Steve Sewell\"\n  ],\n  \"gender\": null,\n  \"date_of_birth\": null,\n  \"emails\": [\n    \"steve@builder.io\"\n  ],\n  \"phones\": [\n    \"9165058708\"\n  ],\n  \"locations\": [\n    {\n      \"country\": \"US\",\n      \"state\": \"CA\",\n      \"city\": \"San Francisco\"\n    },\n    {\n      \"country\": \"United States\",\n      \"state\": \"California\",\n      \"city\": \"San Francisco\"\n    }\n  ],\n  \"company\": \"Builder.io\",\n  \"position\": null,\n  \"linkedin_profile\": \"https://linkedin.com/in/steve8708\",\n  \"linkedin\": {\n    \"id\": \"urn:li:person:DgHPWIpJV6-oW7iTlnDNcjd0Wqt27YlMrHT4WeyOsYI\",\n    \"displayName\": \"Steve Sewell\",\n    \"firstName\": \"Steve\",\n    \"lastName\": \"Sewell\",\n    \"headline\": \"CEO @ Builder.io - visually code together\",\n    \"summary\": \"\",\n    \"companyName\": \"Builder.io\",\n    \"location\": \"San Francisco, California, United States\",\n    \"photoUrl\": \"https://media.licdn.com/dms/image/v2/D5603AQFUtnmLlbPpFw/profile-displayphoto-shrink_400_400/profile-displayphoto-shrink_400_400/0/1702096308767?e=1784660400&v=beta&t=ch7LBKZQDohus1RnwIsVW-MDppZsw8P-xU2Gazt6MiU\",\n    \"profileUrl\": \"https://linkedin.com/in/steve8708\",\n    \"reportProfileUrl\": \"https://linkedin.com/in/steve8708/report\",\n    \"connectionCount\": 500,\n    \"isConnectionCountObfuscated\": true,\n    \"skills\": [\n      \"Express.js\",\n      \"Node.js\",\n      \"SEO\",\n      \"Product Management\",\n      \"Adobe Creative Suite\",\n      \"Product Design\",\n      \"Product Development\",\n      \"Mobile Applications\",\n      \"CSS3\",\n      \"Single Page Applications\",\n      \"Startups\",\n      \"User Interface Design\",\n      \"HTML 5\",\n      \"User Experience\",\n      \"Interaction Design\",\n      \"JavaScript\",\n      \"jQuery\",\n      \"Photoshop\",\n      \"Agile Methodologies\",\n      \"Backbone.js\",\n      \"Angular.js\",\n      \"Web Applications\",\n      \"Agile Development\"\n    ],\n    \"locale\": {\n      \"country\": \"us\",\n      \"language\": \"en\"\n    },\n    \"schools\": {\n      \"educationsCount\": 1,\n      \"educationHistory\": [\n        {\n          \"startEndDate\": {\n            \"start\": {\n              \"year\": 2008\n            },\n            \"end\": {\n              \"year\": 2010\n            }\n          },\n          \"schoolName\": \"University of California, Berkeley\",\n          \"schoolLocation\": \"Berkeley, California, United States\",\n          \"schoolLogo\": \"https://media.licdn.com/dms/image/v2/D560BAQGwjF_5CYj_JQ/company-logo_400_400/company-logo_400_400/0/1732135669731/uc_berkeley_logo?e=1784660400&v=beta&t=Mz1ZNJjtNEx_IPDMmBm66lvET7Xm-Aya62qE7ISJxVw\",\n          \"linkedInUrl\": \"https://www.linkedin.com/company/uc-berkeley\"\n        }\n      ]\n    },\n    \"positions\": {\n      \"positionsCount\": 4,\n      \"positionHistory\": [\n        {\n          \"title\": \"Co-Founder, CEO\",\n          \"startEndDate\": {\n            \"start\": {\n              \"month\": 9,\n              \"year\": 2019\n            },\n            \"end\": {}\n          },\n          \"description\": \"Convert designs to code to live pages in record time\",\n          \"companyName\": \"Builder.io\",\n          \"companyLocation\": \"San Francisco Bay Area\",\n          \"companyLogo\": \"https://media.licdn.com/dms/image/v2/D560BAQF5e4P00Nd5IQ/company-logo_400_400/B56Z0DBIWCHoAc-/0/1773872121522/builder_io_logo?e=1784660400&v=beta&t=3Yd_ASfggYB8pGzbSKS33OKur2Grq4sPnXpN6hfvQMc\",\n          \"linkedInUrl\": \"https://www.linkedin.com/company/builder-io\"\n        },\n        {\n          \"title\": \"Engineering manager, web\",\n          \"startEndDate\": {\n            \"start\": {\n              \"month\": 1,\n              \"year\": 2014\n            },\n            \"end\": {\n              \"month\": 4,\n              \"year\": 2016\n            }\n          },\n          \"description\": \"I lead our web applications engineering teams, all built on Angular + Node.js. Lead replatform + rebuild projects shopstyle.com, shopstylecollective.com, and other international ShopStyle sites\",\n          \"companyName\": \"ShopStyle, Inc.\",\n          \"companyLogo\": \"https://media.licdn.com/dms/image/v2/C560BAQHcphCGvisw2Q/company-logo_400_400/company-logo_400_400/0/1656741393081?e=1784660400&v=beta&t=AwwTHmehhBMBTH_loJIaUhutFnBg2f2__ZLR1GMTbDc\",\n          \"linkedInUrl\": \"https://www.linkedin.com/company/shopstyle\"\n        },\n        {\n          \"title\": \"Head of Product Development\",\n          \"startEndDate\": {\n            \"start\": {\n              \"month\": 7,\n              \"year\": 2012\n            },\n            \"end\": {\n              \"month\": 12,\n              \"year\": 2013\n            }\n          },\n          \"description\": \"Designed and built PICT web and mobile apps. Acquired by ShopStyle (now Rakuten)\",\n          \"companyName\": \"PICT\",\n          \"companyLocation\": \"san francisco bay area\",\n          \"linkedInUrl\": \"https://www.linkedin.com/search/results/companies/?keywords=PICT\"\n        }\n      ]\n    }\n  },\n  \"x_profile\": null,\n  \"telegram_username\": null\n}\n```\n\n> A real match. Every field the Neuralverge system resolved sits at the top level of the row, so it\n> maps straight to a spreadsheet column. Fields not found come back as `null`.\n\n### When nothing is found\n\nA lookup that runs but resolves nobody still returns a row, so a batch never silently loses an\ninput:\n\n| Column | Value |\n|---|---|\n| your query fields | echoed back exactly as submitted |\n| `found` | `false` |\n| `message` | why nothing was returned |\n\nFilter these out with `found != false` (or drop rows where `message` is set). This row is billed\nas one result — see Pricing.\n\n## Pricing\n\nPay per event — **$0.010 per match** ($10 per 1,000) written to the dataset. There is no run fee\nand no start fee.\n\n| Event | Price | Charged |\n|---|---|---|\n| Actor start | **free** | never |\n| Failed run — invalid input, API error, timeout | **free** | never |\n| Row written to the dataset | **$0.010** ($10 / 1,000) | every row, including the \"no result\" row |\n\n**A completed lookup is billed as one match, resolved or not.** When the source returns nothing,\nthe Actor writes one explicit **no-result row** — the query you submitted plus `found: false` and\na `message` explaining it — and that row is charged at the normal per-match price. A run that\n*fails* (missing input, bad key, upstream error) writes no row and costs **$0.00**. So does a run\nturned away by the rate limit — see below; it writes no row either and is never charged.\n\nPricing is on top of your Apify platform usage.\n\n### Rate limit\n\nThere is a ceiling on how fast one Apify account can pull from the Neuralverge backend: **5\nrequests per second** for this Actor, counted separately from the other Neuralverge Actors. One run\nis normally one request, so this is about how many runs you start at once, not about the size of a\nsingle run.\n\n**Updated September 2026.** Reverse email lookup is heavier upstream than the rest of the\nportfolio, so it now has its own ceiling of 5 requests per second rather than the portfolio's 10.\nIn exchange, going over it no longer costs you a run: instead of an immediate error, a run that\narrives above the ceiling **queues and waits its turn**.\n\n**What you will see when you go over the ceiling:**\n\n1. The run keeps going and its status message shows the wait, e.g.\n   `Neuralverge is at capacity — waiting for a slot. Attempt 2, 12 s of 60 s max. Nothing has been charged.`\n2. If a slot frees up within the wait, the lookup runs normally and you get your row.\n3. If it does not, the run finishes as **succeeded** — not failed — with a status message saying\n   the lookup was never performed. **No row is written and nothing is charged.** Start it again in\n   a minute.\n\nPoint 3 matters if you script against this Actor: a rate-limited run is *not* an error, so check\nthe run's **status message**, not just whether the dataset is empty. Re-submit the inputs of any\nrun whose status message mentions capacity.\n\n**Controlling the wait.** The input field **Queue for up to (seconds)**\n(`waitForCapacitySecs`, default 60, maximum 90) sets how long a run may queue. Raise it for large\nbatches where waiting beats retrying; set it to `0` when you need an immediate answer and would\nrather handle the retry yourself.\n\nThe Actor never waits past its own run timeout — the queue is always cut short in time for the run\nto report back cleanly.\n\n**Free plan.** A run turned away by the rate limit hands back the monthly free-plan run it booked:\nbeing told to come back later does not cost you one of your five.\n\nIf you need a higher rate for a bulk job, get in touch.\n\n### Free plan limits\n\nUsers on any **paid Apify plan** are not affected by anything in this section.\n\nOn the **Apify Free plan** this Actor may be started **5 time(s) per calendar month per user**. A run that finds nothing\nstill counts, because the lookup is performed either way. Every Neuralverge Actor carries its\nown allowance — running one never uses up another's. When a limit is reached the Actor stops gracefully\nwith a status message naming it; everything resets on the 1st of every month, and any paid Apify\nplan removes all of it.\n\n## Integrations & API\n\nResults are stored in a standard Apify dataset — export as CSV, JSON, XML or Excel, or fetch on\ndemand through the [Apify API](https://docs.apify.com/api). The Actor also plugs into Apify's\nintegrations (Make, Zapier, n8n, webhooks) and can be called from any [MCP](https://mcp.apify.com/)\nclient to give an AI agent live person data.\n\n## FAQ\n\n**Do I need any account or login?** No. Resolution runs on the Neuralverge backend — you never\nprovide credentials.\n\n**Am I charged if the email doesn't resolve?** Yes — a lookup that ran is billed as one result\neven when it matched nobody, and you get a `no result` row that says so. A run that *fails*\n(missing input, API error, timeout) writes no row and is not charged.\n\n**Is the full LinkedIn profile included?** Yes, when found — under `linkedin`, with headline, skills,\nfull `positions` (work history) and `schools` (education).\n\n**How fresh is the data?** Each run resolves the email at run time.\n\n## 🔗 Other Neuralverge Contact Data Actors\n\nOther contact-data Actors from Neuralverge — the same person, from a different starting point:\n\n- [Email Finder](https://apify.com/neuralverge/neuralverge-email-finder) — the opposite direction: a name + company domain in, the work email out.\n- [Email Validation](https://apify.com/neuralverge/neuralverge-email-validation) — verify deliverability and mailbox status before you send.\n- [Reverse Phone Lookup](https://apify.com/neuralverge/neuralverge-phone-enrichment) — the same reverse lookup, starting from a phone number.\n- [LinkedIn Profile Scraper](https://apify.com/neuralverge/neuralverge-linkedin-person) — the full profile behind a LinkedIn URL this Actor returns.\n- [LinkedIn People Search](https://apify.com/neuralverge/neuralverge-linkedin-people-search) — build a list of people by company, title and industry.\n- **More Neuralverge Actors** — the full catalogue (LinkedIn, contact data, company registers, reviews): [apify.com/neuralverge](https://apify.com/neuralverge).\n\n---\n\n**Disclaimer:** This Actor is an independent tool. Use enriched personal data in compliance with\napplicable laws (GDPR, CCPA and similar). All trademarks are property of their respective owners.\n"
    },
    "buildNumber": "0.1.33",
    "actVersion": {
      "sourceType": "SOURCE_FILES",
      "buildTag": "latest",
      "versionNumber": "0.1"
    },
    "usage": {
      "ACTOR_COMPUTE_UNITS": 0.04638777777777778
    }
  }
}