{"@context":"https://schema.org","@type":"BlogPosting","headline":"AI Search for Bike Shops in Amsterdam (2026): The Cleanest Cross-Engine Entity Consensus","description":"27 prompts × 5 AI engines × EN/NL against 228 Amsterdam bike shops, 378 captures and 3,010 citations. Copilot 97% shop websites, Gemini 72%, Perplexity 71%, ChatGPT 34% social (Reddit-led, with reddit.com the single most-cited domain anywhere at 198 cites), AI Mode 82% google.com — the highest self-referential share measured. Twelve brands hit all five platforms (Ride Out, Het Zwarte Fietsenplan, Wheelrunner, Kaptein…). Dutch vs English returns 0% overlap on repair and commuter queries; Perplexity's exposed search (fanout_count=1, prompt language preserved) is the mechanism behind the divergence.","datePublished":"2026-05-26","dateModified":"2026-05-26","url":"https://nicolassitter.com/research/bike-shops-amsterdam-ai-search-2026","category":"research","keywords":["AI search bike shops","Amsterdam bike shops AI","ChatGPT bike shops","Copilot local search","Perplexity fan-out","Dutch vs English AI search","AI local search study"],"articleSection":"Research","wordCount":2800,"readTime":"12 min","articleBody":"May 2026AI Search Studies\n\n# AI Search for Bike Shops in Amsterdam (2026):The cleanest entity-consensus case in the study\n\n**TL;DR:** Same playbook, new city. 27 prompts, 5 AI engines, English and Dutch, matched against 228 verified Amsterdam bike shops. The three engine personalities from the Paris yoga study recur identically — but bike shops push _more_ traffic to their own sites: **Copilot is 97% shop websites** (yoga: 96%), Gemini 72% and Perplexity 71% (yoga: 41% and 52%). Google AI Mode cites google.com URLs back to itself **82% of the time**, the highest self-referential share we have measured anywhere. Reddit is ChatGPT’s backbone — 198 citations, the single most-cited domain across the entire study. And unlike Paris yoga, where the #4 studio vanished on two engines, the top tier of Amsterdam bike shops wins on every engine: 12 brands appear on all five.\n\n5\n\nAI engines\n\n27\n\nPrompt templates\n\n228\n\nShops\n\nEN + NL\n\nBoth languages\n\n[Read the Report](#executive-summary)\n\n[Summary](#executive-summary)[1\\. Source Mix](#source-mix)[2\\. Leaderboard](#leaderboard)[3\\. Top Sources](#top-sources)[4\\. Language](#language)[5\\. TLD Bias](#tld)[6\\. Geography](#geography)[7\\. Search Behavior](#search-behavior)[Prompts](#prompts)[Methodology](#methodology)[FAQ](#faq)\n\n## Executive Summary\n\nThe three citation strategies from the Paris yoga study survive the switch to Amsterdam bike shops intact — but the engines push _more_ traffic to shops’ own sites here, and the top tier wins everywhere.\n\nThe setup is deliberately identical to the yoga study: one fixed set of prompts, five engines, two languages, two proxy countries, all in a single week — except this time the question was where to buy or fix a bike in Amsterdam. Across 27 prompt templates we collected **378 captures and 3,010 citations**, pulled out the shops each answer named with a named-entity-recognition pass, and matched them to a 372-row Apify Google Maps seed (228 with websites).\n\nThe headline result of the yoga study generalises — but it generalises sharper. Copilot is **97%** shop-website citations (a phone-book engine), Gemini **72%**, Perplexity **71%** — all higher than their yoga equivalents. ChatGPT learns Amsterdam cycling from Reddit (34% social, with reddit.com alone contributing **198 citations** — the single most-cited domain in the entire study). And Google AI Mode cites **google.com 82% of the time**, the highest self-referential share we have ever measured. The Paris-yoga “Modo problem” — a top studio invisible on two engines — does not recur: Amsterdam’s top tier wins on every engine.\n\nSection 1\n\n## Three source strategies, sharper than yoga\n\nFor every cited URL we bucketed the source — the shop’s own website, social posts, editorial, a marketplace, a Google SERP, or other. The mix is wildly different per engine, and maps to the same three citation strategies we found in Paris yoga — only here, the entity engines are even more entity-heavy.\n\nsource-mix-by-platform-amsterdam-bike-shops\n\n### Entity engine\n\n**Copilot, Gemini, Perplexity.** Cite the shop’s own website directly. Copilot is the extreme — **97%** pure shop-domain citations. Gemini and Perplexity sit just behind at 72% and 71%. To win these engines, your own site has to be the canonical answer for your shop name.\n\n### Social engine\n\n**ChatGPT.** 34% of cited URLs are social — overwhelmingly Reddit. Across the four platforms that cite it, `reddit.com` contributes **198 citations**, making it the single most-cited domain in the entire study. ChatGPT learns Amsterdam cycling from r/Amsterdam threads, not trade press.\n\n### Self-referential engine\n\n**Google AI Mode.** **82%** of its citations are google.com URLs — the highest self-referential share in the study, higher even than Paris yoga’s 52%. Real source diversity is minimal; the answer is essentially a re-presented Google SERP.\n\nBike shops have cleaner, more resolvable .nl domains than yoga studios — and the entity engines reward that. Perplexity’s shop-website share jumps from 52% (yoga) to 71% here, and Gemini from 41% to 72%. Whatever “canonical entity” means inside these models, an Amsterdam bike shop with its own .nl is closer to it than a Paris yoga studio with a .com.\n\nSection 2\n\n## The Amsterdam bike-shop AI leaderboard\n\nAggregating mentions across all five engines (chain locations merged), these are the most-cited Amsterdam bike shops. The “Engines” column is the number of the 5 engines that surfaced the shop at all — the breadth signal.\n\nai-favourite-amsterdam-bike-shops-2026\n\nThe bike shops AI recommends most for Amsterdam — scored across ChatGPT, Perplexity, Gemini, Copilot and Google AI Mode combined.\n\nTop 12 Amsterdam bike shops by cross-platform citation score (brand-aggregated).\n\nRank\n\nShop\n\nScore\n\nEngines\n\n#1\n\nRide Out Amsterdam\n\n86\n\n5 / 5\n\n#2\n\nHet Zwarte Fietsenplan\n\n82\n\n5 / 5\n\n#3\n\nWheelrunner\n\n70\n\n5 / 5\n\n#4\n\nKaptein Tweewielers\n\n69\n\n5 / 5\n\n#5\n\n020 Amsterdam Bicycles\n\n63\n\n4 / 5\n\n#6\n\nAmsterdamse Fietswinkel\n\n54\n\n5 / 5\n\n**Cleanest entity consensus in the study.** Twelve brands appear on **all five** engines (Ride Out, Het Zwarte Fietsenplan, Wheelrunner, Kaptein, Amsterdamse Fietswinkel, Echelon Cycle Sport, Damskø, Gregario Cycling Services, BikeFlip, DrBeyk Online, FietsJeroen, Trompton Amsterdam), and the top four all score 5/5. The Paris-yoga _Modo blind spot_ — a #4 studio invisible on two engines — does _not_ recur. Amsterdam’s winners win _everywhere_.\n\nSection 3\n\n## Top cited sources, cross-platform\n\nAggregating across engines, two patterns emerge. **Reddit is the volume outlier** — 198 citations, the single most-cited domain in the whole study — but it’s a single domain. The **shop sites dominate the breadth ranking**: 11 shop domains were cited by all 5 engines.\n\nMost-cited domains across all 5 AI engines, with the bucket they belong to.\n\nEngines\n\nCites\n\nBucket\n\nDomain\n\n5 / 5\n\n71\n\nshop website\n\nhetzwartefietsenplan.com\n\n5 / 5\n\n60\n\nshop website\n\nrideout.amsterdam\n\n5 / 5\n\n55\n\nshop website\n\nwheelrunner.cc\n\n5 / 5\n\n45\n\nshop website\n\nkaptein.cc\n\n5 / 5\n\n35\n\nshop website\n\namsterdamsefietswinkel.nl\n\n4 / 5\n\n198\n\nsocial\n\nreddit.com\n\n### The five engines, side by side\n\n#### Copilot\n\n97% shop websites\n\nThe extreme entity engine. Almost every URL is a shop’s own .nl/.cc/.com domain. No Reddit, no editorial, no marketplace. Win Copilot by being the canonical entity for your shop name.\n\n#### Perplexity\n\n71% shop websites\n\nHeavy entity bias too, with the most diverse long tail (~23% other). Lightly normalises the prompt into one fan-out search and preserves the prompt language.\n\n#### Gemini\n\n72% shop websites\n\nLooks like Perplexity on paper — 72% entity-website — but cites fewer URLs and concentrates them on a small set of shop sites.\n\n#### ChatGPT\n\n34% social (Reddit-led)\n\nThe social engine. 34% of cited URLs are social, overwhelmingly Reddit — r/Amsterdam threads are how ChatGPT learns Amsterdam cycling.\n\n#### Google AI Mode\n\n82% google.com\n\nThe highest self-referential share in the entire study — even higher than Paris yoga’s 52%. The answer is mostly its own SERP, re-presented.\n\n**The Reddit split.** Reddit is ChatGPT’s backbone — the single most-cited domain across the whole study — and it is overwhelmingly a ChatGPT phenomenon. Perplexity, Gemini and AI Mode cite it only sporadically; Copilot does not cite it at all. So “get talked about on Reddit” is real advice for Amsterdam bike shops — but it is _ChatGPT-specific_. For Copilot, Gemini or Perplexity, the answer is to be the canonical entity for your shop name on your own domain.\n\nSection 4\n\n## Language & the search mechanism\n\nAsking the same question in Dutch vs English does not just rerank the same shops — it returns a different shop set entirely for generic and use-case queries. Brand and tourist queries converge; everything else diverges. The mechanism is visible in Perplexity’s exposed search query.\n\nEN vs NL top-5 shop overlap per prompt template, ChatGPT on NL proxy.\n\nTemplate\n\nTop-5 overlap (EN vs NL)\n\nbrand\\_brompton\n\n75% — highest\n\npersona\\_tourist\n\n67%\n\nservice\\_fitting\n\n67%\n\ntype\\_vintage\n\n50%\n\ndist\\_jordaan\n\n43%\n\ndist\\_oost\n\n43%\n\nBrand and tourist queries have a single right answer regardless of language. But a Dutch _fietsenmaker_ (repair), _stadsfiets_ (Dutch city bike) or commuter query returns an **almost entirely different shop set** than its English equivalent — 0% top-5 overlap on four of the templates. What’s going on?\n\n**The mechanism is visible on Perplexity.** Of all five engines, only Perplexity surfaces its internal search query — and it did so on 44 captures. In _every_ one, `fanout_count = 1`: Perplexity does **not** expand a prompt into multiple sub-searches the way ChatGPT’s fan-out does. It lightly normalises the prompt — drops filler (“in”), pluralises, reorders — into a single search string, and crucially **preserves the prompt language.**\n\nPerplexity preserves the prompt language when it fan-outs to a search (3 of 44 captures).\n\nOriginal prompt\n\nPerplexity’s actual search\n\nbeste traditionele Hollandse fietsenwinkel in Amsterdam\n\nbeste traditionele Hollandse fietsenwinkels Amsterdam\n\nbeste kinderfiets winkels in Amsterdam\n\nbeste kinderfiets winkels Amsterdam\n\nbeste fietsenwinkels voor woon-werkverkeer in Amsterdam\n\nbeste fietsenwinkels woon-werkverkeer Amsterdam\n\nThis language preservation is the **mechanism** behind the EN/NL divergence above. A Dutch prompt produces a Dutch search; the engine then matches Dutch-language sources — which is _why_ repair, commuter, road and traditional-Dutch queries return 0% overlap between languages. **It is not a ranking difference. It is a different search entirely.**\n\nSection 5\n\n## TLD bias: not here\n\nIf language drives such a big EN/NL divergence in _which shops_ appear, does it also drive which _TLDs_ are cited? No.\n\n.nl vs .com vs .cc vs .amsterdam citation balance by prompt language, ChatGPT.\n\nTLD\n\nEntities\n\nEN cites\n\nNL cites\n\nEN / NL ratio\n\nReading\n\n.nl\n\n31\n\n43\n\n42\n\n0.98×\n\nneutral\n\n.com\n\n6\n\n15\n\n12\n\n0.80×\n\nneutral\n\n.cc\n\n3\n\n7\n\n5\n\n0.71×\n\nEN-biased\n\n.amsterdam\n\n3\n\n5\n\n5\n\n1.00×\n\nneutral\n\nUnlike Tokyo, which shows a strong .jp local-language bias, Amsterdam shows **no meaningful TLD bias**. .nl domains are cited at a near-perfect 0.98× ratio between English and Dutch prompts. **Dutch and English AI users see the same domains — only the _which-shops_ set differs, not the _which-TLD_ preference.** The cleanest split we’ve found between two language signals: language reshapes the entity set, but not the domain mix.\n\nSection 6\n\n## Geography\n\nThe 372-row seed plotted geographically. Density follows the canal belt and Oost; sparse in Noord and the outer rings. These maps are the universe an AI answer can resolve _to_.\n\n![Geographic scatter plot of all 372 verified Amsterdam bike shops across the city, with density concentrated around the canal belt, De Pijp and Oost. Each dot represents a single shop.](/_next/image?url=%2Fresearch%2Fbike-shops-amsterdam-ai-search-2026%2Fbikeshops_amsterdam_geo_scatter.png&w=3840&q=75&dpl=dpl_H4iFpRn3vQ7W7vEpqXGjb44m5WjB)\n\nAll 372 bike shops in the Apify seed, plotted by latitude/longitude. The dense ring of dots traces the canal belt; Oost and De Pijp are the secondary clusters.\n\n![Bar chart of Amsterdam bike shops by recorded city field. 333 are labelled Amsterdam, 32 are labelled as adjacent locations, plus a handful in Amstelveen and Badhoevedorp.](/_next/image?url=%2Fresearch%2Fbike-shops-amsterdam-ai-search-2026%2Fbikeshops_amsterdam_by_district.png&w=3840&q=75&dpl=dpl_H4iFpRn3vQ7W7vEpqXGjb44m5WjB)\n\nShops by recorded city field. Every Amsterdam shop is labelled simply “Amsterdam” — the seed has no neighborhood-level field.\n\n**Caveat: district-targeting is a null test here.** The prompts targeting Centrum, De Pijp, Jordaan, Noord and Oost all returned **0% in-target accuracy**. This is _not_ the AI getting districts wrong — it is a measurement artifact. The Apify seed labels every Amsterdam shop with city = “Amsterdam” and carries no neighborhood field, so a returned shop can never “match” a Jordaan/Centrum target by construction. The district test is null for Amsterdam. (Cities with real ward data — Tokyo’s 23 special wards, for example — do produce meaningful district numbers in other studies.)\n\nSection 7\n\n## AI search behavior\n\nHow do the engines actually fetch their answers? Two windows into the mechanism — ChatGPT’s web-search trigger and Perplexity’s exposed fan-out — show how much grounding is happening behind every answer.\n\n100%\n\nof ChatGPT bike-shop captures (108 / 108) triggered a live web search.\n\nEven more search-dependent than Paris yoga (96%). Not one bike-shop prompt was answered from training memory alone.\n\nfanout = 1\n\nacross all 44 Perplexity captures with a visible search query.\n\nPerplexity does not multi-search a single prompt. It lightly normalises and runs _one_ search, in the prompt’s language.\n\n**Important null result.** The other four platforms (AI Mode, Copilot, Gemini and Perplexity itself outside fan-out) don’t expose a trigger flag through the capture pipeline. Their search behavior is _unmeasured_ here — read this as “we cannot see it,” not as “they didn’t search.” Given how heavily Copilot, Gemini and Perplexity lean on live shop websites, they are almost certainly searching too.\n\nPrompts\n\n## The prompt library\n\nEverything in this article rests on the prompt set. 27 templates, each written once in English and once in Dutch, fired from both a US and an NL proxy on all 5 engines. The matrix probes the dimensions that matter for local discovery: bike type, persona, price, service, brand, district — plus two deliberate _entity-bleed_ controls (scooter, general sports) to measure how cleanly the models separate adjacent verticals.\n\n27\n\nTemplates\n\n2\n\nLanguages (EN/NL)\n\n2\n\nProxies (US/NL)\n\n5\n\nEngines\n\n378\n\nCaptures\n\nControl1 template\n\n`control`\n\nENbest bike shops in Amsterdam\n\nNLbeste fietsenwinkels in Amsterdam\n\nBike type8 templates\n\n`type_dutch`\n\nENbest Dutch city bike shops in Amsterdam\n\nNLbeste stadsfietsen winkels in Amsterdam\n\n`type_ebike`\n\nENbest e-bike shops in Amsterdam\n\nNLbeste e-bike winkels in Amsterdam\n\n`type_road`\n\nENbest road bike shops in Amsterdam\n\nNLbeste racefiets winkels in Amsterdam\n\n`type_mtb`\n\nENbest mountain bike shops in Amsterdam\n\nNLbeste mountainbike winkels in Amsterdam\n\n`type_gravel`\n\nENbest gravel bike shops in Amsterdam\n\nNLbeste gravelbike winkels in Amsterdam\n\n`type_cargo`\n\nENbest cargo bike shops in Amsterdam\n\nNLbeste bakfiets winkels in Amsterdam\n\n`type_kids`\n\nENbest kids bike shops in Amsterdam\n\nNLbeste kinderfiets winkels in Amsterdam\n\n`type_vintage`\n\nENbest vintage bike shops in Amsterdam\n\nNLbeste vintage fietsen winkels in Amsterdam\n\nPersona / use case2 templates\n\n`persona_commuter`\n\nENbest bike shops for commuters in Amsterdam\n\nNLbeste fietsenwinkels voor woon-werkverkeer in Amsterdam\n\n`persona_tourist`\n\nENbest bike shops for tourists in Amsterdam\n\nNLbeste fietsenwinkels voor toeristen in Amsterdam\n\nPrice2 templates\n\n`price_cheap`\n\nENcheap bike shops in Amsterdam\n\nNLgoedkope fietsenwinkels in Amsterdam\n\n`price_premium`\n\nENpremium bike shops in Amsterdam\n\nNLhigh-end fietsenwinkels in Amsterdam\n\nService3 templates\n\n`service_repair`\n\nENbest bike repair shops in Amsterdam\n\nNLbeste fietsenmakers in Amsterdam\n\n`service_fitting`\n\nENbest bike fitting in Amsterdam\n\nNLbeste bikefitting in Amsterdam\n\n`service_custom`\n\nENcustom bike builders in Amsterdam\n\nNLfietsenbouwers op maat in Amsterdam\n\nBrand2 templates\n\n`brand_brompton`\n\nENBrompton dealer Amsterdam\n\nNLBrompton dealer Amsterdam\n\n`brand_specialized`\n\nENSpecialized dealer Amsterdam\n\nNLSpecialized dealer Amsterdam\n\nDistrict5 templates\n\n`dist_centrum`\n\nENbest bike shops in Centrum Amsterdam\n\nNLbeste fietsenwinkels in Centrum Amsterdam\n\n`dist_pijp`\n\nENbest bike shops in De Pijp Amsterdam\n\nNLbeste fietsenwinkels in De Pijp Amsterdam\n\n`dist_jordaan`\n\nENbest bike shops in Jordaan Amsterdam\n\nNLbeste fietsenwinkels in Jordaan Amsterdam\n\n`dist_noord`\n\nENbest bike shops in Noord Amsterdam\n\nNLbeste fietsenwinkels in Noord Amsterdam\n\n`dist_oost`\n\nENbest bike shops in Oost Amsterdam\n\nNLbeste fietsenwinkels in Oost Amsterdam\n\nOther2 templates\n\n`secondhand`\n\nENbest second hand bike shops in Amsterdam\n\nNLbeste tweedehands fietsenwinkels in Amsterdam\n\n`independent`\n\nENbest independent bike shops in Amsterdam\n\nNLbeste onafhankelijke fietsenwinkels in Amsterdam\n\nEntity-bleed control2 templates\n\n`bleed_scooter`\n\nENbest scooter shops in Amsterdam\n\nNLbeste scooterwinkels in Amsterdam\n\n`bleed_generalist`\n\nENbest sports shops in Amsterdam\n\nNLbeste sportwinkels in Amsterdam\n\nThe English and Dutch versions are intentionally faithful translations of the same intent — which is what makes the EN-vs-NL divergence in section 4 meaningful. Different shops surface not because the question changed, but because the language did.\n\nMethodology\n\n## Study design\n\n### Data collection\n\n-   27 prompt templates × 2 languages (EN/NL) × 2 proxy countries (US/NL) × 5 AI engines\n-   Engines: ChatGPT, Perplexity, Gemini, Copilot, Google AI Mode\n-   378 captures, 3,010 citations, captured 2026-05-23 → 2026-05-24\n-   For each answer we logged both the rendered text and every cited URL\n\n### What we measured\n\n-   Shops named per answer (brand-aggregated leaderboard + per-engine breadth)\n-   Cited URLs, bucketed into a source taxonomy\n-   EN/NL top-5 overlap per template (Jaccard)\n-   .nl vs .com vs .cc citation balance by prompt language\n-   ChatGPT web-search trigger rate; Perplexity fan-out search query\n\n### How we turned answers into shops: the NER pipeline\n\nAI answers are free text — “You could try Wheelrunner in De Pijp, or Het Zwarte Fietsenplan for second-hand bikes…” — not a clean list of businesses. To count anything, we ran each answer (and each citation’s anchor text) through a **named-entity-recognition (NER)** pass that works in four steps:\n\n1.  **Span detection.** A transformer NER model tags candidate spans in the text — organisation/business names and the location phrases attached to them (district names, street addresses). Cycling-specific gazetteer terms (“fietsenwinkel,” “tweewielers,” “bakfiets,” “cycles”) boost recall on names the base model would otherwise miss.\n2.  **Normalisation.** Each candidate is lower-cased and stripped of boilerplate — “Amsterdam,” district suffixes, trademark glyphs and punctuation — so “Het Zwarte Fietsenplan B.V.” and “Het Zwarte Fietsenplan” collapse toward the same key.\n3.  **Entity resolution.** Normalised mentions are matched to a 372-row Apify Google Maps seed (228 with websites) using fuzzy string similarity plus a domain match when the answer cited the shop’s own website. A mention only counts if it resolves above a confidence threshold; ambiguous spans are dropped rather than guessed.\n4.  **Brand aggregation.** Resolved entities that belong to the same brand are merged so a multi-location shop is not double-counted, while per-location coordinates are retained for the maps.\n\nThe seed of 228 websitised shops is the universe an answer can resolve _to_; it is not a list fed to the models. Everything in the leaderboard is a shop an engine surfaced on its own and that the NER pipeline could confidently identify.\n\n### Caveats\n\n-   The seed is the 372-row Apify Google Maps pull of Amsterdam bicycle shops, repair shops and used / e-bike specialists. Rental services, tour operators and pure e-commerce stores are filtered out (`is_real = false`). 228 of the 372 have a website and so are eligible for domain-based citation resolution.\n-   NER resolution is high-precision by design: a mention the pipeline cannot confidently map to the seed is dropped, so counts are conservative lower bounds rather than exhaustive.\n-   The district-targeting test (Centrum, De Pijp, Jordaan, Noord, Oost) returned 0% across all neighborhoods. **This is a measurement artifact, not an AI failure:** the seed has no neighborhood-level field, so a returned shop cannot match a Jordaan/Centrum target by construction. The test is null for Amsterdam.\n-   Only ChatGPT exposes a web-search trigger flag through the capture pipeline; only Perplexity exposes its internal search query. The other engines’ behaviour is unmeasured, not absent.\n-   Google AI Mode’s 82% self-citation may inflate its raw citation count relative to other engines.\n-   Grok is excluded from this study; the crawler returned a wait-element timeout for the bike-shop prompt set.\n\nFAQ\n\n## Frequently Asked Questions\n\n### Summarize with AI\n\n## Continue Reading\n\nMore on how AI search surfaces local businesses.\n\n[AI Search for Yoga Studios in Paris (2026)](/research/yoga-studios-paris-ai-search-2026)[All AI Search Studies](/research?topic=ai-search)\n\n[All Research](/research)","author":{"@type":"Person","name":"Nicolas Sitter","url":"https://nicolassitter.com/about","sameAs":["https://www.linkedin.com/in/nicolassitternolleau/","https://github.com/Nicositter88","https://hotelrank.ai"]},"publisher":{"@type":"Person","name":"Nicolas Sitter","url":"https://nicolassitter.com"},"image":"https://nicolassitter.com/api/og/bike-shops-amsterdam-ai-search-2026","mainEntityOfPage":{"@type":"WebPage","@id":"https://nicolassitter.com/research/bike-shops-amsterdam-ai-search-2026"},"tags":["AI Search","Local Search","Bike Shops","Amsterdam","Perplexity","Reddit"],"sameAs":["https://hotelrank.ai/research/bike-shops-amsterdam-ai-search-2026"],"alternateFormat":{"html":"https://nicolassitter.com/research/bike-shops-amsterdam-ai-search-2026","json":"https://nicolassitter.com/api/post/bike-shops-amsterdam-ai-search-2026","rss":"https://nicolassitter.com/rss.xml"},"datasets":[{"name":"summary","contentUrl":"https://nicolassitter.com/data/bike-shops-amsterdam-ai-search-2026/summary.csv","encodingFormat":"text/csv"}]}