Google Jobs
Search Google Jobs to retrieve job listings in JSON format.
Note: Currently only supports jobs in North America.
Endpoint
GET /v1/job/search/{query}
Description
The Google Jobs Search endpoint allows you to search for job listings on Google. The query parameter should be a URL-encoded query string containing the position title and optionally the location.
For reference on Google search parameters, check out our Google Search Operators guide.
Authentication
All requests require authentication using the X-Api-Key header. See the Authentication guide for more details.
Path Parameters
query (required)
Type: string
Position Title and Location (optional). The query should be URL-encoded.
Examples:
q=nurse+practitionerq=data+analyst+work+from+home
Request Example
Using cURL
curl --request GET \
--url 'https://api.serply.io/v1/job/search/q=nurse+practitioner' \
--header 'X-Api-Key: YOUR_API_KEY'
Using JavaScript/Node.js
const response = await fetch('https://api.serply.io/v1/job/search/q=nurse+practitioner', {
headers: {
'X-Api-Key': 'YOUR_API_KEY'
}
});
const data = await response.json();
console.log(data);
Using Python
import requests
headers = {
'X-Api-Key': 'YOUR_API_KEY'
}
response = requests.get(
'https://api.serply.io/v1/job/search/q=nurse+practitioner',
headers=headers
)
data = response.json()
print(data)
Response
The API returns a JSON object containing an array of job listings.
Response Structure
{
"jobs": [
{
"position": "Software Engineer",
"employer": "Company Name",
"employer_link": "https://example.com/company/company-name",
"location": "San Francisco, CA",
"link": "https://example.com/job/123",
"posted_at": "2026-08-14"
}
]
}
Response Fields
jobs(array): An array of job listing objectsposition(string | null): The job title/position nameemployer(string | null): The name of the employer/companyemployer_link(string | null): A link to the employer's profilelocation(string | null): The job's listed locationlink(string | null): The URL to view/apply for the jobposted_at(string | null): When the listing was posted, if available
error(string, only present when no listings were found): Set instead of returning an emptyjobsarray silently
Example Response
{
"jobs": [
{
"position": "Nurse Practitioner",
"employer": "Healthcare System",
"employer_link": "https://example.com/company/healthcare-system",
"location": "New York, NY",
"link": "https://www.example.com/jobs/12345",
"posted_at": "2026-08-13"
}
]
}
Status Codes
- 200 OK - Successful response
- 404 Not Found - The requested resource was not found
- 422 Unprocessable Entity - The request was well-formed but contains semantic errors
- 429 Too Many Requests - Rate limit exceeded
Error Responses
See the Errors guide for information on error response formats.