{"id":12854,"date":"2026-08-30T06:30:00","date_gmt":"2026-08-30T04:30:00","guid":{"rendered":"https:\/\/www.lukaswojcik.com\/blog\/?p=12854"},"modified":"2026-08-30T06:30:00","modified_gmt":"2026-08-30T04:30:00","slug":"bot-detection-ip-lists-versus-cryptographic-signatures","status":"publish","type":"post","link":"https:\/\/www.lukaswojcik.com\/blog\/en\/cloud-ai\/bot-detection-ip-lists-versus-cryptographic-signatures\/","title":{"rendered":"Bot Detection: IP Lists and Cryptographic Signatures Compared"},"content":{"rendered":"<p>Apple enlarged the address pool behind Applebot during August 2026. The reported figures are a jump from around 2,400 addresses across twelve prefixes to roughly 7,056 across thirty-three, and the published range list is described as still incomplete. Every site that verifies that crawler against a stored copy of the list had to fetch a new one, or quietly started treating a legitimate crawler as an impostor.<\/p>\n<p>That is not a flaw in this particular release. It is the defining property of proving identity by address, and it is worth setting against the alternative rather than complaining about it.<\/p>\n<figure class=\"lw-diagram\">\n<img src=\"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/diagrams\/zwei-nachweise-en.png\" width=\"1120\" height=\"580\" decoding=\"async\" loading=\"lazy\"\n     alt=\"A seven-row comparison table with two columns, address proof and key proof, each cell carrying a filled, half-filled or empty disc and a short explanation of the property\"><figcaption>The two proofs agree on what they catch and disagree on who carries the upkeep.<\/figcaption><\/figure>\n<h2>The address proof, and its self-updating variant<\/h2>\n<p>The simplest form is a list of ranges the operator publishes and every site downloads. It works because a source address cannot be forged across a completed TCP handshake, which makes it a genuine proof of origin rather than a claim.<\/p>\n<p>Forward-confirmed reverse DNS is the same proof with the maintenance moved. Instead of holding the ranges, a site resolves the address backwards, then resolves the resulting name forwards again and checks that it lands on the address it started from.<\/p>\n<pre class=\"wp-block-kevinbatdorf-code-block-pro\"><code>address in the request        17.241.75.12\n\n  reverse lookup             -> some-host.applebot.apple.com\n  suffix check               ends in a domain the operator owns\n  forward lookup             -> 17.241.75.12\n  compare                    same address, so the claim holds\n\n  fails safe: a forged reverse record does not survive the\n  forward lookup, because the attacker does not control the\n  operator's forward zone<\/code><\/pre>\n<p>This variant costs one or two DNS round trips per new address, cached afterwards, and it does not go stale when the pool grows. It remains an address proof, though, with everything that implies.<\/p>\n<h2>What an expansion actually costs<\/h2>\n<p>A pool that nearly triples produces two failure modes, and only one of them is loud. The loud one is a crawler being blocked, noticed within a day because content stops being indexed. The quiet one is worse: a site that treats unverified traffic as ordinary human traffic now has several thousand addresses&#8217; worth of crawler activity sitting in its analytics as sessions.<\/p>\n<p>Neither failure announces itself as a list problem. Both look like something else, which is why the refresh cadence for any published range list belongs in a scheduled job rather than in someone&#8217;s memory.<\/p>\n<h2>The key proof<\/h2>\n<p>The other approach moves the evidence into the request. The operator holds a key pair, publishes the public half under a domain it controls, and signs each outgoing request; the site verifies the signature against the published key. HTTP message signatures, standardised in RFC 9421, are the mechanism, and Web Bot Auth is the profile of it aimed at agents.<\/p>\n<p>Its advantage over an address is structural. A key follows the operator, not the machine, so new capacity signs with the same key on the day it comes online and no list anywhere needs touching. It also survives rented infrastructure, where an address genuinely cannot help: the address block belongs to a hosting provider, and knowing that tells nobody who is renting it this month.<\/p>\n<p>The cost is that it only exists where an operator has chosen to implement it. An address proof works against every crawler that publishes ranges, which is most of the established ones; a key proof works against the subset that signs, which today is small.<\/p>\n<h2>Which one, and when<\/h2>\n<p>In practice they are not competitors. An address check answers a question a signature cannot: whether traffic claiming to be a well-known crawler really originates where that crawler lives. A signature answers a question an address cannot: which of several operators sharing a data centre actually sent this.<\/p>\n<p>The sensible arrangement runs the address check first, because it is cheap and covers the established crawlers, and accepts a valid signature as an independent second path for operators that offer one. What neither of them provides is a judgement about what the request is for. Both establish who is asking. Nothing in either proof speaks to what happens with the answer.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Apple enlarged the Applebot address pool by roughly 194 per cent in August 2026. Every site verifying that crawler from a stored list had to fetch a new one. That maintenance burden is not an accident of this release; it is what address-based verification is.<\/p>\n","protected":false},"author":1,"featured_media":12917,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[91380,91516,91115],"class_list":["post-12854","post","type-post","status-publish","format-standard","hentry","category-cloud-ai","tag-artificial-intelligence","tag-tracking","tag-web-security"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Bot Detection: IP Lists and Cryptographic Signatures Compared - Lukas Wojcik - Blog<\/title>\n<meta name=\"description\" content=\"Address-based crawler verification against key-based verification: what each one proves, who has to maintain it, what an address-pool expansion costs, and where reverse DNS sits between the two.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.lukaswojcik.com\/blog\/en\/cloud-ai\/bot-detection-ip-lists-versus-cryptographic-signatures\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Bot Detection: IP Lists and Cryptographic Signatures Compared - Lukas Wojcik - Blog\" \/>\n<meta property=\"og:description\" content=\"Address-based crawler verification against key-based verification: what each one proves, who has to maintain it, what an address-pool expansion costs, and where reverse DNS sits between the two.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.lukaswojcik.com\/blog\/en\/cloud-ai\/bot-detection-ip-lists-versus-cryptographic-signatures\/\" \/>\n<meta property=\"og:site_name\" content=\"Lukas Wojcik - Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-08-30T04:30:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/08\/fi-12854-bot-detection-ip-lists-versus-cryptographic--b.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"luky\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"luky\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/cloud-ai\\\/bot-detection-ip-lists-versus-cryptographic-signatures\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/cloud-ai\\\/bot-detection-ip-lists-versus-cryptographic-signatures\\\/\"},\"author\":{\"name\":\"luky\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"headline\":\"Bot Detection: IP Lists and Cryptographic Signatures Compared\",\"datePublished\":\"2026-08-30T04:30:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/cloud-ai\\\/bot-detection-ip-lists-versus-cryptographic-signatures\\\/\"},\"wordCount\":630,\"publisher\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"image\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/cloud-ai\\\/bot-detection-ip-lists-versus-cryptographic-signatures\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/fi-12854-bot-detection-ip-lists-versus-cryptographic--b.png\",\"keywords\":[\"Artificial Intelligence\",\"Tracking\",\"Web Security\"],\"articleSection\":[\"Cloud &amp; AI\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/cloud-ai\\\/bot-detection-ip-lists-versus-cryptographic-signatures\\\/\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/cloud-ai\\\/bot-detection-ip-lists-versus-cryptographic-signatures\\\/\",\"name\":\"Bot Detection: IP Lists and Cryptographic Signatures Compared - Lukas Wojcik - Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/cloud-ai\\\/bot-detection-ip-lists-versus-cryptographic-signatures\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/cloud-ai\\\/bot-detection-ip-lists-versus-cryptographic-signatures\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/fi-12854-bot-detection-ip-lists-versus-cryptographic--b.png\",\"datePublished\":\"2026-08-30T04:30:00+00:00\",\"description\":\"Address-based crawler verification against key-based verification: what each one proves, who has to maintain it, what an address-pool expansion costs, and where reverse DNS sits between the two.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/cloud-ai\\\/bot-detection-ip-lists-versus-cryptographic-signatures\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/cloud-ai\\\/bot-detection-ip-lists-versus-cryptographic-signatures\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/cloud-ai\\\/bot-detection-ip-lists-versus-cryptographic-signatures\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/fi-12854-bot-detection-ip-lists-versus-cryptographic--b.png\",\"contentUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/fi-12854-bot-detection-ip-lists-versus-cryptographic--b.png\",\"width\":1200,\"height\":630,\"caption\":\"Bot Detection: IP Lists and Cryptographic Signatures Compared\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/cloud-ai\\\/bot-detection-ip-lists-versus-cryptographic-signatures\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Bot Detection: IP Lists and Cryptographic Signatures Compared\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/\",\"name\":\"Lukas Wojcik - Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\",\"name\":\"luky\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\",\"contentUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\",\"width\":424,\"height\":636,\"caption\":\"luky\"},\"logo\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\"},\"sameAs\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\"],\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/author\\\/luky\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Bot Detection: IP Lists and Cryptographic Signatures Compared - Lukas Wojcik - Blog","description":"Address-based crawler verification against key-based verification: what each one proves, who has to maintain it, what an address-pool expansion costs, and where reverse DNS sits between the two.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.lukaswojcik.com\/blog\/en\/cloud-ai\/bot-detection-ip-lists-versus-cryptographic-signatures\/","og_locale":"en_US","og_type":"article","og_title":"Bot Detection: IP Lists and Cryptographic Signatures Compared - Lukas Wojcik - Blog","og_description":"Address-based crawler verification against key-based verification: what each one proves, who has to maintain it, what an address-pool expansion costs, and where reverse DNS sits between the two.","og_url":"https:\/\/www.lukaswojcik.com\/blog\/en\/cloud-ai\/bot-detection-ip-lists-versus-cryptographic-signatures\/","og_site_name":"Lukas Wojcik - Blog","article_published_time":"2026-08-30T04:30:00+00:00","og_image":[{"width":1200,"height":630,"url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/08\/fi-12854-bot-detection-ip-lists-versus-cryptographic--b.png","type":"image\/png"}],"author":"luky","twitter_card":"summary_large_image","twitter_misc":{"Written by":"luky","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/cloud-ai\/bot-detection-ip-lists-versus-cryptographic-signatures\/#article","isPartOf":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/cloud-ai\/bot-detection-ip-lists-versus-cryptographic-signatures\/"},"author":{"name":"luky","@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"headline":"Bot Detection: IP Lists and Cryptographic Signatures Compared","datePublished":"2026-08-30T04:30:00+00:00","mainEntityOfPage":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/cloud-ai\/bot-detection-ip-lists-versus-cryptographic-signatures\/"},"wordCount":630,"publisher":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"image":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/cloud-ai\/bot-detection-ip-lists-versus-cryptographic-signatures\/#primaryimage"},"thumbnailUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/08\/fi-12854-bot-detection-ip-lists-versus-cryptographic--b.png","keywords":["Artificial Intelligence","Tracking","Web Security"],"articleSection":["Cloud &amp; AI"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/cloud-ai\/bot-detection-ip-lists-versus-cryptographic-signatures\/","url":"https:\/\/www.lukaswojcik.com\/blog\/en\/cloud-ai\/bot-detection-ip-lists-versus-cryptographic-signatures\/","name":"Bot Detection: IP Lists and Cryptographic Signatures Compared - Lukas Wojcik - Blog","isPartOf":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/cloud-ai\/bot-detection-ip-lists-versus-cryptographic-signatures\/#primaryimage"},"image":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/cloud-ai\/bot-detection-ip-lists-versus-cryptographic-signatures\/#primaryimage"},"thumbnailUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/08\/fi-12854-bot-detection-ip-lists-versus-cryptographic--b.png","datePublished":"2026-08-30T04:30:00+00:00","description":"Address-based crawler verification against key-based verification: what each one proves, who has to maintain it, what an address-pool expansion costs, and where reverse DNS sits between the two.","breadcrumb":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/cloud-ai\/bot-detection-ip-lists-versus-cryptographic-signatures\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.lukaswojcik.com\/blog\/en\/cloud-ai\/bot-detection-ip-lists-versus-cryptographic-signatures\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/cloud-ai\/bot-detection-ip-lists-versus-cryptographic-signatures\/#primaryimage","url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/08\/fi-12854-bot-detection-ip-lists-versus-cryptographic--b.png","contentUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/08\/fi-12854-bot-detection-ip-lists-versus-cryptographic--b.png","width":1200,"height":630,"caption":"Bot Detection: IP Lists and Cryptographic Signatures Compared"},{"@type":"BreadcrumbList","@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/cloud-ai\/bot-detection-ip-lists-versus-cryptographic-signatures\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.lukaswojcik.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Bot Detection: IP Lists and Cryptographic Signatures Compared"}]},{"@type":"WebSite","@id":"https:\/\/www.lukaswojcik.com\/blog\/#website","url":"https:\/\/www.lukaswojcik.com\/blog\/","name":"Lukas Wojcik - Blog","description":"","publisher":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.lukaswojcik.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9","name":"luky","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg","url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg","contentUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg","width":424,"height":636,"caption":"luky"},"logo":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg"},"sameAs":["https:\/\/www.lukaswojcik.com\/blog"],"url":"https:\/\/www.lukaswojcik.com\/blog\/author\/luky\/"}]}},"_links":{"self":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/12854","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/comments?post=12854"}],"version-history":[{"count":1,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/12854\/revisions"}],"predecessor-version":[{"id":13276,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/12854\/revisions\/13276"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/media\/12917"}],"wp:attachment":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/media?parent=12854"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/categories?post=12854"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/tags?post=12854"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}