Skip to content

Search Engine Endpoints for IndexNow#

How to Use Default Endpoints#

You should not need to use multiple endpoints when using IndexNow. The service is designed to propagate URLs to other search engines once you've submitted successfully to one IndexNow endpoint.

But sometimes it's useful to know how to submit to a specific search engine. This guide will show you how to do this.

Examples#

Submit to Different Search Engines#

The SearchEngineEndpoint class contains a list of default search engine endpoints. You can use the same credentials to submit URLs to different IndexNow APIs:

Python
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
from index_now import submit_url_to_index_now, IndexNowAuthentication, SearchEngineEndpoint

authentication = IndexNowAuthentication(
    host="example.com",
    api_key="a1b2c3d4",
    api_key_location="https://example.com/a1b2c3d4.txt",
)

submit_url_to_index_now(authentication, "https://example.com/page1",
    SearchEngineEndpoint.BING)

submit_url_to_index_now(authentication, "https://example.com/page2",
    SearchEngineEndpoint.YANDEX)

Attempt to Submit to Multiple Search Engines as Failover Strategy#

To check that the search engine endpoints are operational and to ensure the successful submission of URLs, use the returned status code as a condition:

Python
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
from index_now import submit_url_to_index_now, IndexNowAuthentication, SearchEngineEndpoint

authentication = IndexNowAuthentication(
    host="example.com",
    api_key="a1b2c3d4",
    api_key_location="https://example.com/a1b2c3d4.txt",
)

for endpoint in SearchEngineEndpoint:
    status_code = submit_url_to_index_now(authentication, "https://example.com/page1",
        endpoint)
    if status_code in [200, 202]:
        print("URL was submitted successfully to IndexNow.")
        break

Warning

It is not recommended to submit the same URLs to multiple endpoints. Once you have successfully submitted to one IndexNow endpoint, the IndexNow service is designed to propagate your URLs to other search engines, so you do not need to submit to multiple times.

List of Default Endpoints#

The following endpoints are provided by default with the IndexNow for Python package:

Endpoint Enum Name Endpoint URL
SearchEngineEndpoint.INDEXNOW IndexNow (default) https://api.indexnow.org/indexnow
SearchEngineEndpoint.BING Microsoft Bing https://www.bing.com/indexnow
SearchEngineEndpoint.NAVER Naver https://searchadvisor.naver.com/indexnow
SearchEngineEndpoint.SEZNAM Seznam.cz https://search.seznam.cz/indexnow
SearchEngineEndpoint.YANDEX Yandex https://yandex.com/indexnow
SearchEngineEndpoint.YEP Yep https://indexnow.yep.com/indexnow

If you can't find the endpoint you are looking for, you can also use a custom endpoint.

Tip

The IndexNow organisation maintains a list of currently available search engines that support the IndexNow API. Find it here:

indexnow.org/searchengines.json