Turn a list of company website domains into LinkedIn company research records. Includes an n8n workflow, a Postman collection, MCP connection examples, and setup guides for Clay and Make.
Uses LinkedIn Company by Domain. Connect your own Apify account; actor usage is billed there. The workflow files are free under the MIT license.
needsReview when confidence is low or a plausible LinkedIn company URL is missing.The added review flag checks the returned fields; it does not independently verify company identity. Partial results can occur if the actor reaches its charge limit. Review domain coverage before using the data.
The actor reserves its final three minutes before starting new domains. The 15-minute actor timeout gives it working time before that reserve. Earlier exports used 120 seconds, which falls entirely inside the reserve and can produce only unresolved time-budget rows; replace those exports with this corrected version.
Authorization and value Bearer YOUR_APIFY_TOKEN. Replace that example value with your private Apify token.domains array.To append to Google Sheets, add a Google Sheets node after Review company rows, select your Google account and spreadsheet, and map domain, companyName, linkedinUrl, confidence, employeeCount, followers and needsReview. Google Sheets is configured by the user; no Google credential or destination is included in this pack.
The workflow uses built-in Manual Trigger, Code, HTTP Request, Switch and Wait nodes. It is inactive on import. Start requests are not automatically retried because a retry could create another paid run. If a start request fails ambiguously, inspect Apify Console before trying again.
APIFY_TOKEN with your Apify token. Keep its value local and do not include it in public exports.The collection intentionally does not loop in Collection Runner. A runner may reach request 3 while the run is still pending, in which case retrieval is skipped. Polling an existing run does not create another run. These requests use asynchronous endpoints so a long extraction is not mistaken for an HTTP request timeout.
The public Store snapshot on October 7, 2026 lists $0.0075 per company-resolved event and $0.002 per platform start event. Start-event quantity depends on memory; review current pricing in the actor listing before execution. The $0.10 setting is a maximum actor charge, not a promise that every requested domain will be resolved.
Company records can contain a website domain, LinkedIn company URL, company name, confidence, employee count and followers. Fields may be absent or null. This actor does not return individual employee profiles or email addresses. Cached resolutions can reduce charges; billing follows the actor’s current event rules.
The embedded workflow code and request contracts have local tests covering input limits, success/failure routing, polling expiry, malformed responses, empty datasets, unresolved rows, authentication configuration and secret-free JSON exports. Tests use synthetic fixtures and do not start paid actor runs.
Run with Node.js 22 or newer:
npm test
python -B -m unittest discover -s test -p test_windmill.py -v
The workflow passed three CLI execution scenarios in n8n 2.42.4 using a local mock API and synthetic credentials: success, failed actor run and empty dataset. See the engine report and verification scope. No paid actor execution was performed. Existing actor dataset fields were inspected read-only; current live resolution remains unverified. Clay and Make documents are setup guides, not exported native templates.
Maintained by George, the developer of the linked actor. n8n approved template 20634 on October 9, 2026. The Clay, Make and Postman guides are developer-authored. Integration platform subscriptions and actor charges are separate.