Linkedin Open Profile Status
Pricing
$19.99/month + usage
Linkedin Open Profile Status
🔍 LinkedIn Open Profile Status detects if a profile enables Open Profile (free messaging). ✅ Measure contactability, InMail eligibility & outreach readiness via API or bulk. 🚀 Built for B2B sales, recruiting, and lead gen teams.
Pricing
$19.99/month + usage
Rating
0.0
(0)
Developer
ScrapePilot
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Linkedin Open Profile Status
Linkedin Open Profile Status is an Apify actor that checks if a LinkedIn profile displays the “Open to work” badge, returning a clear boolean signal for outreach readiness. It solves the ambiguity of manual checks by programmatically detecting the badge using fast HTML signal extraction and a robust browser check. Built for sales teams, recruiters, developers, and analysts, it helps you assess contactability at scale — without relying on guesswork around “LinkedIn open profile” messaging features.
What is Linkedin Open Profile Status?
Linkedin Open Profile Status is a lightweight automation that determines whether a LinkedIn profile shows the Open to work badge, so you can prioritize outreach with confidence. Instead of manually interpreting profile UI, it performs structured checks — first via HTTP signal extraction, then via Playwright-based badge detection if needed — to return a definitive result. Ideal for B2B sales, recruiting, data enrichment, and research, it runs in bulk and saves results in real time for fast follow-up.
What data / output can you get?
Below are the structured fields this actor produces. These appear in the default dataset and/or the OUTPUT key-value store (depending on run size).
| Data field | Description | Example |
|---|---|---|
| url | The processed LinkedIn profile URL | https://www.linkedin.com/in/ajjames |
| open_to_work | Boolean flag indicating if the profile shows “Open to work”; null when unknown | false |
| proxy_mode | Network mode used for that URL: direct, datacenter, or residential | direct |
| message | Status message for the result (e.g., ok or an error summary) | ok |
| data.open_to_work | Normalized open-to-work flag inside a data object (for API/KV store compatibility) | false |
| debug.proxy_mode | Debug-only echo of the proxy mode used | direct |
| debug.details | Debug details on the last strategy outcome (e.g., ok, status=999, goto_timeout) | ok |
| OUTPUT (single run) | KV store payload when only one profile is processed | {"data":{"open_to_work":false},"message":"ok"} |
| OUTPUT (bulk run item) | KV store item shape per profile when multiple are processed | {"url":"…","data":{"open_to_work":false},"message":"ok"} |
Notes:
- All results stream live into the Apify dataset, which you can export to JSON, CSV, or Excel.
- When the tool cannot obtain a definitive signal (e.g., blocked or timeouts), open_to_work will be null and message will explain why.
Key features
- 🚀 Dual detection strategy (fast + robust) — Combines HTTP/HTML signal extraction with a Playwright badge check to maximize accuracy while keeping performance high.
- 🛡️ Smart proxy fallback ladder — Starts DIRECT, escalates to Datacenter if blocked, then to Residential with up to 3 retries; once DIRECT is blocked, it sticks to Residential for the remaining requests.
- 🔐 Optional cookie support — Accepts a LinkedIn li_at session cookie to reduce blocks and improve reliability; handled as a secret input.
- 📦 Bulk-friendly input — Paste multiple LinkedIn profile URLs in one run; results stream to the dataset in real time.
- 🔄 Live dataset writes — Watch results appear instantly while the run is in progress for faster QA and iteration.
- 🧑💻 Developer-ready — Works seamlessly with the Apify API and datasets, making it easy to plug into internal data pipelines or analytics workflows.
- 🧭 Clear outcomes — Returns a simple boolean open_to_work along with message and debug context to make downstream decisions straightforward.
- 🧰 Production-focused reliability — Headless Playwright fallback and structured block handling reduce “unknowns” and keep large runs moving.
How to use Linkedin Open Profile Status - step by step
-
Sign in to Apify
Create or log in to your Apify account. -
Open the actor
Search for “Linkedin Open Profile Status” on the Apify Store and open the actor page. -
Prepare your input
Collect public LinkedIn profile URLs (e.g., https://www.linkedin.com/in/ajjames). You can add one or many. -
Add Profile URLs (required)
In startUrls, paste your list of LinkedIn profile URLs. The editor accepts a string list. -
(Optional) Improve reliability with li_at
Provide your LinkedIn li_at cookie in liAtCookie to reduce blocks. This is stored as a secret input. -
(Optional) Adjust proxy settings
By default, the actor starts DIRECT (no proxy) and only falls back when blocked. You can open proxyConfiguration and set Apify Proxy if you prefer. -
Run the actor
Click Start. The run begins with DIRECT and only escalates when blocked. Watch the logs for proxy events and the dataset table for live results. -
Download results
Once done, open the dataset and export to JSON, CSV, or Excel. For single-profile runs, also check the OUTPUT key-value store for a compact payload.
Pro Tip: Add a li_at cookie when you need maximum stability at scale. Then integrate the dataset with your CRM or enrichment workflow via the Apify API.
Use cases
| Use case name | Description |
|---|---|
| Sales prospecting – contactability scoring | Prioritize leads by whether they’re actively “Open to work” to tailor messaging and improve reply rates. |
| Recruitment – candidate shortlisting | Filter inbound or sourced profiles for “Open to work” signals before outreach. |
| CRM enrichment – outreach readiness | Enrich profiles with a boolean open_to_work flag to trigger segmented campaigns. |
| Lead gen – pipeline QA | Validate leads before sending high-cost sequences by ensuring the signal is present. |
| Market/academic research – labor signals | Aggregate profile-level “Open to work” signals for trend analysis across cohorts. |
| API pipelines – automation | Feed results into your internal API or ETL to drive automated workflows programmatically. |
Why choose Linkedin Open Profile Status?
This actor focuses on precision and resilience for Open to work detection at scale.
- ✅ Accurate detection flow — Fast HTML signal extraction plus a Playwright check improves reliability over single-method scrapers.
- ⚙️ Scales safely — Built to process multiple profiles with a proxy fallback ladder to overcome common blocks.
- 🔐 Cookie-aware (optional) — liAtCookie support reduces friction in tougher regions or volumes without making it mandatory.
- 🧑💻 Developer access — Works with the Apify API and datasets for smooth integration with enrichment or analytics pipelines.
- 🛡️ Block handling baked in — Structured responses even when blocked (e.g., null with message) keep downstream logic clean.
- 💸 Cost-efficient automation — Avoid manual checks and unstable browser extensions; run server-side with consistent outputs.
- 🔗 Integration-friendly — Export datasets to CSV/JSON/Excel and plug into BI tools or internal systems.
Is it legal / ethical to use Linkedin Open Profile Status?
Yes — when used responsibly. This actor checks publicly reachable profile pages to detect whether the “Open to work” badge is present. Follow these guidelines:
- Only process data you’re allowed to access and use; respect LinkedIn’s terms and applicable laws.
- Avoid scraping private or sensitive content; this actor focuses on a simple visible badge signal.
- If you choose to use liAtCookie, keep it secure and never share it publicly.
- Consult your legal team for jurisdiction-specific requirements (e.g., GDPR, CCPA).
Input parameters & output format
Example JSON input
{"startUrls": ["https://www.linkedin.com/in/ajjames"],"liAtCookie": "YOUR_LI_AT_COOKIE","proxyConfiguration": {"useApifyProxy": false}}
Input fields (from the input schema)
- startUrls
- Type: array (string list editor)
- Description: Add one or more LinkedIn profile URLs. Example: https://www.linkedin.com/in/ajjames
- Required: Yes
- Default: None
- liAtCookie
- Type: string (nullable)
- Description: Optional LinkedIn authentication cookie value. Recommended to reduce blocks and improve reliability. Stored as a secret input.
- Required: No
- Default: None
- proxyConfiguration
- Type: object
- Description: Default is DIRECT (no proxy). The actor will automatically fall back to Apify Proxy only when blocked.
- Required: No
- Default: None
Example dataset item (per-profile)
{"url": "https://www.linkedin.com/in/ajjames","open_to_work": false,"proxy_mode": "direct","data": { "open_to_work": false },"message": "ok","debug": { "proxy_mode": "direct", "details": "ok" }}
Key-value store OUTPUT (single profile)
{"data": { "open_to_work": false },"message": "ok"}
Key-value store OUTPUT (bulk profiles)
[{"url": "https://www.linkedin.com/in/ajjames","data": { "open_to_work": false },"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 the actor can’t obtain a definitive signal (e.g., blocks, timeouts, or no detectable badge).
- The dataset’s default view highlights url, open_to_work, message, and proxy_mode for quick scanning.
FAQ
Does this check LinkedIn open profile messaging or “allow anyone to message me”?
No. The actor detects the Open to work badge only. “LinkedIn open profile” (allowing free messages) is a different feature from “Open to work.” If you’re comparing LinkedIn open profile vs open to work, this tool focuses on the latter.
Do I need to log in or provide a cookie?
No. A cookie is not required. However, adding liAtCookie can reduce blocks and improve reliability, especially at higher volumes or in stricter regions.
What does the output include?
Each dataset item contains url, open_to_work, proxy_mode, message, data.open_to_work, and debug info. For single-input runs, the OUTPUT store returns {"data":{"open_to_work":...},"message":"..."}; for bulk, it returns an array of {"url","data","message"}.
How does the proxy system work?
It starts DIRECT (no proxy). If blocked, it falls back to a Datacenter proxy; if still blocked, it switches to Residential with up to 3 retries. After the first DIRECT block, the remaining requests stick to Residential for the rest of the run.
Why might a result be “unknown” (open_to_work = null)?
If neither the HTML signals nor the browser check yield a definitive badge signal (e.g., blocks, timeouts, or page variations), the actor returns null with a message explaining the last strategy outcome.
Can I export results to CSV or Excel?
Yes. Open the run’s dataset and export in JSON, CSV, or Excel formats for easy ingestion into BI tools or CRMs.
Is there a free trial or pricing?
The Apify Store lists a flat monthly price for this actor. Trial minutes may be available on your Apify account to test runs before subscribing.
How to tell if someone has open profile on LinkedIn?
This actor does not detect “LinkedIn open profile” (free InMail for Premium profiles). It detects the Open to work badge. If you need open profile checks, note that “LinkedIn open profile” is a different, premium-related setting and is outside this actor’s scope.
Closing CTA / Final thoughts
Linkedin Open Profile Status is built to reliably detect the “Open to work” badge at scale. By combining fast HTML signal extraction with a Playwright check and a proxy fallback ladder, it returns a clear boolean that teams can trust.
Whether you’re in sales, recruiting, analytics, or research, you can feed these signals into enrichment workflows, dashboards, or CRMs via the Apify API. Run it on lists of profiles, export clean results to CSV/JSON/Excel, and automate downstream actions with confidence. Start extracting smarter “Open to work” insights and streamline your outreach today.