API Documentation
Welcome to the JobSearch API! Our RESTful API allows you to integrate LinkedIn job search capabilities directly into your application.
Base URL
https://linkedin-jobs-search.vercel.app/api
Authentication
Currently, the API does not require authentication for basic usage. Premium features require an API key.
// Include API key in headers (for premium users)
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
}
Available Endpoints
POST /api/jobs/search
Search for jobs with comprehensive filtering options.
Request Body
{
"keyword": "software engineer",
"location": "San Francisco",
"dateSincePosted": "past week",
"jobType": "full time",
"remoteFilter": "remote",
"salary": "100000",
"experienceLevel": "senior",
"sortBy": "recent",
"limit": "10",
"page": "0",
"has_verification": true,
"under_10_applicants": false
}
Response
{
"success": true,
"data": [
{
"jobTitle": "Senior Software Engineer",
"company": "Tech Company Inc.",
"location": "San Francisco, CA",
"salary": "$120K - $180K",
"jobType": "Full-time",
"posted": "2 days ago",
"link": "https://linkedin.com/jobs/...",
"description": "..."
}
],
"totalResults": 156,
"page": 0,
"limit": 10
}
Search Parameters
| Parameter | Type | Description | Example |
|---|---|---|---|
keyword |
string | Job title or skills to search | "software developer" |
location |
string | City, state, or "Remote" | "New York" |
dateSincePosted |
string | Time filter | "past week", "24hr" |
salary |
string | Minimum salary | "80000", "100000" |
jobType |
string | Employment type | "full time", "contract" |
remoteFilter |
string | Work location type | "remote", "hybrid" |
experienceLevel |
string | Required experience | "senior", "entry level" |
sortBy |
string | Sort order | "recent", "relevant" |
limit |
string | Results per page | "10", "50" |
page |
string | Page number (0-indexed) | "0", "1" |
Code Examples
// Fetch API example
const searchJobs = async () => {
const response = await fetch('https://linkedin-jobs-search.vercel.app/api/jobs/search', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
keyword: 'frontend developer',
location: 'San Francisco',
remoteFilter: 'remote',
salary: '100000',
limit: '20'
})
});
const data = await response.json();
console.log(data);
};
searchJobs();
Error Handling
The API uses standard HTTP status codes to indicate success or failure.
OK
Request successful
Bad Request
Invalid parameters
Too Many Requests
Rate limit exceeded
Server Error
Internal server error
Rate Limits
To ensure fair usage, API requests are rate limited based on your plan.
| Plan | Requests | Window |
|---|---|---|
| Free | 100 requests | per 15 minutes |
| Pro | 1000 requests | per 15 minutes |
| Enterprise | Custom | - |
Need higher limits?
Upgrade to Pro or contact us for Enterprise pricing.