{"id":28519,"date":"2026-09-08T21:56:08","date_gmt":"2026-09-08T18:56:08","guid":{"rendered":"https:\/\/alienroad.com\/yandex-bilgi-bankasi\/indexnow-api-request-reference\/"},"modified":"2026-09-09T00:47:43","modified_gmt":"2026-09-08T21:47:43","slug":"indexnow-api-request-reference","status":"publish","type":"ar_ykb","link":"https:\/\/alienroad.com\/yandex-bilgi-bankasi\/indexnow-api-request-reference\/","title":{"rendered":"IndexNow API request reference"},"content":{"rendered":"<p>The API is deliberately small: one endpoint, two methods.<\/p>\n<h2>One URL \u2014 GET<\/h2>\n<pre><code>GET https:\/\/yandex.com\/indexnow?url=&lt;String&gt;&amp;key=&lt;String&gt;[&amp;keyLocation=&lt;String&gt;]<\/code><\/pre>\n<p><code>url<\/code> and <code>key<\/code> are required; <code>keyLocation<\/code> only when the key file is not in the root. The URL must comply with RFC 3986.<\/p>\n<h2>Many URLs \u2014 POST<\/h2>\n<pre><code>POST https:\/\/yandex.com\/indexnow\nContent-Type: application\/json; charset=utf-8\n\n{ \"host\": \"www.example.com\",\n  \"key\": \"\u2026\",\n  \"keyLocation\": \"https:\/\/www.example.com\/key.txt\",\n  \"urlList\": [ \"https:\/\/www.example.com\/url1\", \u2026 ] }<\/code><\/pre>\n<p><strong>Up to 10,000 URLs per request.<\/strong> <code>host<\/code>, <code>key<\/code> and <code>urlList<\/code> are required.<\/p>\n<h2>Response codes worth handling<\/h2>\n<ul>\n<li><strong>200 OK<\/strong> \u2014 accepted.<\/li>\n<li><strong>202 Accepted<\/strong> \u2014 new key awaiting verification. Not an error; keep submitting.<\/li>\n<li><strong>400<\/strong> \u2014 invalid parameters in the body.<\/li>\n<li><strong>403 Invalid key<\/strong> \u2014 the key could not be loaded, or does not match the submitted URLs. On a directory-scoped key this is usually a scope violation rather than a wrong key.<\/li>\n<li><strong>405<\/strong> \u2014 only GET and POST are supported.<\/li>\n<li><strong>422<\/strong> \u2014 the large family: invalid key location, invalid URL, key too short or too long, invalid characters, missing key, host or URL, more than 10,000 URLs, <code>urlList<\/code> not an array or empty.<\/li>\n<li><strong>429 Too Many Requests<\/strong> \u2014 the per-IP limit was exceeded.<\/li>\n<\/ul>\n<h2>Rate limiting<\/h2>\n<p>Yandex states there is <strong>no limit on the number of requests<\/strong> and that its algorithms prevent excessive submission \u2014 while also documenting <code>429<\/code>. Read together: submit as changes happen, batch where you can, and treat 429 as back-pressure requiring a retry with backoff rather than as a failure.<\/p>\n<h2>Implementation notes<\/h2>\n<p>Distinguish 202 from 200 in logs so a new key is not mistaken for a broken one; treat 422 as a permanent fault requiring a fix rather than a retry; and batch changes into a single POST rather than firing a GET per page, which is what usually triggers 429 on a busy publishing system.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The API is deliberately small: one endpoint, two methods. One URL \u2014 GET GET https:\/\/yandex.com\/indexnow?url=&lt;String&gt;&amp;key=&lt;String&gt;[&amp;keyLocation=&lt;String&gt;] url and key are required; keyLocation only when the key file is not in the root. The URL must comply with RFC 3986. Many URLs \u2014 POST POST https:\/\/yandex.com\/indexnow Content-Type: application\/json; charset=utf-8 { &#8220;host&#8221;: &#8220;www.example.com&#8221;, &#8220;key&#8221;: &#8220;\u2026&#8221;, &#8220;keyLocation&#8221;: &#8220;https:\/\/www.example.com\/key.txt&#8221;, &#8220;urlList&#8221;: [&hellip;]<\/p>\n","protected":false},"menu_order":95,"template":"","meta":{"footnotes":""},"ar_ykb_kategori":[766],"ar_ykb_etiket":[],"class_list":["post-28519","ar_ykb","type-ar_ykb","status-publish","has-post-thumbnail","hentry","ar_ykb_kategori-indexnow"],"_links":{"self":[{"href":"https:\/\/alienroad.com\/wp-json\/wp\/v2\/ar_ykb\/28519","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/alienroad.com\/wp-json\/wp\/v2\/ar_ykb"}],"about":[{"href":"https:\/\/alienroad.com\/wp-json\/wp\/v2\/types\/ar_ykb"}],"version-history":[{"count":2,"href":"https:\/\/alienroad.com\/wp-json\/wp\/v2\/ar_ykb\/28519\/revisions"}],"predecessor-version":[{"id":29124,"href":"https:\/\/alienroad.com\/wp-json\/wp\/v2\/ar_ykb\/28519\/revisions\/29124"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/alienroad.com\/wp-json\/wp\/v2\/media\/28901"}],"wp:attachment":[{"href":"https:\/\/alienroad.com\/wp-json\/wp\/v2\/media?parent=28519"}],"wp:term":[{"taxonomy":"ar_ykb_kategori","embeddable":true,"href":"https:\/\/alienroad.com\/wp-json\/wp\/v2\/ar_ykb_kategori?post=28519"},{"taxonomy":"ar_ykb_etiket","embeddable":true,"href":"https:\/\/alienroad.com\/wp-json\/wp\/v2\/ar_ykb_etiket?post=28519"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}