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 and Olivier de Segonzac. Olivier found the CV of a Google intern that describes a Query Result Service (QRS) and a "textualization" service, and Natzir traced those systems 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 andAU_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.