LinkedIn Jobs Scraper

The NanoScrape LinkedIn Scraper is an Apify actor that extracts job listings from linkedin.com. It returns 52 fields per result including title, company, location, company_website, company_industry, priced at $1/1k job-result, with no API key or monthly subscription required.

LinkedIn Jobs (Professional, Global): public LinkedIn job listings (source platform). Location, job type, experience level, remote options, company info, and description. No login required.

Open on Apify → Read the tutorial
Pricing
$1.00 / 1,000 job-result
Runtime
Cloud (Apify)
Proxy
Datacenter
Coverage
GLOBAL

What you can scrape — 52 fields per result

FieldTypeExampleGroupFill %
idstring4378357766Core100%
titlestringSoftware EngineerCore100%
source_urlstringhttps://www.linkedin.com/jobs/view/4378357766Core100%
source_platformstringlinkedinCore100%
apply_urlstring | nullhttps://www.linkedin.com/jobs/view/4378357766Core100%
company_urlstring | nullhttps://www.linkedin.com/company/nuvoCore100%
company_logo_urlstring | nullhttps://media.licdn.com/dms/image/v2/D560BAQG4x9m23wsGFw/company-logo_100_100/B56Z_2.jv...Core100%
company_jobs_urlstring | null(populated when data available)Core
company_crunchbase_urlstring | null(populated when data available)Core
job_poster_namestring | null(populated when data available)Core
job_poster_titlestring | null(populated when data available)Core
job_poster_profile_urlstring | null(populated when data available)Core
job_poster_photo_urlstring | null(populated when data available)Core
companystring | nullNuvoCompany100%
company_websitestring | null(populated when data available)Company
company_industrystring | null(populated when data available)Company
company_employee_countstring | null(populated when data available)Company
company_descriptionstring | null(populated when data available)Company
company_typestring | null(populated when data available)Company
company_foundedstring | null(populated when data available)Company
company_headquartersstring | null(populated when data available)Company
company_follower_countstring | null(populated when data available)Company
company_specialtiesarray | null(populated when data available)Company
company_featured_employeesarray | null(populated when data available)Company
company_funding_roundsstring | null(populated when data available)Company
company_last_funding_typestring | null(populated when data available)Company
company_last_funding_datestring | null(populated when data available)Company
company_last_funding_amountstring | null(populated when data available)Company
company_latest_updatesarray | null(populated when data available)Company
locationstringNew York, NYLocation100%
countrystring | nullUSLocation16%
description_snippetstring | null(populated when data available)Description
description_fullstring | null(populated when data available)Description
description_htmlstring | null(populated when data available)Description
salary_textstring | null(populated when data available)Salary
salary_minnumber | null(populated when data available)Salary
salary_maxnumber | null(populated when data available)Salary
salary_currencystring | null(populated when data available)Salary
salary_periodstring | null(populated when data available)Salary
employment_typestring | null(populated when data available)Employment
remote_optionstring | null(populated when data available)Employment
seniority_levelstring | null(populated when data available)Metadata
posted_atstring | null2026-08-17T00:00:00ZMetadata100%
scraped_atstring2026-09-01T06:14:41ZMetadata100%
cantonstring | null(populated when data available)Other
job_statusstring | nullonlineOther100%
top_listingboolean | null(populated when data available)Other
actively_hiringboolean | null(populated when data available)Other
easy_applyboolean | null(populated when data available)Other
job_functionstring | null(populated when data available)Other
applicantsstring | null(populated when data available)Other
search_querystring | nullsoftware engineerOther100%

Input example — showcase (full detail)

{
  "searchQueries": [
    "Software Engineer"
  ],
  "location": "Berlin",
  "maxResultsPerQuery": 10,
  "maxResults": 30,
  "includeJobDetails": true,
  "proxyConfiguration": {
    "useApifyProxy": false
  },
  "includeCompanyDetails": true
}

