{
  "data": {
    "id": "cxltYT3E2C9OAmIph",
    "actId": "ddgw2oGFaH645BFAq",
    "userId": "N9KTCB9fXvBwXyzt6",
    "startedAt": "2026-10-08T23:50:58.327Z",
    "finishedAt": "2026-10-08T23:51:11.951Z",
    "status": "SUCCEEDED",
    "meta": {
      "origin": "WEB"
    },
    "stats": {
      "durationMillis": 13567,
      "runTimeSecs": 13.567,
      "computeUnits": 0.015074444444444444,
      "imageSizeBytes": 533528576
    },
    "options": {
      "useCache": true,
      "betaPackages": false,
      "memoryMbytes": 4096,
      "diskMbytes": 8192
    },
    "exitCode": 0,
    "inputSchema": "{\n  \"title\": \"Linkedin Email Finder (Bulk)\",\n  \"description\": \"**Inputs above 100 fail, we are working to fix this. In the meantime please distribute your inputs.**\\n\\n\\n- **Find emails by name and domain:** [Email Finder by Name and Domain📧 $1/1K Emails, Super Cheap.](https://console.apify.com/actors/pVKCagbTT3toDIFBW)\\n\\n- **Find emails by domain:** [Decision makers Email finder📧 $1/1K Emails, Super cheap.](https://console.apify.com/actors/0d92bM36riVMXNvp3)\",\n  \"type\": \"object\",\n  \"schemaVersion\": 1,\n  \"properties\": {\n    \"linkedin_url_or_ids\": {\n      \"title\": \"Linkedin URLs/IDs\",\n      \"type\": \"array\",\n      \"description\": \"Enter one LinkedIn URL or ID per line. Leave empty if you use CSV upload.\",\n      \"editor\": \"stringList\",\n      \"prefill\": [\n        \"ondra-urban\",\n        \"https://www.linkedin.com/in/ericosiu/\",\n        \"linkedin.com/in/jancurn\"\n      ]\n    },\n    \"csv_file\": {\n      \"title\": \"CSV Upload (CSV must contain a header named \\\"linkedin_url_or_id\\\" where the Linkedin URL or ID must be located.)\",\n      \"type\": \"string\",\n      \"editor\": \"fileupload\",\n      \"description\": \"CSV must contain a header named \\\"linkedin_url_or_id\\\" where the Linkedin URL or ID must be located.\"\n    }\n  }\n}",
    "readme": "# JavaScript Crawlee & CheerioCrawler Actor Template\n\n<!-- This is an Apify template readme -->\n\nThis template example was built with [Crawlee](https://crawlee.dev/) to scrape data from a website using [Cheerio](https://cheerio.js.org/) wrapped into [CheerioCrawler](https://crawlee.dev/api/cheerio-crawler/class/CheerioCrawler).\n\n## Quick Start\n\nOnce you've installed the dependencies, start the Actor:\n\n```bash\napify run\n```\n\nOnce your Actor is ready, you can push it to the Apify Console:\n\n```bash\napify login # first, you need to log in if you haven't already done so\n\napify push\n```\n\n## Project Structure\n\n```text\n.actor/\n├── actor.json # Actor config: name, version, env vars, runtime settings\n├── dataset_schena.json # Structure and representation of data produced by an Actor\n├── input_schema.json # Input validation & Console form definition\n└── output_schema.json # Specifies where an Actor stores its output\nsrc/\n└── main.js # Actor entry point and orchestrator\nstorage/ # Local storage (mirrors Cloud during development)\n├── datasets/ # Output items (JSON objects)\n├── key_value_stores/ # Files, config, INPUT\n└── request_queues/ # Pending crawl requests\nDockerfile # Container image definition\n```\n\nFor more information, see the [Actor definition](https://docs.apify.com/platform/actors/development/actor-definition) documentation.\n\n## How it works\n\nThis code is a JavaScript script that uses Cheerio to scrape data from a website. It then stores the website titles in a dataset.\n\n- The crawler starts with URLs provided from the input `startUrls` field defined by the input schema. Number of scraped pages is limited by `maxPagesPerCrawl` field from the input schema.\n- The crawler uses `requestHandler` for each URL to extract the data from the page with the Cheerio library and to save the title and URL of each page to the dataset. It also logs out each result that is being saved.\n\n## What's included\n\n- **[Apify SDK](https://docs.apify.com/sdk/js)** - toolkit for building [Actors](https://apify.com/actors)\n- **[Crawlee](https://crawlee.dev/)** - web scraping and browser automation library\n- **[Input schema](https://docs.apify.com/platform/actors/development/input-schema)** - define and easily validate a schema for your Actor's input\n- **[Dataset](https://docs.apify.com/sdk/python/docs/concepts/storages#working-with-datasets)** - store structured data where each object stored has the same attributes\n- **[Cheerio](https://cheerio.js.org/)** - a fast, flexible & elegant library for parsing and manipulating HTML and XML\n- **[Proxy configuration](https://docs.apify.com/platform/proxy)** - rotate IP addresses to prevent blocking\n\n## Resources\n\n- [Quick Start](https://docs.apify.com/platform/actors/development/quick-start) guide for building your first Actor\n- [Video tutorial](https://www.youtube.com/watch?v=yTRHomGg9uQ) on building a scraper using CheerioCrawler\n- [Written tutorial](https://docs.apify.com/academy/web-scraping-for-beginners/challenge) on building a scraper using CheerioCrawler\n- [Web scraping with Cheerio in 2023](https://blog.apify.com/web-scraping-with-cheerio/)\n- How to [scrape a dynamic page](https://blog.apify.com/what-is-a-dynamic-page/) using Cheerio\n- [Integration with Zapier](https://apify.com/integrations), Make, Google Drive and others\n- [Video guide on getting data using Apify API](https://www.youtube.com/watch?v=ViYYDHSBAKM)\n\n## Creating Actors with templates\n\n[How to create Apify Actors with web scraping code templates](https://www.youtube.com/watch?v=u-i-Korzf8w)\n\n\n## Getting started\n\nFor complete information [see this article](https://docs.apify.com/platform/actors/development#build-actor-at-apify-console). In short, you will:\n\n1. Build the Actor\n2. Run the Actor\n\n## Pull the Actor for local development\n\nIf you would like to develop locally, you can pull the existing Actor from Apify console using Apify CLI:\n\n1. Install `apify-cli`\n\n    **Using Homebrew**\n\n    ```bash\n    brew install apify-cli\n    ```\n\n    **Using NPM**\n\n    ```bash\n    npm -g install apify-cli\n    ```\n\n2. Pull the Actor by its unique `<ActorId>`, which is one of the following:\n    - unique name of the Actor to pull (e.g. \"apify/hello-world\")\n    - or ID of the Actor to pull (e.g. \"E2jjCZBezvAZnX8Rb\")\n\n    You can find both by clicking on the Actor title at the top of the page, which will open a modal containing both Actor unique name and Actor ID.\n\n    This command will copy the Actor into the current directory on your local machine.\n\n    ```bash\n    apify pull <ActorId>\n    ```\n\n## Documentation reference\n\nTo learn more about Apify and Actors, take a look at the following resources:\n\n- [Apify SDK for JavaScript documentation](https://docs.apify.com/sdk/js)\n- [Apify SDK for Python documentation](https://docs.apify.com/sdk/python)\n- [Apify Platform documentation](https://docs.apify.com/platform)\n- [Join our developer community on Discord](https://discord.com/invite/jyEM2PRvMU)",
    "actorDefinition": {
      "actorSpecification": 1,
      "name": "bulk-linkedin-email-finder",
      "title": "Linkedin Email Finder⚡ $1/1K Emails, Super Cheap.",
      "description": "Bulk LinkedIn email finder using a single webhook call.",
      "version": "0.2",
      "meta": {
        "templateId": "ai-generated-actor",
        "generatedBy": "GPT-5.1 Thinking"
      },
      "input": {
        "title": "Linkedin Email Finder (Bulk)",
        "description": "**Inputs above 100 fail, we are working to fix this. In the meantime please distribute your inputs.**\n\n\n- **Find emails by name and domain:** [Email Finder by Name and Domain📧 $1/1K Emails, Super Cheap.](https://console.apify.com/actors/pVKCagbTT3toDIFBW)\n\n- **Find emails by domain:** [Decision makers Email finder📧 $1/1K Emails, Super cheap.](https://console.apify.com/actors/0d92bM36riVMXNvp3)",
        "type": "object",
        "schemaVersion": 1,
        "properties": {
          "linkedin_url_or_ids": {
            "title": "Linkedin URLs/IDs",
            "type": "array",
            "description": "Enter one LinkedIn URL or ID per line. Leave empty if you use CSV upload.",
            "editor": "stringList",
            "prefill": [
              "ondra-urban",
              "https://www.linkedin.com/in/ericosiu/",
              "linkedin.com/in/jancurn"
            ]
          },
          "csv_file": {
            "title": "CSV Upload (CSV must contain a header named \"linkedin_url_or_id\" where the Linkedin URL or ID must be located.)",
            "type": "string",
            "editor": "fileupload",
            "description": "CSV must contain a header named \"linkedin_url_or_id\" where the Linkedin URL or ID must be located."
          }
        }
      },
      "output": {
        "actorOutputSchemaVersion": 1,
        "title": "Output schema of the Linkedin Email Finder (Bulk)",
        "properties": {
          "overview": {
            "type": "string",
            "title": "Overview",
            "template": "{{links.apiDefaultDatasetUrl}}/items?view=overview"
          }
        }
      },
      "storages": {
        "dataset": {
          "actorSpecification": 1,
          "fields": {},
          "views": {
            "overview": {
              "title": "Overview",
              "transformation": {
                "fields": [
                  "02_First_name",
                  "03_Last_name",
                  "04_Email",
                  "17_Query_linkedin"
                ]
              },
              "display": {
                "component": "table",
                "properties": {
                  "17_Query_linkedin": {
                    "label": "Query Linkedin",
                    "format": "text"
                  },
                  "02_First_name": {
                    "label": "First Name",
                    "format": "text"
                  },
                  "03_Last_name": {
                    "label": "Last Name",
                    "format": "text"
                  },
                  "04_Email": {
                    "label": "Email",
                    "format": "text"
                  }
                }
              }
            }
          }
        }
      },
      "dockerfile": "../Dockerfile",
      "readme": "# JavaScript Crawlee & CheerioCrawler Actor Template\n\n<!-- This is an Apify template readme -->\n\nThis template example was built with [Crawlee](https://crawlee.dev/) to scrape data from a website using [Cheerio](https://cheerio.js.org/) wrapped into [CheerioCrawler](https://crawlee.dev/api/cheerio-crawler/class/CheerioCrawler).\n\n## Quick Start\n\nOnce you've installed the dependencies, start the Actor:\n\n```bash\napify run\n```\n\nOnce your Actor is ready, you can push it to the Apify Console:\n\n```bash\napify login # first, you need to log in if you haven't already done so\n\napify push\n```\n\n## Project Structure\n\n```text\n.actor/\n├── actor.json # Actor config: name, version, env vars, runtime settings\n├── dataset_schena.json # Structure and representation of data produced by an Actor\n├── input_schema.json # Input validation & Console form definition\n└── output_schema.json # Specifies where an Actor stores its output\nsrc/\n└── main.js # Actor entry point and orchestrator\nstorage/ # Local storage (mirrors Cloud during development)\n├── datasets/ # Output items (JSON objects)\n├── key_value_stores/ # Files, config, INPUT\n└── request_queues/ # Pending crawl requests\nDockerfile # Container image definition\n```\n\nFor more information, see the [Actor definition](https://docs.apify.com/platform/actors/development/actor-definition) documentation.\n\n## How it works\n\nThis code is a JavaScript script that uses Cheerio to scrape data from a website. It then stores the website titles in a dataset.\n\n- The crawler starts with URLs provided from the input `startUrls` field defined by the input schema. Number of scraped pages is limited by `maxPagesPerCrawl` field from the input schema.\n- The crawler uses `requestHandler` for each URL to extract the data from the page with the Cheerio library and to save the title and URL of each page to the dataset. It also logs out each result that is being saved.\n\n## What's included\n\n- **[Apify SDK](https://docs.apify.com/sdk/js)** - toolkit for building [Actors](https://apify.com/actors)\n- **[Crawlee](https://crawlee.dev/)** - web scraping and browser automation library\n- **[Input schema](https://docs.apify.com/platform/actors/development/input-schema)** - define and easily validate a schema for your Actor's input\n- **[Dataset](https://docs.apify.com/sdk/python/docs/concepts/storages#working-with-datasets)** - store structured data where each object stored has the same attributes\n- **[Cheerio](https://cheerio.js.org/)** - a fast, flexible & elegant library for parsing and manipulating HTML and XML\n- **[Proxy configuration](https://docs.apify.com/platform/proxy)** - rotate IP addresses to prevent blocking\n\n## Resources\n\n- [Quick Start](https://docs.apify.com/platform/actors/development/quick-start) guide for building your first Actor\n- [Video tutorial](https://www.youtube.com/watch?v=yTRHomGg9uQ) on building a scraper using CheerioCrawler\n- [Written tutorial](https://docs.apify.com/academy/web-scraping-for-beginners/challenge) on building a scraper using CheerioCrawler\n- [Web scraping with Cheerio in 2023](https://blog.apify.com/web-scraping-with-cheerio/)\n- How to [scrape a dynamic page](https://blog.apify.com/what-is-a-dynamic-page/) using Cheerio\n- [Integration with Zapier](https://apify.com/integrations), Make, Google Drive and others\n- [Video guide on getting data using Apify API](https://www.youtube.com/watch?v=ViYYDHSBAKM)\n\n## Creating Actors with templates\n\n[How to create Apify Actors with web scraping code templates](https://www.youtube.com/watch?v=u-i-Korzf8w)\n\n\n## Getting started\n\nFor complete information [see this article](https://docs.apify.com/platform/actors/development#build-actor-at-apify-console). In short, you will:\n\n1. Build the Actor\n2. Run the Actor\n\n## Pull the Actor for local development\n\nIf you would like to develop locally, you can pull the existing Actor from Apify console using Apify CLI:\n\n1. Install `apify-cli`\n\n    **Using Homebrew**\n\n    ```bash\n    brew install apify-cli\n    ```\n\n    **Using NPM**\n\n    ```bash\n    npm -g install apify-cli\n    ```\n\n2. Pull the Actor by its unique `<ActorId>`, which is one of the following:\n    - unique name of the Actor to pull (e.g. \"apify/hello-world\")\n    - or ID of the Actor to pull (e.g. \"E2jjCZBezvAZnX8Rb\")\n\n    You can find both by clicking on the Actor title at the top of the page, which will open a modal containing both Actor unique name and Actor ID.\n\n    This command will copy the Actor into the current directory on your local machine.\n\n    ```bash\n    apify pull <ActorId>\n    ```\n\n## Documentation reference\n\nTo learn more about Apify and Actors, take a look at the following resources:\n\n- [Apify SDK for JavaScript documentation](https://docs.apify.com/sdk/js)\n- [Apify SDK for Python documentation](https://docs.apify.com/sdk/python)\n- [Apify Platform documentation](https://docs.apify.com/platform)\n- [Join our developer community on Discord](https://discord.com/invite/jyEM2PRvMU)"
    },
    "buildNumber": "0.0.80",
    "imageDigest": "eba1bc1cc171d205202240bdef47333381b9ac032aa0c3c51c1f5a2fcba16d58",
    "actVersion": {
      "sourceType": "SOURCE_FILES",
      "buildTag": "latest",
      "versionNumber": "0.0"
    },
    "usage": {
      "ACTOR_COMPUTE_UNITS": 0.015074444444444444
    }
  }
}