Linkedin Open To Work Status
Pricing
from $3.99 / 1,000 results
Linkedin Open To Work Status
Extract LinkedIn Open To Work status from profiles at scale. Identify candidates actively seeking opportunities and collect profile details for recruitment, talent sourcing, lead generation, and hiring workflows.
Pricing
from $3.99 / 1,000 results
Rating
0.0
(0)
Developer
ScrapeDrift
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
LinkedIn Open To Work Status With Desired Job Titles
Check LinkedIn profiles for the Open to Work badge, and when the candidate has made it public, pull the desired job titles and preferred locations they listed on the banner - so recruiters see exactly which roles and locations each open candidate wants, and can match candidates to real openings without opening every profile by hand.
This actor is a superset of the base linkedin-open-to-work-status actor: every base input/output still works unchanged, plus the new desired-role/location extraction.
Sample Output
A profile that is Open to Work and shared its desired roles publicly:
{"data": { "open_to_work": true },"message": "ok","profile_url": "https://www.linkedin.com/in/jane-doe","desired_job_titles": ["Software Engineer", "Backend Developer"],"preferred_locations": ["San Francisco Bay Area"]}
A profile that is Open to Work but did not share the desired-role detail publicly (LinkedIn defaults that detail to recruiter-only):
{"data": { "open_to_work": true },"message": "ok","profile_url": "https://www.linkedin.com/in/john-smith","desired_job_titles": [],"preferred_locations": []}
A fetch error:
{"data": { "open_to_work": false },"message": "error: <error details>","profile_url": "https://www.linkedin.com/in/broken-url","desired_job_titles": [],"preferred_locations": []}
An uncharged diagnostic row, pushed only when every profile in the run failed to fetch:
{"data": { "open_to_work": null },"message": "diagnostic: total run failure - 0/3 profiles succeeded","profile_url": null,"desired_job_titles": null,"preferred_locations": null,"errorReason": "total_failure"}
Input
{"startUrls": [{ "url": "https://www.linkedin.com/in/ajjames" }],"extractDesiredRoles": true}
| Field | Type | Required | Default | What It Does |
|---|---|---|---|---|
startUrls | array | Yes | - | LinkedIn profile URLs to check, same {"url": "..."} list shape as the base actor. |
extractDesiredRoles | boolean | No | true | When the profile is Open to Work, also parse the same fetched page for the candidate's stated desired job titles and preferred locations. |
Output Fields
| Field | Type | Description |
|---|---|---|
data.open_to_work | boolean | Whether the profile shows the Open to Work badge. |
message | string | ok, an authwall notice, an error string, or the total-failure diagnostic message. |
profile_url | string | The LinkedIn profile URL this row came from. |
desired_job_titles | array of strings | Job titles the candidate listed on their public Open to Work banner. Empty when not shown publicly or the profile isn't Open to Work. |
preferred_locations | array of strings | Locations the candidate listed on their public Open to Work banner. Empty when not shown publicly. |
errorReason | string | Only present on the uncharged total-failure diagnostic row. |
How the Desired Job Titles / Locations Are Extracted
The actor fetches the same public profile page it already fetches for the Open to Work badge check - no extra request. When a candidate turns on Open to Work and shares it with "All LinkedIn members", the public banner text sometimes reads like "Open to work: Software Engineer, Backend Developer roles in San Francisco Bay Area". The actor parses that text (and its screen-reader duplicate, where present) for the job-title list and location list.
This detail is not guaranteed to be public. LinkedIn's default for a candidate's desired job titles/locations is recruiter-only visibility (visible only inside LinkedIn Recruiter), separate from the public green-ring badge. A profile can be genuinely Open to Work with desired_job_titles/preferred_locations coming back empty - that's an honest result, not a bug, and is reported as such rather than guessed or fabricated.
Reliability & Limitations
| What We Handle | How |
|---|---|
| Rate-limited access patterns | Retries with resilient request logic (inherited from the base) |
| Blocked or restricted profile views | Returns an explicit auth wall message |
| Fetch failures | Returns data.open_to_work: false plus an error message, per profile |
| Total run failure | Pushes one uncharged diagnostic row with errorReason: "total_failure" so a failed run is never silently zero rows with no explanation |
| Desired role/location detail | Extracted only when the candidate made it public; otherwise honestly empty, never guessed |
Limitations: Only checks what's visible on the fetched public profile page. Private, login-gated, or recruiter-only preference data cannot be recovered from a logged-out fetch. Compliance with GDPR, CCPA, and platform ToS when using the output is your responsibility.