Output example — real dataset item (PII scrubbed)

{
  "id": "4378357766",
  "title": "Software Engineer",
  "company": "Nuvo",
  "location": "New York, NY",
  "country": "US",
  "canton": null,
  "job_status": "online",
  "top_listing": null,
  "actively_hiring": null,
  "easy_apply": null,
  "employment_type": null,
  "remote_option": null,
  "salary_text": null,
  "salary_min": null,
  "salary_max": null,
  "salary_currency": null,
  "salary_period": null,
  "description_snippet": null,
  "description_full": null,
  "description_html": null,
  "seniority_level": null,
  "job_function": null,
  "applicants": null,
  "posted_at": "2026-08-17T00:00:00Z",
  "source_url": "https://www.linkedin.com/jobs/view/4378357766",
  "source_platform": "linkedin",
  "search_query": "software engineer",
  "apply_url": "https://www.linkedin.com/jobs/view/4378357766",
  "company_url": "https://www.linkedin.com/company/nuvo",
  "company_logo_url": "https://media.licdn.com/dms/image/v2/D560BAQG4x9m23wsGFw/company-logo_100_100/B56Z_2.jveHAAI-/0/1786555022615/nuvo_logo?e=2147483647&v=beta&t=Io4LoOUyTpiZxxvruKCbKtswDyzdQr7kyRPGnQz9XqE",
  "company_website": null,
  "company_industry": null,
  "company_employee_count": null,
  "company_description": null,
  "company_type": null,
  "company_founded": null,
  "company_headquarters": null,
  "company_follower_count": null,
  "company_specialties": null,
  "company_featured_employees": null,
  "company_jobs_url": null,
  "company_funding_rounds": null,
  "company_last_funding_type": null,
  "company_last_funding_date": null,
  "company_last_funding_amount": null,
  "company_crunchbase_url": null,
  "company_latest_updates": null,
  "job_poster_name": null,
  "job_poster_title": null,
  "job_poster_profile_url": null,
  "job_poster_photo_url": null,
  "scraped_at": "2026-09-01T06:14:41Z"
}

Cost math

Priced at $0.0010 per job-result. 10 job-results ≈ $0.01, 100 ≈ $0.10, 1,000 ≈ $1.00. The first runs land inside Apify's $5/mo free-tier credit — pay only for what you extract, no monthly subscription.

Who Should Use This

Recruiters and talent sourcers get hiring-manager contact details, applicant counts, and company funding signals in one call, removing the need for manual LinkedIn browsing. Labour-market researchers use city-level country expansion to pull thousands of results per keyword, bypassing the 990-result cap that stops most scrapers. Job-board builders and aggregators get a normalized feed with ISO country codes and structured salary that plugs straight into a database schema. Competitive intelligence teams monitor rival hiring velocity by role, seniority, and location week over week. The hiring-manager field and company_featured_employees array make this the only LinkedIn scraper that doubles as a contact-discovery tool without requiring Sales Navigator.

Related Tutorials

Integrations

Run this actor directly on Apify (no code)

Click Open on Apify above to run linkedin-scraper in your browser - no code, no install. In the Apify console you get:

Get your Apify API token

To run this actor from your own code you need an Apify API token. Get one in about a minute:

  1. Sign up for a free Apify account (Google, GitHub, or email).
  2. Go to Settings → Integrations → API tokens.
  3. Click Create a new API token. Copy it and keep it secret.

Free tier: Apify credits your account with $5 of platform usage every month, no credit card required. Enough to test any actor meaningfully - at $0.001 per result on typical scrapers, that is roughly 5,000 results for free every month.

Call from code

Run this actor from any language via the Apify REST API. Replace YOUR_TOKEN with your API token and adapt the input JSON to your needs.

