Stay organized with collections Save and categorize content based on your preferences.
Using the Indexing APIYou can use the Indexing API to tell Google to update or remove job posting or livestreaming event pages from the Google index. The requests must specify the location of a web page. You can also get the status of notifications that you have sent to Google. The Indexing API can only be used to crawl pages with either JobPosting
or BroadcastEvent
embedded in a VideoObject
.
The following guidelines apply when using the Indexing API.
https://indexing.googleapis.com/v3/urlNotifications:publish
MUST use "application/json"
as the Content-Type
header.content
variable that is used in the access token examples.When you send a request to the Indexing API, define the location of a standalone web page to notify Google that it can crawl or remove this page from its index.
The following examples show the actions that you can perform with the Indexing API:
Examples Update a URLSend the following HTTP POST
request to the https://indexing.googleapis.com/v3/urlNotifications:publish
endpoint. For example:
{ "url": "https://careers.google.com/jobs/google/technical-writer", "type": "URL_UPDATED" }Remove a URL
Send the following HTTP POST
request to the https://indexing.googleapis.com/v3/urlNotifications:publish
endpoint. For example:
{ "url": "https://careers.google.com/jobs/google/technical-writer", "type": "URL_DELETED" }Get notification status
Send a HTTP GET
request to the https://indexing.googleapis.com/v3/urlNotifications/metadata
endpoint.
The following table describes the fields needed for all methods (update and remove a URL):
Fieldsurl
Required
The fully-qualified location of the item that you want to update or remove.
type
Required
The type of the notification that you submitted.
Update a URLTo notify Google of a new URL to crawl or that content at a previously-submitted URL has been updated, follow these steps:
POST
request to the following endpoint:
https://indexing.googleapis.com/v3/urlNotifications:publish
{ "url": "CONTENT_LOCATION", "type": "URL_UPDATED" }
HTTP 200
. An HTTP 200
response means that Google may try to recrawl this URL soon. The body of the response contains a UrlNotificationMetadata
object, whose fields correspond to those returned by a notification status request.HTTP 200
response, see the Indexing API specific errors.After you delete a page from your servers or add <meta name="robots" content="noindex" />
tag in the <head>
section of a given page, notify Google so that we can remove the page from our index and so that we don't attempt to crawl and index the page again. Before you request removal, the URL must return a 404
or 410
status code or the page must contain <meta name="robots" content="noindex" />
meta
tag.
To request removal from our index, follow these steps:
POST
request to the following endpoint:
https://indexing.googleapis.com/v3/urlNotifications:publish
{ "url": "CONTENT_LOCATION", "type": "URL_DELETED" }
For example:
{ "url": "https://careers.google.com/jobs/google/technical-writer", "type": "URL_DELETED" }
HTTP 200
. An HTTP 200
response means that Google may remove this URL from the index. The body of the response contains a UrlNotificationMetadata
object, whose fields correspond to those returned by a notification status request.HTTP 200
response, see the Indexing API specific errors.You can use the Indexing API to check the last time Google received each kind of notification for a given URL. The GET
request doesn't tell you when Google indexes or removes a URL; it only returns whether you successfully submitted a request.
To get the status of a notification, follow these steps:
GET
request to the following endpoint. The URLs you specify must be URL-encoded. For example, replace :
(colons) with %3A
and /
(forward slashes) with %2F
.
https://indexing.googleapis.com/v3/urlNotifications/metadata?url=ENCODED_URL
For example:
GET https://indexing.googleapis.com/v3/urlNotifications/metadata?url=https%3A%2F%2Fcareers.google.com%2Fjobs%2Fgoogle%2Ftechnical-writer
HTTP 200
message, with a payload that contains details about the notification. The following example shows the body of a response that contains information about an update and delete notification:
{ url: "http://foo.com", latest_update: { type: "URL_UPDATED", notify_time: "2017-07-31T19:30:54.524457662Z" }, latest_remove: { type: "URL_DELETED", notify_time: "2017-08-31T19:30:54.524457662Z" } }
HTTP 200
response, see the Indexing API specific errors.To reduce the number of HTTP connections your client has to make, you can combine up to 100 calls to the Indexing API into a single HTTP request. You do this in a multi-part request called a batch.
Quota is counted at the URL level. For example, if you combine 10 requests into a single HTTP request, it still counts as 10 requests for your quota. Learn more about how to request quota.When sending a batch request to the Indexing API, use the following endpoint:
https://indexing.googleapis.com/batch
The body of a batch request contains multiple parts. Each part is itself a complete HTTP request, with its own verb, URL, headers, and body. Each part within a batch request cannot exceed 1MB in size.
To make it easier for you to send batch requests, Google's API Client Libraries support batching. For more information about batching with the client libraries, see the following language-specific pages:
If you use the batching examples on these pages, you may need to update your code to reflect the implementation requirements described in Get an access token.
The following example batch request message body includes an update notification and a removal notification:
POST /batch HTTP/1.1 Host: indexing.googleapis.com Content-Length: content_length Content-Type: multipart/mixed; boundary="===============7330845974216740156==" Authorization: Bearer oauth2_token --===============7330845974216740156== Content-Type: application/http Content-Transfer-Encoding: binary Content-ID: <b29c5de2-0db4-490b-b421-6a51b598bd22+2> POST /v3/urlNotifications:publish [1] Content-Type: application/json accept: application/json content-length: 58 { "url": "http://example.com/jobs/42", "type": "URL_UPDATED" } --===============7330845974216740156== Content-Type: application/http Content-Transfer-Encoding: binary Content-ID: <b29c5de2-0db4-490b-b421-6a51b598bd22+1> POST /v3/urlNotifications:publish [2] Content-Type: application/json accept: application/json content-length: 75 { "url": "http://example.com/widgets/1", "type": "URL_UPDATED" } --===============7330845974216740156== Content-Type: application/http Content-Transfer-Encoding: binary Content-ID: <b29c5de2-0db4-490b-b421-6a51b598bd22+3> POST /v3/urlNotifications:publish [3] Content-Type: application/json accept: application/json content-length: 58 { "url": "http://example.com/jobs/43", "type": "URL_DELETED" } --===============7330845974216740156==
For more information, see Sending Batch Requests.
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-05-20 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-05-20 UTC."],[[["The Indexing API allows you to notify Google about updates or removals of job posting and livestreaming event pages from the Google index."],["You can use the API to update, remove, and get the status of submitted URLs, but it only supports pages with `JobPosting` or `BroadcastEvent` structured data."],["All requests require a URL and notification type (`URL_UPDATED` or `URL_DELETED`), and batch requests can combine up to 100 calls in a single HTTP request."],["Before requesting URL removal, ensure the page returns a 404/410 status code or has a `\u003cmeta name=\"robots\" content=\"noindex\" /\u003e` tag."],["Google's response to a successful Indexing API call is an HTTP 200, indicating they may recrawl or remove the URL, but it doesn't guarantee when it happens."]]],["The Indexing API allows you to notify Google about updates or removals of job posting or livestreaming event pages. Key actions include sending `POST` requests to `urlNotifications:publish` to update or remove a URL, specifying the URL and notification type (`URL_UPDATED` or `URL_DELETED`). You can also use a `GET` request to `/urlNotifications/metadata` to check the status of prior notifications. Batch requests, combining up to 100 individual calls, are supported for efficiency. All requests must use `\"application/json\"` as the Content-Type header and need to be approved before getting quota.\n"]]
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4