Google sends Knowledge Graph facts to AI Mode as uncited "Biography" search results Google's AI Mode returns whole Knowledge Graph biographies of people and companies as search results with no URL, according to research building on work by Natzir Turrado and Olivier de Segonzac. In a test, AI Mode answered that Dan Petrovic is "47 years old" and listed a "Person Biography: Dan Petrovic" source with no URL, while its only citation, the Wikipedia page about a footballer, was attached to the age sentence; the same record returned in two separate incognito sessions, and an "Organization Biography" for owayo came back at position 0.12.1. The current Google Earth build (15 October 2026) registers 542 result types, 142 of them from 99 QRS providers, and 268 per-query signal types including navboost click data and RankEmbed, with provenance records carrying restriction types such as REQUIRES_CITATION and LLM restrictions such as SEARCH_NO_GENAI. AI Mode receives Knowledge Graph biographies of people and companies as search results with no URL. Building on Natzir Turrado and Olivier de Segonzac: 99 QRS providers, 542 result types and 268 query signals in Google Earth's 15 October build. This builds on the work of Natzir Turrado https://x.com/natzir9 and Olivier de Segonzac https://x.com/5eg . Olivier found the CV https://x.com/5eg/status/2114463211957223701 of a Google intern that describes a Query Result Service QRS and a "textualization" service, and Natzir traced those systems https://natzir.com/en/seo/structured-data-kg-google-ai/ through Google Earth's public code, US antitrust trial documents and his own tests. We add three things. AI Mode receives whole Knowledge Graph biographies of people and companies as search results with no URL, alongside the single-fact sentences Natzir found. The current Google Earth build 15 October 2026 registers 542 result types, 142 of them from 99 QRS providers. And the same code holds 268 per-query signal types, including navboost click data and RankEmbed, next to the AI Mode types. kg-ai-flow We asked AI Mode for Dan Petrovic's age and for the raw source data behind the answer. The query had no quotes. AI Mode answered "47 years old" and listed two sources: { "index": "0.6.2", "source title": "Person Biography: Dan Petrovic", "snippet": "Biographical information about the person \"Dan Petrovic\": A well-known Australian search engine specialist and the managing director of Dejan SEO Pty Ltd. Born: 1979. Place of birth: Vukovar. Nationality: Australia. Also known as: Dejan. Professions: Digital Marketer. They studied at: Griffith University, Brisbane South Nathan Campus Bachelor of Multimedia, majoring in Design, graduated in 2002 . Relevant webpages: dejan.ai/dan-petrovic/, huggingface.co/dejanseo, au.linkedin.com/in/seoguy." } The Wikipedia result has a URL. The biography has none. The same record came back in two separate incognito sessions. On the page, AI Mode attached its only citation, the Wikipedia page about the footballer, to the sentence about Dan's age. The same works for companies. For owayo, AI Mode received an "Organization Biography" with the founding year, the three founders, the headquarters, the product range and "Relevant webpages: owayo.com, linkedin.com", at position 0.12.1 . The hidden page data ties the answer to the Knowledge Graph entity /m/0vshj8v , type PEOPLE . Google's two public Knowledge Graph APIs hold a thinner record for the same entity: the description "Australian digital marketer" and the old URL dejanseo.com.au, with no birth year, birthplace or education. The legacy Knowledge Graph Search API scores the entity 280.6 for the query "Dan Petrovic", against 44.9 for the next result. The biography AI Mode receives is richer and more current than anything the public APIs return. Natzir found that AI Mode used his Knowledge Graph data only when the query was in quotes 10 of 10 tests with quotes, 0 of 10 without . Our query had no quotes and the biography was still in the result list. Each Knowledge Graph fact a "triple" carries a provenance record. The schema is compiled into Google Earth's web build as a dependency. | Field | Values | |---|---| | Source category | THIRD PARTY , CURATION , PARTNER FEED , EXTRACTION | | Restriction type | REQUIRES CITATION , REQUIRES PCOUNSEL REVIEW , REQUIRES ACCESS CONTROL , UNRESTRICTED WITHIN GOOGLE NO 3P USE | | LLM restriction | SEARCH GROUNDING , NON SEARCH GROUNDING , SEARCH TRAINING , NON SEARCH TRAINING , GOOGLE EXTENDED OPT OUT , SEARCH NO GENAI | | Access requirement | 198 legal, contractual and isolation values, for example MINED PEOPLE , SPII SEARCH PUBLIC INTEREST , RIGHTS MANAGEMENT LLM DATA ACCESS RESTRICTION and AU ACCC RISKY FOR DISPLAY | | Licence switches | is editorial , requires linkback , requires attribution , requires share alike , requires first party only | The LLM restrictions are stored as a number uint32 rather than a single value, so one fact can most likely carry several of them at once. Sensitive personal facts need a "public information" certificate with an attribution url and a last verified date before they are shown. Freebase citations carry an is attribution required flag. The QRS providers live under search.next.components.qrs.resultproviders . Each one registers one or more result types in a registry called ResultExtensions . The groups below are our reading of the provider names. The code gives no descriptions. | Group | Providers | |---|---| | User inputs 7 | addedinputentity, addedinputlocationrefinement, addedinputproduct, addedinputquiz, addedinputselectedimage, addedinputtravelbooking, selectedtext | | Agents and tool routing 10 | agenticecosystem, agenticlocal, dynamicagent, taskagent, chartagent, groupcoordination, jetskihandoff, mcp, retrievetools, extensiondirectives | | Code and calculation 8 | python, canvascoding, codelab, salarycodelabdemo, mathgraph, aspsolver, ortools, diagram | | Files 3 | loadfile, readfile, writefile | | Web search and ranking 8 | browse, omnisearch, ranking, hyperfresh, webinsights, authenticity, ugcdeepdive, highlight | | Personal context and memory 9 | usercontext, ceuserfacts, personalprofilemerging, saves, savesrecall, saveswrite, watchlist, searchjourney, journeydetect | | Knowledge and entities 5 | entities, generalentitydata, edugraph, namedareas, prepquestions | | Media, images and trends 13 | discover, discoveraigc, shortsinsights, videoplaylists, videosearch, licensedmediaservice, trends, eventculturalmoment, countdown, imagegeneration, imagetranslation, barcodereader, translate | | Finance, health and sports 7 | finance, financesubagent, healthsubagent, sportsdata, sportsshotdata, sportssubagent, sportsv2 | | Travel and local activities 8 | flights, lodging, travel, travelsubagent, seaporteligibility, food, leisureactivities, waittime | | Maps and places 6 | searchmap, placecard, localplacetile, geocontent, indoordirections, prepareplaceedit | | Shopping and ads 6 | shopping, merchant, adsagent, advertiser, fetchads, agencytoolsservingpath | | Help 2 | helpguide, cehelpcenter | | Codenames 7 | broccoli, deepfusion, erumwrite, googliesguesswho, rwjcontent, pensievesummary, nlmaimthreads | Examples of components: | Provider | Components | |---|---| | mcp | McpOrchestratorResult , plus Gmail, Calendar and Real Estate MCP extensions | | shopping | UcpCheckoutResult , ConsumableReorderResult , BusinessAgentConfigResult , ReviewSummariesResult , ShoppingListResult , UngroundedProductResult | | finance | AnalystRatingsResult , CompanyFinancialsResult , FinanceSentimentResult , PredictionMarketResult | | lodging | SearchHotelsResult , HotelRoomResult , RoomRateResult , neighbourhood and when-to-visit deep dives | | authenticity | VerifySynthidResult | | entities , generalentitydata | EnrichEntityResult , GeneralEntityDataResult | | usercontext , ceuserfacts , personalprofilemerging , pensievesummary | One result type each | 29 registry entries are marked as retired, including the main result types of discover , barcodereader , highlight and retrievetools . The binary holds the names of these types but not their fields: it defines 1 of the 539 result types freebase.Value . A second registry, PerQueryDataAndSignals , holds 268 signal types attached to each query. A third, ResultSetExtensions , holds 80. | Group | Types | Examples | |---|---|---| | Navboost and clicks | 11 | GlueQueryFeatures , KomodoInstantNavboostData , TfxQueryClickSignals | | Salient terms | 5 | QueryBasedSalientTermsOutput , QueryBasedSalientEntitiesOutput | | Embeddings | 11 | RankEmbedOutput , PassageEmbedOutput , RankEmbedScamOutput | | Safety | 33 | SafeSearchQueryAnnotation , SafetySignals | | AI Mode and Magi | 33 | AimSafetySignals | | Grounding | 1 | AnnotationsForGrounding | Some signals are registered once per pipeline stage, which exposes the stage names: pre docfetch , first pass , pre results and merged for query classification, and pre results , web results , image video results , post results and migration aim post results for safety. Natzir worked from build 20261008 1200 RC00 . In 20261015 1200 RC02 , released a week later: ResultExtensions grows from 539 to 542 entries. translate and cehelpcenter . The provider count goes from 97 to 99. twiddler.repeat queries.RecallBoostAnnotationSignals , is registered. search.next.servers.mars.flows under the same numbers. GOOGLE EXTENDED OPT OUT flag. If your site blocks Google-Extended, facts the Knowledge Graph extracted from it may be kept out of Gemini. REQUIRES CITATION , and a biography with no URL cannot be cited. A fact that only exists in the Knowledge Graph reaches AI answers without a link to you. We loaded Google Earth in a browser, recorded the WebAssembly file it requests earthplugin web.wasm , build 20261015 1200 RC02 , 27.5 MB and decoded the proto descriptors and extension registries compiled into it. The AI Mode records come from AI Mode's own output when asked for raw source metadata, so they are text the model wrote, repeated across sessions. These schemas are bundled in the Earth binary as dependencies: their presence shows the data structures exist, not that Google Earth uses them, and not which facts carry which flags.