Linkedin Open Profile Status avatar

Linkedin Open Profile Status

Pricing

$24.99/month + usage

Go to Apify Store
Linkedin Open Profile Status

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

Scrapier

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

20 days ago

Last modified

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 typeDescriptionExample value
urlProcessed LinkedIn profile URLhttps://www.linkedin.com/in/ajjames
open_to_workTrue/false/None if unknowntrue
proxy_modeConnection strategy used for the resultdirect
messageShort status messageok
data.open_to_workNormalized value in nested data objecttrue
debug.proxy_modeProxy mode recorded for debuggingdirect
debug.detailsDiagnostic detail about the last successful/failed strategyok
(KV) data.open_to_workIn the OUTPUT key-value store for single-input runsfalse
(KV) messageJob-level status in the OUTPUT storeok
(Bulk KV) urlURL echoed per item when multiple inputs are usedhttps://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

  1. Sign in to your Apify account and open the Linkedin Open Profile Status actor.
  2. 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.
  3. (Optional) Provide liAtCookie:
    • Paste your LinkedIn li_at cookie to reduce blocks and improve reliability. It’s stored as a secret.
  4. (Optional) Configure proxyConfiguration:
    • Leave it empty to start DIRECT. The actor will automatically fall back to Apify Proxy only when blocked.
  5. Start the run:
    • The actor first tries fast HTTP extraction, then falls back to Playwright if needed. It escalates proxies only when blocked.
  6. Watch results live:
    • Records are pushed to the dataset in real time (url, open_to_work, message, proxy_mode).
  7. 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 nameDescription
Sales prospecting + prioritizationIdentify leads with open_to_work=true to tailor outreach and focus on warmer prospects.
Recruiter outreach routingRoute profiles flagged as open_to_work to recruiter pipelines automatically for faster follow-up.
Talent sourcing QAValidate candidate lists by confirming the “Open to work” signal before engagement.
CRM enrichmentAppend open_to_work status to existing records to improve segmentation and campaign logic.
Market research & analyticsQuantify 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.

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.

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.

Scraper NameScraper Name
LinkedIn Ads ScraperLinkedIn Post Comments Engagements Scraper
Linkedin B2b Email ScraperLinkedIn Post Comments Scraper
Linkedin B2b Lead ScraperLinkedin Post Reactions Scraper
Linkedin B2b Phone Number ScraperLinkedIn Post Scraper
LinkedIn Company About ScraperLinkedIn Posts URL (Profile)
LinkedIn Company Employees ScraperLinkedin Profile And Company Posts Scraper
Linkedin Company Employees ScraperLinkedin Profile Email Scraper
Linkedin Company Profile ScraperLinkedin Profile Lead Scraper
LinkedIn Company ScraperLinkedin Profile Phone Number Scraper
Linkedin Email ScraperLinkedin Profile Post Scraper
Linkedin Jobs ScraperLinkedIn Profile Scraper
Linkedin Lead ScraperLinkedIn Search Jobs Scraper
Linkedin Phone Number Scraper