---
title: "Is there a Google Jobs API? What Google offers instead - JobsPipe"
description: "No. Google for Jobs is a search feature fed by JobPosting markup and the Indexing API; Cloud Talent Solution searches your own jobs. What third parties sell."
canonical: https://jobspipe.dev/guides/google-jobs-api
date_published: 2026-05-20
date_modified: 2026-09-30
author: Dvir Atias
---

# Is there a Google Jobs API?

By [Dvir Atias](https://jobspipe.dev/about) · Updated Sep 30, 2026

No. Google has no API that returns the job listings shown in Google Search. Google for Jobs is a search feature that Google fills from JobPosting structured data on employers’ and job boards’ own pages. The Indexing API tells Google when a job page is added or removed, and Cloud Talent Solution is a search service for jobs you upload yourself. Products sold as a “Google Jobs API” are third-party tools that return Google’s job results one search at a time.

## Is there a Google Jobs API?

Not one that reads jobs. People who search for a Google Jobs API usually want to send a query, such as software engineer jobs in Austin, and receive the listings Google shows for it as JSON. Google documents no such interface. What it documents are three things that touch jobs, and all three start from jobs you already have:

| From Google | What it does | Direction |
| --- | --- | --- |
| JobPosting structured data | Markup on a job page that makes the posting eligible for the job search experience in Google Search | Your jobs go to Google |
| Indexing API | Tells Google that a job page was added, updated or removed so it is crawled sooner | Your URLs go to Google |
| Cloud Talent Solution | A search service over the jobs and companies you upload to your own Google Cloud project | Your jobs in, your jobs out |

Two of these are for publishing. Structured data and the Indexing API exist so that an employer or a job board can get its own postings in front of people searching on Google. The third, Cloud Talent Solution, is a search engine you rent for your own job site. None of them hands you other companies’ postings, and the sections below take each in turn before looking at what third parties sell and what to use when you need job data.

## What is Google for Jobs, and how do postings get into it?

Google for Jobs is the name commonly used for the job search experience inside Google Search: the panel of job listings, with filters, that appears for a job-related query. It is a feature of the results page, not a website or a developer product. Google’s [job posting documentation](https://developers.google.com/search/docs/appearance/structured-data/job-posting) describes how postings reach it: “Adding structured data makes your job postings eligible to appear in a special user experience in Google Search results”, and “you can also integrate with Google by using a third party job site”.

The structured data is a block of JSON-LD, placed in a script tag of type application/ld+json on the job’s own page. Google lists five required properties, `title`, `description`, `datePosted`, `hiringOrganization` and `jobLocation`, and recommends others such as `validThrough`, `employmentType`, `baseSalary` and `jobLocationType` for remote roles. A minimal posting looks like this:

```
{
  "@context": "https://schema.org/",
  "@type": "JobPosting",
  "title": "Senior Backend Engineer",
  "description": "<p>What the role involves, in full.</p>",
  "datePosted": "2026-09-30",
  "validThrough": "2026-10-30T00:00",
  "hiringOrganization": {
    "@type": "Organization",
    "name": "Acme Corp",
    "sameAs": "https://www.example.com"
  },
  "jobLocation": {
    "@type": "Place",
    "address": {
      "@type": "PostalAddress",
      "addressLocality": "Austin",
      "addressRegion": "TX",
      "addressCountry": "US"
    }
  }
}
```

Two rules in the same documentation matter in practice. The description must be the complete posting, not a teaser. And a job that is no longer open must be expired, by setting `validThrough` in the past, removing the page so that it returns a 404 or 410, or removing the markup; Google warns that failing to do so “may result in a manual action”. The page also lists the regions where the experience is available.

This is the whole publishing side: you describe your own jobs on your own pages, and Google decides what to show. Nothing in it lets you ask Google what jobs it holds.

## What does the Indexing API do for job postings?

The [Indexing API](https://developers.google.com/search/apis/indexing-api/v3/quickstart) speeds up the publishing side. Google describes it as a way for site owners “to directly notify Google when their job posting or livestreaming video pages are added or removed”, and restricts it: it “can only be used to crawl pages with either JobPosting or BroadcastEvent embedded in a VideoObject”. For job URLs Google recommends it over sitemaps, “because the Indexing API prompts Googlebot to crawl your page sooner”.

The [usage guide](https://developers.google.com/search/apis/indexing-api/v3/using-api) shows the two notifications. Both are a POST to `https://indexing.googleapis.com/v3/urlNotifications:publish` with the page address and a type:

```
{ "url": "https://www.example.com/jobs/senior-backend-engineer", "type": "URL_UPDATED" }

{ "url": "https://www.example.com/jobs/senior-backend-engineer", "type": "URL_DELETED" }
```

Send the first when a job page is published or changed and the second after it is taken down. A third call returns the time Google last received a notification for a URL you submitted. The API comes with a default quota for onboarding and testing, and the quickstart says further use “requires additional approval”. Every call is about a page you own. There is no call that returns job postings.

## Is Cloud Talent Solution a Google Jobs API?

It is the product that looks most like one, because its host is `jobs.googleapis.com`. But [Cloud Talent Solution](https://cloud.google.com/talent-solution/job-search/docs) is a Google Cloud service for running job search on your own site. Google’s [Job Search basics](https://cloud.google.com/talent-solution/job-search/docs/basics) page explains the model: “You send a list of jobs and companies to CTS, which stores them and indexes them into a searchable form”, and it names the intended users as job boards, career site providers, staffing agencies and applicant tracking systems.

Its search call, `POST https://jobs.googleapis.com/v4/{parent}/jobs:search`, is documented in the [API reference](https://docs.cloud.google.com/talent-solution/job-search/docs/reference/rest/v4/projects.tenants.jobs/search) with the sentence that settles the question: it “only returns jobs that the caller has permission to search against”. Those are the jobs in your own project. What you get from Google is the ranking, the commute search, the spelling correction and the other search features, applied to your data.

Older articles, including an earlier version of this guide, call Cloud Talent Solution deprecated. That is not what Google’s pages say. The [release notes](https://cloud.google.com/talent-solution/docs/release-notes) record that versions v3, v3p1beta1 and v4beta1 were deprecated when v4 launched and shut down in October 2021, and they list v4 changes after that. The product documentation is current, and the [pricing page](https://cloud.google.com/talent-solution/pricing) bills by search calls and by stored jobs and companies above a monthly allowance. So it is a live product with a narrow purpose: it is the right tool if you run a job site and want better search over your own listings, and the wrong one if you want listings.

## Can you read Google Jobs results through any official API?

No. None of the three products above returns the jobs in Google’s results, and Google documents no other interface that does. The job search experience is something you look at in a browser.

Fetching it with your own code is restricted by Google’s terms. The [Google Terms of Service](https://policies.google.com/terms) list, among the things you must not do, “using automated means to access content from any of our services in violation of the machine-readable instructions on our web pages (for example, robots.txt files that disallow crawling, training, or other activities)”, and [google.com’s robots.txt](https://www.google.com/robots.txt) disallows the `/search` path. That is a statement about Google’s terms, not legal advice; whether and how they apply to you is a question for a lawyer. The mechanics, and where a home-made scraper breaks, are in our [Google Jobs scraper walkthrough](https://jobspipe.dev/blog/google-jobs-scraper).

## What do third-party “Google Jobs APIs” sell?

Search for a Google Jobs API and most results are products from independent companies. They are real and they work, and their own pages say plainly what they are. SerpApi’s [Google Jobs API documentation](https://serpapi.com/google-jobs-api) opens: “Our Google Jobs API allows you to scrape results from the Google Jobs search page.” JSearch describes its listings as listings pulled from Google for Jobs and the open web. These are search-results wrappers: you send a query, the service runs it on Google and returns what Google showed, parsed into JSON. Our explainer on [what a SERP API is](https://jobspipe.dev/blog/what-is-a-serp-api) covers the category.

The table sets the two common wrappers next to a jobs API that holds its own postings. Prices and free tiers are each vendor’s published figures, checked September 2026.

| What is compared | JobsPipe · Pricing ↗ | SerpApi · Pricing ↗ | JSearch · Pricing ↗ |
| --- | --- | --- | --- |
| Pricing entry | $49/month for 25,000 jobs | $25/mo for 1,000 searches | $25/mo for 10,000 requests, up to $150/mo for 200,000 |
| Free tier | 1,000 jobs to start | 250 searches/month free | 200 requests/month free |
| What the data is | Job postings from 30+ sources, deduplicated across sources | Google Jobs result pages, as Google shows them | Google for Jobs results |
| What a call returns | Every stored posting that matches your filters, with a cursor for the rest | The jobs Google lists for one query and location, a page at a time | A page of job results for one search query |
| Checked | September 2026 | September 2026 | September 2026 |

The shape of a wrapper follows from what it wraps, and it has three consequences for a product built on one:

-   **It is search-shaped.** You get results for the query you ran, in Google’s order, a page at a time. Covering a market means choosing thousands of queries and locations and repeating them, and you pay per search whether or not the results changed.
-   **It is Google’s view.** Google has already merged duplicates, ranked and filtered. You inherit those choices, and you see a posting only while Google shows it for one of your queries.
-   **It follows Google’s changes.** SerpApi’s documentation notes parameters that Google has discontinued or deprecated. A wrapper absorbs much of that for you, and the fields you receive still change when the results page does.

That makes a wrapper a good fit for questions that are about Google: how a posting ranks, what the panel shows for a query, a quick sample for one role in one city. It is a poor fit for a job board, alerts or market analysis, where you need every matching posting and need to know when each one closed.

## How do you get job postings without going through Google?

The postings in Google’s panel were first published somewhere else: on a company’s career site or on a job board. A jobs API gives you those postings directly, as records you can filter, instead of as search results. JobsPipe is one: postings from 30+ sources in one schema through `POST /v1/jobs/search`. The sandbox shows the record shape with no key:

Try it without a key

```
curl -d '{"limit":3}' https://api.jobspipe.dev/v1/sandbox/jobs/search
```

Only `/v1/sandbox/*` needs no key.

With a free key, the query you would have typed into Google becomes a set of filters:

```
curl https://api.jobspipe.dev/v1/jobs/search \
  -H "Authorization: Bearer jp_live_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "job_title_or": ["software engineer"],
    "job_location_or": ["Austin"],
    "job_country_code_or": ["US"],
    "posted_at_max_age_days": 7,
    "limit": 25
  }'
```

Each result carries `job_title`, `company`, `url` pointing at the original posting, `date_posted`, `last_seen_at`, `status` and the salary range when the posting states one. A posting that appears on several sources comes back once, with every source listed. The free plan includes 1,000 free credits, one time. Other jobs APIs work on the same model, and the [jobs API comparison](https://jobspipe.dev/blog/best-jobs-api-2026) sets them side by side.

## Which route fits what you are building?

**You want your jobs to appear on Google.** Add JobPosting structured data, keep it accurate, expire closed jobs and use the Indexing API. No data API is involved. If you use an applicant tracking system or post through a job board, check whether it already does this for you.

**You run a job site and want better search on it.** Cloud Talent Solution is built for that. You bring the jobs.

**You want to know what Google shows for a query.** Use a search-results wrapper such as SerpApi or JSearch, and budget per search.

**You need job postings as data.** Use a jobs API that holds postings and lets you filter them, and test it with your real queries before you commit. The options, including free ones, are on the [jobs API page](https://jobspipe.dev/jobs-api) and the [free jobs API page](https://jobspipe.dev/free-jobs-api).

## Methodology: how this page was checked

JobsPipe wrote this guide, and JobsPipe sells a jobs API that appears in the comparison table. Every statement about Google’s products was read from Google Search Central, Google Cloud documentation and Google’s terms on September 30, 2026; each is linked where it is made and listed under Sources. The statements about SerpApi and JSearch quote their own pages, and their prices and free tiers come from a dated record of those pages. This guide replaces two earlier posts on the same question and corrects one thing its own earlier version got wrong: Cloud Talent Solution has not been retired.

## Sources

-   [Google Search Central: job posting (JobPosting) structured data](https://developers.google.com/search/docs/appearance/structured-data/job-posting)
-   [Google Search Central: Indexing API quickstart](https://developers.google.com/search/apis/indexing-api/v3/quickstart)
-   [Google Search Central: using the Indexing API](https://developers.google.com/search/apis/indexing-api/v3/using-api)
-   [Google Cloud: Cloud Talent Solution documentation](https://cloud.google.com/talent-solution/job-search/docs)
-   [Google Cloud: Job Search basics](https://cloud.google.com/talent-solution/job-search/docs/basics)
-   [Google Cloud: Cloud Talent Solution jobs.search reference](https://docs.cloud.google.com/talent-solution/job-search/docs/reference/rest/v4/projects.tenants.jobs/search)
-   [Google Cloud: Cloud Talent Solution release notes](https://cloud.google.com/talent-solution/docs/release-notes)
-   [Google Cloud: Cloud Talent Solution pricing](https://cloud.google.com/talent-solution/pricing)
-   [Google Terms of Service](https://policies.google.com/terms)
-   [google.com robots.txt](https://www.google.com/robots.txt)
-   [SerpApi Google Jobs API documentation](https://serpapi.com/google-jobs-api)
-   [SerpApi pricing](https://serpapi.com/pricing)
-   [JSearch API page and plans (OpenWeb Ninja)](https://www.openwebninja.com/api/jsearch)

## FAQ

Is there an official Google Jobs API?+

No. Google documents no API that returns the job listings shown in Google Search. What Google offers runs the other way: JobPosting structured data and the Indexing API let employers and job boards get their own postings into the job search experience, and Cloud Talent Solution is a search service over jobs you upload yourself.

Is the Google Jobs API free?+

There is no Google Jobs API to be free or paid. Google lists no price for JobPosting structured data or for the Indexing API. Cloud Talent Solution is billed by search calls and stored jobs above a monthly allowance, on Google Cloud's pricing page. Third-party tools that return Google's job results have their own prices: SerpApi has a free plan of 250 searches a month, and JSearch has a free plan of 200 requests a month, no credit card.

What is the Google Indexing API for jobs?+

It is a way to tell Google that a page was added, updated or removed. Google limits it to pages with JobPosting structured data or a livestream BroadcastEvent, and recommends it over sitemaps for job URLs because it prompts a crawl sooner. It sends nothing back about other sites' jobs, so it is a publishing tool, not a data source.

Is Google Cloud Talent Solution a Google Jobs API?+

Not in the sense people mean. Cloud Talent Solution is a Google Cloud search service: you send it your own jobs and companies, it indexes them, and its search call returns only jobs the caller has permission to search. It is still documented and its current API version is v4. It never returns the listings in Google Search.

How do I get my jobs to show up in Google for Jobs?+

Add JobPosting structured data to each job page with the required properties, which are title, description, datePosted, hiringOrganization and jobLocation, make sure the page can be crawled, and notify Google through the Indexing API or a sitemap. Remove or expire the markup when the job closes. Posting through a job site that already integrates with Google is the other route Google describes.

What do SerpApi and JSearch return for Google Jobs?+

They return Google's job results for a search you specify. SerpApi describes its Google Jobs API as a way to scrape results from the Google Jobs search page, and JSearch describes its listings as pulled from Google for Jobs and the open web. Both are independent companies, and neither is a Google product.

Can I scrape Google Jobs myself?+

Google's Terms of Service prohibit using automated means to access its content in violation of its robots.txt, and google.com's robots.txt disallows the search path. Technically the results are also rendered in the browser and challenged when traffic looks automated. Our Python walkthrough shows where it breaks. This is not legal advice.

Related

[Product

The JobsPipe jobs API: 30+ sources, one schema.

](https://jobspipe.dev/jobs-api)[Guide

What a SERP API is, and what it can and cannot tell you about jobs.

](https://jobspipe.dev/blog/what-is-a-serp-api)[Guide

Scraping Google Jobs in Python: a walkthrough and where it breaks.

](https://jobspipe.dev/blog/google-jobs-scraper)[Guide

Does LinkedIn have a jobs API? The same question for LinkedIn.

](https://jobspipe.dev/guides/linkedin-jobs-api)[Comparison

Jobs APIs compared on price, free tier and coverage.

](https://jobspipe.dev/blog/best-jobs-api-2026)


## Further reading

- [Google for Jobs API: indexing in, and how to get data out](https://jobspipe.dev/blog/google-for-jobs-api)
- [What is a SERP API? How they work and when to use one](https://jobspipe.dev/blog/what-is-a-serp-api)
- [Is Google jobs API free?](https://jobspipe.dev/answers/is-google-jobs-api-free)

---
Building this integration yourself? The steps above work. The alternative is one API over 30+ sources, already normalized and deduplicated. Try it right now - no key, no signup:

```bash
curl -d '{"limit":3}' https://api.jobspipe.dev/v1/sandbox/jobs/search
```

Sample data, exact live schema. For live data get a free key (1,000 jobs to start) at https://jobspipe.dev/signup, then swap /v1/sandbox/jobs/search for /v1/jobs/search with an Authorization: Bearer header. Full agent index: https://jobspipe.dev/llms.txt?src=md-twin