curl -X POST "https://api.apify.com/v2/acts/santamaria-automations~linkedin-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{}'
// npm install apify-client
import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: 'YOUR_TOKEN' });
const run = await client.actor('santamaria-automations/linkedin-scraper').call({});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);
# pip install apify-client
from apify_client import ApifyClient

client = ApifyClient('YOUR_TOKEN')
run = client.actor('santamaria-automations/linkedin-scraper').call(run_input={})
items = list(client.dataset(run['defaultDatasetId']).iterate_items())
print(items)
// dotnet add package Apify.Client
using Apify.Client;

var client = new ApifyClient("YOUR_TOKEN");
var run = await client.Actor("santamaria-automations/linkedin-scraper").CallAsync(new { });
var items = await client.Dataset(run.DefaultDatasetId).ListItemsAsync();
// Maven: com.apify:apify-client
import com.apify.client.ApifyClient;

ApifyClient client = new ApifyClient("YOUR_TOKEN");
ActorRun run = client.actor("santamaria-automations/linkedin-scraper").call(Map.of());
List<Map<String,Object>> items = client.dataset(run.getDefaultDatasetId()).listItems();

Use with AI agents (MCP)

This actor is available on the Apify MCP server, so you can drive it from any MCP-compatible AI client - Claude Desktop, Claude.ai, Cursor, VS Code, LangChain, LlamaIndex, or a custom agent - without writing any code.

https://mcp.apify.com?tools=santamaria-automations/linkedin-scraper

Example prompt once connected:

"Use <code>linkedin-scraper</code> to run a scrape on my target list and give me the results as a table."

Clients that support dynamic tool discovery (Claude.ai, VS Code) receive the full input schema automatically via add-actor.

Use with no-code platforms

Trigger this actor from your favorite automation tool. Every platform below can call the Apify API in a few clicks - no code required.

  1. Add the n8n Apify node (installed by default on n8n Cloud; on self-hosted install @apify/n8n-nodes-apify).
  2. Set Actor to santamaria-automations/linkedin-scraper.
  3. Choose operation Run Actor and get dataset, paste your input JSON, and connect a downstream node (Google Sheets, Postgres, webhook, ...).
  1. Create a new Zap with any trigger.
  2. Add a Webhooks by Zapier POST action to https://api.apify.com/v2/acts/santamaria-automations~linkedin-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN.
  3. Body: your input JSON. Content-Type: application/json.
  1. Create a new scenario.
  2. Add an HTTP module: URL https://api.apify.com/v2/acts/santamaria-automations~linkedin-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN, method POST, body raw JSON.
  3. Parse the response with a JSON module to iterate items downstream.
  1. Create a new workflow.
  2. Add an HTTP Request step: POST to https://api.apify.com/v2/acts/santamaria-automations~linkedin-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN.
  3. Access steps.http.$return_value in subsequent steps.
  1. Install the API Connector plugin.
  2. Add a new API: POST https://api.apify.com/v2/acts/santamaria-automations~linkedin-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN, body type JSON.
  3. Initialize the call with your input, then reference the response array in workflow actions.

FAQ

How much does the linkedin-scraper cost?

$1.00 / 1,000 job-result, billed per result on Apify. Apify's $5/month free tier covers the first runs. No monthly subscription — you only pay for what you extract.

What fields does it return?

52 fields per result. Full field catalog is listed in the 'What you can scrape' table above — includes core identifiers, descriptive text, dates, and any category-specific data.

Is scraping this site legal?

Scraping publicly available data is generally permitted in most jurisdictions, but GDPR applies to any personal data you collect. Review your local rules and consult a lawyer for commercial use.

Do I need an API key from the source platform?

No. This actor reads public pages over HTTP with datacenter proxies. No API key, no OAuth, no rate-limit management on your side.

How fresh is the data?

Every run pulls live data at execution time. Set up a schedule (daily/hourly/weekly cron) in the Apify console to keep your dataset current automatically.

Related actors in this category

Related tutorials

Open on Apify → Read the tutorial