GET /jobs/search

Search Jobs

Search job listings from Google Jobs with filters for employment type, date, remote work, salary, and more.

Jobs Search API

Search for job listings aggregated from Google Jobs. Returns detailed results including job title, company, salary information, qualifications, apply links, and structured highlights. Supports pagination and a wide range of filters.

HTTP Request

1
GET /jobs/search

Parameters

ParameterTypeRequiredDefaultDescription
qstringYesSearch query (e.g., "software engineer in New York")
pageintegerNo0Page number for pagination (0-based)
hlstringNoLanguage code for results (e.g., "en", "es")
glstringNoCountry code for geographic context (e.g., "us", "uk")
employment_typestringNoFilter by employment type: full_time, part_time, contractor, internship
date_postedstringNoFilter by posting date: past_day, past_3_days, past_week, past_month
remotebooleanNoFilter for remote-only jobs when set to true
no_degreebooleanNoFilter for jobs that do not require a degree when set to true
lradintegerNoLocation radius in miles from the location specified in the query

Response

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
{
  "status": true,
  "data": {
    "jobs": [
      {
        "job_id": "abc123def456",
        "title": "Senior Software Engineer",
        "company": "TechCorp Inc.",
        "location": "San Francisco, CA",
        "source": "LinkedIn",
        "posted_date": "2 days ago",
        "salary": "$150,000 - $200,000 a year",
        "employment_type": "Full-time",
        "is_new": true,
        "is_remote": false,
        "benefits": [
          "Health insurance",
          "401(k) matching",
          "Flexible schedule"
        ],
        "qualifications": [
          "5+ years of experience",
          "Bachelor's degree in Computer Science",
          "Proficiency in Python and JavaScript"
        ],
        "company_logo_url": "https://example.com/logo.png",
        "description": "We are looking for a Senior Software Engineer to join our growing team...",
        "apply_links": [
          {
            "source": "LinkedIn",
            "url": "https://linkedin.com/jobs/view/123456",
            "domain": "linkedin.com",
            "is_primary": true
          },
          {
            "source": "Company Website",
            "url": "https://techcorp.com/careers/senior-swe",
            "domain": "techcorp.com",
            "is_primary": false
          }
        ],
        "highlights": {
          "qualifications": [
            "5+ years of software development experience",
            "Strong proficiency in Python and JavaScript"
          ],
          "benefits": [
            "Competitive salary and equity package",
            "Comprehensive health, dental, and vision insurance"
          ],
          "responsibilities": [
            "Design and implement scalable backend services",
            "Mentor junior engineers and conduct code reviews"
          ]
        }
      }
    ],
    "page": 0,
    "has_next_page": true
  }
}

Response Fields

FieldTypeDescription
statusbooleanWhether the request was successful
data.jobsarrayList of job listings
data.jobs[].job_idstringUnique job identifier
data.jobs[].titlestringJob title
data.jobs[].companystringCompany name
data.jobs[].locationstringJob location
data.jobs[].sourcestringSource website where the job was found
data.jobs[].posted_datestringRelative or absolute posting date
data.jobs[].salarystringSalary range or information (if available)
data.jobs[].employment_typestringEmployment type (Full-time, Part-time, etc.)
data.jobs[].is_newbooleanWhether the job was recently posted
data.jobs[].is_remotebooleanWhether the job is remote
data.jobs[].benefitsarrayList of benefits
data.jobs[].qualificationsarrayList of qualifications
data.jobs[].company_logo_urlstringURL to the company logo image
data.jobs[].descriptionstringFull job description text
data.jobs[].apply_linksarrayList of application links
data.jobs[].apply_links[].sourcestringName of the application source
data.jobs[].apply_links[].urlstringDirect URL to apply
data.jobs[].apply_links[].domainstringDomain of the application link
data.jobs[].apply_links[].is_primarybooleanWhether this is the primary application link
data.jobs[].highlightsobjectStructured highlights extracted from the listing
data.jobs[].highlights.qualificationsarrayKey qualifications
data.jobs[].highlights.benefitsarrayKey benefits
data.jobs[].highlights.responsibilitiesarrayKey responsibilities
data.pageintegerCurrent page number
data.has_next_pagebooleanWhether more results are available

Code Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import requests

url = "https://jobs-search-api.p.rapidapi.com/jobs/search"

querystring = {
    "q": "software engineer in San Francisco",
    "page": "0",
    "employment_type": "full_time",
    "date_posted": "past_week",
    "remote": "false"
}

headers = {
    "X-RapidAPI-Key": "YOUR_API_KEY",
    "X-RapidAPI-Host": "jobs-search-api.p.rapidapi.com"
}

response = requests.get(url, headers=headers, params=querystring)
data = response.json()

for job in data["data"]["jobs"]:
    print(f"{job['title']} at {job['company']}")
    print(f"  Location: {job['location']}")
    print(f"  Salary: {job.get('salary', 'Not specified')}")
    print(f"  Type: {job['employment_type']}")
    if job["apply_links"]:
        primary = next((l for l in job["apply_links"] if l["is_primary"]), job["apply_links"][0])
        print(f"  Apply: {primary['url']}")
    print()

Python — Pagination

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import requests

url = "https://jobs-search-api.p.rapidapi.com/jobs/search"

headers = {
    "X-RapidAPI-Key": "YOUR_API_KEY",
    "X-RapidAPI-Host": "jobs-search-api.p.rapidapi.com"
}

all_jobs = []
page = 0

while True:
    querystring = {
        "q": "data scientist in New York",
        "page": str(page),
        "employment_type": "full_time"
    }

    response = requests.get(url, headers=headers, params=querystring)
    data = response.json()

    jobs = data["data"]["jobs"]
    all_jobs.extend(jobs)

    print(f"Page {page}: fetched {len(jobs)} jobs")

    if not data["data"]["has_next_page"]:
        break

    page += 1

print(f"\nTotal jobs collected: {len(all_jobs)}")
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
const url = "https://jobs-search-api.p.rapidapi.com/jobs/search";

const params = new URLSearchParams({
  q: "software engineer in San Francisco",
  page: "0",
  employment_type: "full_time",
  date_posted: "past_week",
});

const response = await fetch(`${url}?${params}`, {
  method: "GET",
  headers: {
    "X-RapidAPI-Key": "YOUR_API_KEY",
    "X-RapidAPI-Host": "jobs-search-api.p.rapidapi.com",
  },
});

const data = await response.json();

data.data.jobs.forEach((job) => {
  console.log(`${job.title} at ${job.company}`);
  console.log(`  Location: ${job.location}`);
  console.log(`  Salary: ${job.salary || "Not specified"}`);
  console.log();
});
1
2
3
4
5
6
7
curl -G "https://jobs-search-api.p.rapidapi.com/jobs/search" \
  --data-urlencode "q=software engineer in San Francisco" \
  --data-urlencode "page=0" \
  --data-urlencode "employment_type=full_time" \
  --data-urlencode "date_posted=past_week" \
  -H "X-RapidAPI-Key: YOUR_API_KEY" \
  -H "X-RapidAPI-Host: jobs-search-api.p.rapidapi.com"
Start building today

Get your API key and make your first request in under a minute.

Get Your API Key on RapidAPI