Search and Extract LinkedIn Job Postings via API
Search LinkedIn's job board by title, company, location, and keywords. Structured job posting data for hiring intelligence, market research, and competitive analysis. Cursor pagination for full result sets.
Job Postings Are the Best Real-Time Signal for Company Strategy
Job postings reveal what a company is building next. When a fintech starts hiring Rust engineers, they're rebuilding infrastructure. When an enterprise adds three "Head of AI" roles, they're making a strategic bet. When a competitor opens a new office in Austin, those job listings tell you before any press release.
LinkedIn hosts the world's largest professional job board — over 15 million active listings at any time. But there's no API access. Sales teams miss buying signals. Recruiters can't track competitor offers. Market researchers scrape manually or pay for stale data dumps.
Everything is locked behind a browser interface designed for individual job seekers, not for teams that need systematic access to hiring data across thousands of companies.
LinkedIn Job Search Endpoint
One endpoint to search LinkedIn's entire job board with structured filters and paginated results.
Search Jobs
Search LinkedIn job postings by keywords, title, company, and location. Returns up to 25 jobs per page with cursor-based pagination for full result sets.
| Parameter | Type | Description |
|---|---|---|
keywords |
string | General keyword search across job listings |
title |
string | Filter by job title (e.g. "Senior Engineer") |
company |
string | Filter by company name |
location |
string | Filter by location, city, or "remote" |
count |
integer | Results per page, max 25 (default: 25) |
cursor |
string | Pagination cursor from previous response |
Cost: 1 credit per page (25 jobs per page)
Example Response
{
"jobs": [
{
"job_id": "3847291056",
"title": "Senior Backend Engineer",
"company": "Stripe",
"company_url": "https://linkedin.com/company/stripe",
"location": "San Francisco, CA (Hybrid)",
"posted_date": "2026-03-08",
"description": "We're looking for a Senior Backend Engineer to join our Payments Infrastructure team. You'll design and build systems that process billions of dollars...",
"employment_type": "Full-time",
"seniority_level": "Mid-Senior level",
"applicant_count": 142,
"url": "https://linkedin.com/jobs/view/3847291056"
}
],
"cursor": "eyJvZmZzZXQiOjI1fQ==",
"total_results": 1847
}
Code Examples
Production-ready examples for common job search workflows.
import requests from collections import defaultdict # Track competitor hiring patterns by department competitors = ["Stripe", "Square", "Adyen", "Checkout.com"] departments = defaultdict(lambda: defaultdict(int)) headers = {"access-token": "YOUR_ACCESS_TOKEN"} for company in competitors: cursor = None while True: params = {"company": company, "count": 25} if cursor: params["cursor"] = cursor resp = requests.get( "https://api.anysite.io/api/linkedin/search/jobs", headers=headers, params=params ) data = resp.json() for job in data["jobs"]: title = job["title"].lower() if "engineer" in title or "developer" in title: departments[company]["Engineering"] += 1 elif "sales" in title or "account" in title: departments[company]["Sales"] += 1 elif "marketing" in title or "growth" in title: departments[company]["Marketing"] += 1 elif "product" in title or "design" in title: departments[company]["Product"] += 1 cursor = data.get("cursor") if not cursor: break # Print hiring breakdown for company, depts in departments.items(): print(f"\n{company}:") for dept, count in sorted(depts.items(), key=lambda x: x[1], reverse=True): print(f" {dept}: {count} open roles")
import requests # Find companies hiring for roles that signal buying intent # e.g. "data engineer" = building data infrastructure = needs tools signal_roles = [ "data engineer", "security engineer", "devops engineer", "platform engineer", ] headers = {"access-token": "YOUR_ACCESS_TOKEN"} prospects = [] for role in signal_roles: resp = requests.get( "https://api.anysite.io/api/linkedin/search/jobs", headers=headers, params={"title": role, "location": "United States", "count": 25} ) data = resp.json() for job in data["jobs"]: prospects.append({ "company": job["company"], "role": job["title"], "location": job["location"], "signal": role, "url": job["url"], }) print(f"Found {len(prospects)} buying-signal job postings") for p in prospects[:10]: print(f" {p['company']} hiring {p['role']} ({p['signal']})")
# Search for engineering jobs at a specific company curl -X GET "https://api.anysite.io/api/linkedin/search/jobs" \ -H "access-token: YOUR_ACCESS_TOKEN" \ -G \ -d "company=Stripe" \ -d "keywords=engineer" \ -d "location=San Francisco" \ -d "count=25" # Search remote jobs by title curl -X GET "https://api.anysite.io/api/linkedin/search/jobs" \ -H "access-token: YOUR_ACCESS_TOKEN" \ -G \ -d "title=product manager" \ -d "location=remote" # Paginate through results curl -X GET "https://api.anysite.io/api/linkedin/search/jobs" \ -H "access-token: YOUR_ACCESS_TOKEN" \ -G \ -d "keywords=machine learning" \ -d "cursor=eyJvZmZzZXQiOjI1fQ=="
# Search for jobs by keywords anysite linkedin search-jobs --keywords "machine learning" --location "New York" # Search by job title anysite linkedin search-jobs --title "Senior Product Manager" --count 25
# All open roles at a company anysite linkedin search-jobs --company "Google" --count 25 # Engineering roles at a company anysite linkedin search-jobs --company "Stripe" --keywords "engineer"
# companies.txt — one company per line # Stripe # Square # Adyen # Search jobs for each company in the file while IFS= read -r company; do anysite linkedin search-jobs --company "$company" --count 25 >> jobs_output.json done < companies.txt
Use Cases
How teams use LinkedIn job data to gain a competitive edge.
Sales Intent Signals
Companies that are hiring have budget and are building. A company posting 10 engineering roles is investing in product — they need tools, infrastructure, and services. Job postings are the earliest signal of buying intent.
Signal Examples
New "Head of Security" = security budget. "Data Engineer" = data infrastructure spend. "DevOps" = cloud tooling purchases.
Competitive Hiring Analysis
Track which departments competitors are expanding. A sudden spike in ML engineering roles reveals strategic direction. New office locations show geographic expansion. Job descriptions reveal the tech stack they're adopting.
What You Learn
Department growth rates, technology bets, geographic strategy, and organizational priorities — all from public job postings.
Labor Market Research
Analyze salary ranges, skill requirements, and title trends across industries. Track which technologies are growing in demand. Understand how job requirements differ by region, seniority level, and company size.
Data Points
Skill demand trends, compensation benchmarks, employment type shifts (remote vs. hybrid), and seniority distribution across roles.
Recruiting Competitive Intelligence
See what competitors offer candidates — titles, perks, compensation signals, and role scope. Understand how your job descriptions compare. Identify which companies are competing for the same talent pool.
Actionable Insights
Competitor compensation ranges, benefits mentioned in postings, title inflation trends, and hiring velocity by role type.
Pricing
Simple credit-based pricing. No per-endpoint fees.
| Action | Cost | Details |
|---|---|---|
| Job search | 1 credit/page | 25 jobs per page |
Cost Examples
| Use Case | Estimated Credits/Month |
|---|---|
| Track 20 competitors weekly | ~80 credits |
| Daily hiring signals | ~150 credits |
| Market research — 500 postings | ~20 credits |
Frequently Asked Questions
Related Endpoints
Start Tracking LinkedIn Job Data
7-day free trial with 1,000 credits. Search LinkedIn's full job board via API.