Linkedin Open Profile Status
Pricing
$24.99/month + usage
Linkedin Open Profile Status
Extract LinkedIn profile open status with the LinkedIn Open Profile Status scraper. Identify whether LinkedIn users have Open Profile enabled along with key profile details in structured format. Ideal for sales prospecting, recruiter outreach, and identifying profiles open to messages.
Pricing
$24.99/month + usage
Rating
0.0
(0)
Developer
Scrapier
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
20 days ago
Last modified
Categories
Share
Linkedin Open Profile Status
Linkedin Open Profile Status is an Apify actor that checks whether a LinkedIn profile shows the “Open to work” badge and outputs a clear boolean signal per profile. It solves the recurring challenge of quickly identifying profiles that are open to opportunities without manual checking. Built for marketers, developers, data analysts, and recruiters, it combines fast HTML signal extraction with robust browser checks and a smart proxy ladder to minimize blocks at scale. Use it to enrich pipelines for sales prospecting and recruiter outreach while staying focused on accurate “Open to work” detection.
What data / output can you get?
Below are the exact fields this actor saves for each processed profile. Records are pushed live to the default Apify dataset during the run.
| Data type | Description | Example value |
|---|---|---|
| url | Processed LinkedIn profile URL | https://www.linkedin.com/in/ajjames |
| open_to_work | True/false/None if unknown | true |
| proxy_mode | Connection strategy used for the result | direct |
| message | Short status message | ok |
| data.open_to_work | Normalized value in nested data object | true |
| debug.proxy_mode | Proxy mode recorded for debugging | direct |
| debug.details | Diagnostic detail about the last successful/failed strategy | ok |
| (KV) data.open_to_work | In the OUTPUT key-value store for single-input runs | false |
| (KV) message | Job-level status in the OUTPUT store | ok |
| (Bulk KV) url | URL echoed per item when multiple inputs are used | https://www.linkedin.com/in/ajjames |
Notes:
- The dataset view highlights url, open_to_work, message, and proxy_mode for quick scanning.
- When a definitive signal isn’t found, open_to_work is null and message explains the last attempt.
- Results are stored both in the dataset (live) and in the key-value store under the OUTPUT key at the end.
Key features
- 🚀 Dual detection strategy (fast + robust)
- Combines HTTP + HTML signal extraction with Playwright-based badge detection to improve reliability on LinkedIn profiles.
- 🛡️ Smart proxy fallback ladder
- Starts DIRECT (no proxy). If blocked → Datacenter proxy. If blocked → Residential proxy (retries ×3). After the first DIRECT block, it sticks to Residential for the remaining requests.
- 📈 Bulk-friendly input
- Accepts multiple profile URLs; also normalizes plain identifiers like “ajjames” to full profile URLs.
- 🔐 Optional LinkedIn li_at cookie
- Use liAtCookie to reduce blocks and improve stability. The actor masks it in logs and treats it as a secret.
- ⏱️ Resilient runtime controls
- Built-in page timeout handling for Playwright and a small anti-blocking delay between tasks.
- 📊 Live dataset saving
- Pushes each item to the dataset in real time so you can monitor progress as the run proceeds.
- 🧪 Production-ready logging
- Detailed logs for proxy events, blocks, retries, and outcomes so you can diagnose issues quickly.
How to use Linkedin Open Profile Status - step by step
- Sign in to your Apify account and open the Linkedin Open Profile Status actor.
- Add input data:
- startUrls: paste one or more LinkedIn profile URLs (string list). You can also provide identifiers like “ajjames”; these are normalized to https://www.linkedin.com/in/ajjames.
- (Optional) Provide liAtCookie:
- Paste your LinkedIn li_at cookie to reduce blocks and improve reliability. It’s stored as a secret.
- (Optional) Configure proxyConfiguration:
- Leave it empty to start DIRECT. The actor will automatically fall back to Apify Proxy only when blocked.
- Start the run:
- The actor first tries fast HTTP extraction, then falls back to Playwright if needed. It escalates proxies only when blocked.
- Watch results live:
- Records are pushed to the dataset in real time (url, open_to_work, message, proxy_mode).
- Download results:
- Access the default dataset from the run to retrieve all records in your preferred format via Apify’s dataset UI or API.
Pro Tip: Providing liAtCookie significantly reduces blocks. Once the actor detects a block on DIRECT, it switches to Residential proxies for the rest of the run to maximize throughput.
Use cases
| Use case name | Description |
|---|---|
| Sales prospecting + prioritization | Identify leads with open_to_work=true to tailor outreach and focus on warmer prospects. |
| Recruiter outreach routing | Route profiles flagged as open_to_work to recruiter pipelines automatically for faster follow-up. |
| Talent sourcing QA | Validate candidate lists by confirming the “Open to work” signal before engagement. |
| CRM enrichment | Append open_to_work status to existing records to improve segmentation and campaign logic. |
| Market research & analytics | Quantify open_to_work prevalence across target cohorts to inform strategy and planning. |
| Automation pipelines (Apify) | Orchestrate scheduled runs and downstream processing using Apify storages and webhooks. |
Why choose Linkedin Open Profile Status?
This actor is built for precision, reliability, and resilience on LinkedIn’s public profile pages.
- ✅ Accurate “Open to work” detection: Uses HTML signal extraction and backup Playwright checks for the badge.
- 🧱 Block-aware proxy ladder: DIRECT → Datacenter → Residential (×3), then sticky Residential for the remainder of the run.
- 🔐 Safe by design: Optional liAtCookie support for stability (masked in logs and stored as a secret).
- 📊 Real-time visibility: Live dataset writes plus detailed logs for blocks, retries, and outcomes.
- 🔁 Scalable workflow: Bulk-friendly input and anti-blocking delays for consistent throughput.
- 🧰 Developer-friendly: Structured JSON records with consistent keys for easy downstream use.
- 🧩 Production-ready: Clear status messages, debug details, and conservative escalation rules.
In short, it’s a focused LinkedIn open-to-work status checker that outperforms ad-hoc scripts and unstable extensions with a robust, proxy-aware architecture.
Is it legal / ethical to use Linkedin Open Profile Status?
Yes — when used responsibly. This actor is designed to check the “Open to work” signal on LinkedIn profiles you provide and saves structured results to your dataset.
Guidelines for responsible use:
- Only run it on data you are permitted to process and in compliance with LinkedIn’s terms and applicable laws (e.g., GDPR/CCPA where relevant).
- Avoid misuse of authentication cookies and never share liAtCookie publicly.
- Ensure your use case aligns with your organization’s data policies; consult your legal team for edge cases.
The actor does not modify LinkedIn settings and does not attempt to bypass security beyond the documented proxy fallback behavior.
Input parameters & output format
Example JSON input
{"startUrls": ["https://www.linkedin.com/in/ajjames"],"liAtCookie": "YOUR_LI_AT_COOKIE","proxyConfiguration": {}}
Parameters
- startUrls (array, required): Add one or more LinkedIn profile URLs. Example: https://www.linkedin.com/in/ajjames. Default: none (must be provided).
- liAtCookie (string, optional, nullable): Optional LinkedIn authentication cookie value. Recommended to reduce blocks and improve reliability. Default: null/not set.
- proxyConfiguration (object, optional): Default is DIRECT (no proxy). The actor automatically falls back to Apify Proxy only when blocked. Default: not set (DIRECT).
Example dataset record
{"url": "https://www.linkedin.com/in/ajjames","open_to_work": true,"proxy_mode": "direct","data": {"open_to_work": true},"message": "ok","debug": {"proxy_mode": "direct","details": "ok"}}
Example OUTPUT key-value store (single profile)
{"data": { "open_to_work": false },"message": "ok"}
Example OUTPUT key-value store (multiple profiles)
[{"url": "https://www.linkedin.com/in/ajjames","data": { "open_to_work": true },"message": "ok"},{"url": "https://www.linkedin.com/in/example","data": { "open_to_work": null },"message": "Failed to fetch profile. Last=playwright:goto_timeout"}]
Notes:
- open_to_work may be null when no definitive signal is found.
- debug.details may vary (e.g., ok, status=403, goto_timeout) or be omitted in some failure paths.
FAQ
Does this check the “LinkedIn open profile” messaging feature?
No. This actor detects the “Open to work” badge only. If you’re looking to check LinkedIn open profile messaging, free InMail, or the LinkedIn premium open profile feature, this tool will not verify those settings.
Can I message on LinkedIn without InMail if someone has open_to_work=true?
Not necessarily. “Open to work” is different from the LinkedIn open profile messaging feature. This actor reports open_to_work only and does not confirm whether you can message without InMail.
Do I need to provide the li_at cookie?
No, it’s optional. However, providing liAtCookie usually reduces blocks and improves reliability. The value is masked in logs and treated as a secret input.
How does the proxy fallback work?
The actor starts DIRECT (no proxy). If blocked, it switches to Datacenter proxy; if blocked again, it falls back to Residential proxy and retries up to 3 times. After the first DIRECT block, it sticks to Residential for all remaining requests.
What fields are included in the output?
Each dataset item includes url, open_to_work, proxy_mode, message, data.open_to_work, and debug fields (debug contains proxy_mode and may include details). The key-value store also receives a summarized OUTPUT object or array at the end of the run.
Can I supply identifiers instead of full URLs?
Yes. If you provide a value like “ajjames”, the actor normalizes it to https://www.linkedin.com/in/ajjames before processing.
Why is open_to_work not showing for some profiles?
When the actor cannot find a definitive signal (e.g., due to timeouts or content not loading), open_to_work will be null and message will indicate the last attempt details.
Does this enable or change any LinkedIn settings?
No. The actor is read-only and does not modify any LinkedIn open profile setting, open messaging feature, or open profile eligibility. For configuration guidance (e.g., how to enable or disable open profile on LinkedIn), consult LinkedIn’s Help Center.
Closing CTA / Final thoughts
Linkedin Open Profile Status is built to reliably detect the “Open to work” signal on LinkedIn profiles at scale. With fast HTML extraction, Playwright fallback, and a smart proxy ladder, it delivers structured, trustworthy results to your dataset in real time. It’s ideal for sales teams, recruiters, analysts, and developers who need clean yes/no status checks embedded in their workflows. Start your run with startUrls, optionally add liAtCookie for stability, and integrate the dataset outputs into your enrichment or outreach pipeline to begin extracting smarter, action-ready signals today.
What are other Linkedin scraping tools?
If you want to scrape specific Linkedin data, you can use any of the dedicated scrapers below for faster and more targeted results.