Google Gemini API
Our Google Gemini API allows you to scrape answers from Google Gemini, Google's AI assistant. The API returns the answer as text blocks (paragraphs, headings, lists, tables, and code blocks), the sources Gemini cites, the places and products it shows from Google Maps and Google Shopping, its images, the follow-up questions it suggests, and the full answer in markdown.
Continue a conversation with the subsequent_request_token returned by each search.
The API endpoint is https://serpapi.com/search?engine=google_gemini
Head to the playground for a live and interactive demo.
API Parameters
Subsequent Request
subsequent_request_token
Optional
Parameter defines the token used to continue a Google Gemini conversation. Pass this token with a new q to send a follow-up prompt that includes the previous prompts and answers as context (multi-turn).
The token is returned by SerpApi from your previous request using our Google Gemini API.
Gemini keeps a conversation only for a limited time, so the token expires: send the follow-up soon after the previous request.
Serpapi Parameters
no_cache
Optional
Parameter will force SerpApi to fetch the Google Gemini results even if a cached version is already present. A cache is served only if the query and all parameters are exactly the same. Cache expires after 1h. Cached searches are free, and are not counted towards your searches per month. It can be set to false (default) to allow results from the cache, or true to disallow results from the cache. no_cache and async parameters should not be used together.
async
Optional
Parameter defines the way you want to submit your search to SerpApi. It can be set to false (default) to open an HTTP connection and keep it open until you got your search results, or true to just submit your search to SerpApi and retrieve them later. In this case, you'll need to use our Searches Archive API to retrieve your results. async and no_cache parameters should not be used together. async should not be used on accounts with Ludicrous Speed enabled.
zero_trace
Optional
Enterprise only. Parameter enables ZeroTrace mode. It can be set to false (default) or true. Enable this mode to skip storing search parameters, search files, and search metadata on our servers. This may make debugging more difficult.
output
Optional
Parameter defines the format of the result. It can be set to json (default) to get a structured JSON of the results, html to get the raw HTML retrieved, or md to get a markdown-formatted version optimized for LLMs and AI agents.
json_restrictor
Optional
Parameter defines the fields you want to include in the output, reducing payload size for faster response. See the JSON Restrictor documentation for more details.
API Results
JSON Results
JSON output includes structured data for text_blocks, references, local_results, shopping_results, reconstructed_markdown, and more.
A search status is accessible through search_metadata.status.
It flows this way: Processing -> Success || Error.
If a search has failed, error will contain an error message.
search_metadata.id is the search ID inside SerpApi.
HTML Results
This API does not have a full HTML response, only text.
search_metadata.prettify_html_file contains a link to the prettified version of the result.
It is displayed in the playground.
Markdown Results
Markdown output is optimized for LLMs and AI agents. It provides most of the same informational content as JSON
in a token-efficient format using tables, markdown links, and YAML frontmatter.
To access, use the output=md parameter, the /search.md endpoint, or request header Accept: text/markdown.
API Examples
Example with q: where does coffee grow?
When Gemini searches the web to answer, it cites its sources after the text they support: reference_indexes of a text block point to the references it cites. The reconstructed_markdown of the answer lists them at its end.
{
"text_blocks": [
{
"type": "paragraph",
"snippet": "Almost all the world's coffee grows in a continuous band around the middle of the Earth called the Coffee Belt (or Coffee Bean Belt).",
"snippet_highlighted_words": ["Coffee Belt"],
"reference_indexes": [0]
},
{
"type": "paragraph",
"snippet": "This region lies roughly between the Tropic of Cancer (23.5° N) and the Tropic of Capricorn (23.5° S), wrapping around the globe across the equator.",
"snippet_highlighted_words": ["Tropic of Cancer", "Tropic of Capricorn"],
"reference_indexes": [0]
},
{
"type": "heading",
"snippet": "Why Coffee Grows There"
},
{
"type": "paragraph",
"snippet": "Coffee plants (Coffea) are sensitive and require very specific environmental conditions that this tropical zone provides:"
},
{
"type": "list",
"list": [
{
"snippet": "Climate: Consistently warm temperatures (typically between 15°C to 24°C or 59°F to 75°F) with plenty of sunshine and alternating wet and dry seasons (which help trigger flowering and cherry ripening).",
"snippet_highlighted_words": ["Climate:"],
"reference_indexes": [1]
},
{
"snippet": "Altitude: Many of the highest-quality specialty beans thrive at higher elevations (600 to 2,000+ meters above sea level), where cooler night temperatures slow down fruit maturation, concentrating sugars and complex flavors.",
"snippet_highlighted_words": ["Altitude:"],
"reference_indexes": [1]
},
...
]
},
...
],
"reconstructed_markdown": "Almost all the world's coffee grows in a continuous band around the middle of the Earth called the **Coffee Belt** (or Coffee Bean Belt). [0] \n\nThis region lies roughly between the **Tropic of Cancer** (23.5° N) and the **Tropic of Capricorn** (23.5° S), wrapping around the globe across the equator. [0] \n\n### Why Coffee Grows There\nCoffee plants (*Coffea*) are sensitive and require very specific environmental conditions that this tropical zone provides:\n* **Climate:** Consistently warm temperatures (typically between 15°C to 24°C or 59°F to 75°F) with plenty of sunshine and alternating wet and dry seasons (which help trigger flowering and cherry ripening). [1]\n* **Altitude:** Many of the highest-quality specialty beans thrive at higher elevations (600 to 2,000+ meters above sea level), where cooler night temperatures slow down fruit maturation, concentrating sugars and complex flavors. [1]\n* **Soil:** Rich, mineral-dense, and volcanic soils found heavily throughout equatorial regions provide ideal nutrients. [0]\n\n### Major Regions and Producing Countries\nThe Coffee Belt spans across three main geographical areas: [2]\n\n1. **Latin America (Central & South America)**\n * *Known for:* Balanced, clean, sweet, and nutty or bright, fruity profiles (mostly Arabica beans). [3]\n * *Top Producers:* **Brazil** (the world's largest producer), **Colombia**, Guatemala, Costa Rica, Honduras, and Peru. [3]\n2. **Africa & the Middle East**\n * *Known for:* Complex, vibrant, floral, and fruit-forward flavors. [3] This is the historic birthplace of coffee. [3]\n * *Top Producers:* **Ethiopia**, **Kenya**, Rwanda, Tanzania, and Yemen.\n3. **Asia & Pacific**\n * *Known for:* Heavier bodies, earthy, spicy, and herbal tasting notes. [3]\n * *Top Producers:* **Vietnam** (the world's second-largest producer, famous for Robusta), **Indonesia**, India, and Papua New Guinea. [1]\n\n### References\n\n[0] [The Coffee Belt: What Is It and Where Is It Located?](https://twochimpscoffee.com/blogs/the-coffee-belt-what-is-it-and-where-is-it-located/)\n[1] [What Is The Coffee Belt And Where Is It Located?](https://presscoffee.com/pages/what-is-the-coffee-belt-and-where-is-it-at-press-coffee-roasters)\n[2] [What is the Coffee Belt? Coffee Growing Regions Explained](https://www.nordicapproach.no/glossary/coffee-belt)\n[3] [The Coffee Belt: A Guide to the World's Best Coffee Growing Regions](https://kiboko.coffee/blogs/news/the-coffee-belt-a-guide-to-the-world-s-best-coffee-growing-regions)\n[4] [An Interactive Map of the World's Coffee and Wine Growing Regions](https://vinepair.com/map-coffee-wine-belts/)\n[5] [What Is The Coffee Belt?](https://sprudge.com/what-is-the-coffee-belt-179028.html)\n[6] [Coffee Belt Tour: Explore Coffee Origins & Flavor by Region](https://silverstreamcoffeeroasters.com/blogs/coffee-guides/coffee-belt-tour)\n[7] [Coffee-Producing Countries: The Coffee Belt | I Have a Bean](https://www.ihaveabean.com/blogs/coffee-posts/top-producing-coffee-countries-explore-the-coffee-belt)",
"subsequent_request_token": "TYxzqnicNcpLToNAAADQeKBJKi0giS4GBihQ_pTSbhoYGH4FKr-h3XoXXZp4Ae_haXTjW7-3T9y1c9YP8Vh27blMv_B5I2Qsg1M2iRO8ytbk46-M2TJ-Qwr_uVTc2mB37xROs3J7r8pF9467ri6zn4dnS0Mv0oRFCcp-48qivajI1-iaeo-8oRwrsjUuhOdS94h0VB5lO4UaihoMjDiWY-MWg5z2J65FBBzQZUcGz13XUDLDAGbjNDeQL1LijJ10EHU12lnpdeWH14YGSnMwnyKXHKK9km9q4xqW-XRy1FO2u4cTaWeSlNhThciG06WiQ7-1fVVEj_zeoQIJpEKgZu0RkDTDwJqbV46vGYMw-XnGDD3DNtx3MNAVmBqD-ASc6_3SyFpVuosWwb6xxmou9IRdGf6iVbd5jkPiKHFAb1BmLcKbI-WjOUcV3zs5JxaMAgCot23IqqflKHiTLubKL6QZinw",
...
}
Example with references
references lists the sources Gemini cites, in the order of the answer, then the other results of its web searches. Gemini shows the first cited source of a text block, and how many others it cites.
{
"text_blocks": [
{
"type": "paragraph",
"snippet": "Brazil produces the most coffee in the world by a wide margin, accounting for roughly 35% to 40% of the global coffee supply. It has held this top spot for over 150 years.",
"snippet_highlighted_words": ["Brazil", "35% to 40%"],
"reference_indexes": [0]
},
...
],
"references": [
{
"index": 0,
"title": "What Are the World's Leading Coffee Growing Regions?",
"link": "https://www.ictcoffee.com/news/what-are-the-worlds-leading-coffee-growing-regions/",
"snippet": "Brazil produces approximately 35-40% of the world's coffee, making it the largest coffee producer for over 150 years. The country produces both Arabica and",
"source": "ictcoffee.com",
"source_icon": "https://encrypted-tbn3.gstatic.com/favicon-tbn?q=tbn%3AANd9GcT6lbQoJpj_cGy6iBjfvkKTDoN7vqDtNoThke8Dzfi2wUeBlKc73IacnNa4S4bQN7YBEtZQElwSCpa6ElmNhNCNxVPHGsA1x8bAl4pp"
},
{
"index": 1,
"title": "Coffee-Producing Countries: The Coffee Belt | I Have a Bean",
"link": "https://www.ihaveabean.com/blogs/coffee-posts/top-producing-coffee-countries-explore-the-coffee-belt",
"snippet": "Brazil. The world's largest coffee producer, Brazil grows coffee across vast plateaus rather than steep mountains. Lower elevations and dry harvest conditions",
"source": "I Have a Bean",
"source_icon": "https://encrypted-tbn3.gstatic.com/favicon-tbn?q=tbn%3AANd9GcQslmXlJpf59kV_P-5HZ1OtNOZJ6OP6wjgJcHlI41FsEa_oDN-aODKD4GALjIjB1dMTM795WI8f-ket10ORMxFDBGt5v_NDdwDyJt-vgg"
},
{
"index": 2,
"title": "The Top Coffee Producing Countries Around the World",
"link": "https://www.mysticmonkcoffee.com/pages/the-top-coffee-producing-countries-around-the-world",
"snippet": "Cart * Central & South America. Brazilian Coffee. One of the world's longest coffee-producing countries, Brazil has a deep and varied history with coffee. It pr...",
"source": "Mystic Monk Coffee",
"source_icon": "https://encrypted-tbn0.gstatic.com/favicon-tbn?q=tbn%3AANd9GcR1xLvaVVzzlyQ1zZDlLgW6tvqPBWsDynAcOmlmyLanB11dXfAZGGVKNlHDcvnNvFrqgSDe0VHfuF3QWzzrkqOw19koh44oIEPKNC0gwZ4ls-NjIg"
},
...
],
...
}
Example with local results
local_results lists the places of Google Maps that Gemini shows in the answer, in its order. Their place_id_search gets more details of the place with SerpApi's Google Maps API.
{
"local_results": [
{
"position": 1,
"title": "Francette",
"place_id": "ChIJU3if9Zxv5kcRJfwyLlF2eds",
"place_id_search": "https://serpapi.com/search.json?engine=google_maps&google_domain=google.com&hl=en&place_id=ChIJU3if9Zxv5kcRJfwyLlF2eds",
"rating": 4.5,
"reviews": 9385,
"type": "French restaurant",
"address": "1 Port de Suffren, 75007 Paris, France",
"website": "https://fugafamily.com/restaurants/francette",
"description": "Refined restaurant on board a barge on the\nSeine with Eiffel Tower views & revisited French cuisine.",
"gps_coordinates": {
"latitude": 48.8587774,
"longitude": 2.2914042
},
"link": "https://maps.google.com/?cid=15814801657527729189&g_mp=Cidnb29nbGUubWFwcy5wbGFjZXMudjEuUGxhY2VzLlNlYXJjaFRleHQ"
},
{
"position": 2,
"title": "Madame Brasserie",
"place_id": "ChIJo5sOsudv5kcR5KbGiJXhb3w",
"place_id_search": "https://serpapi.com/search.json?engine=google_maps&google_domain=google.com&hl=en&place_id=ChIJo5sOsudv5kcR5KbGiJXhb3w",
"rating": 4.1,
"reviews": 6520,
"type": "French restaurant",
"address": "1er, Tour Eiffel, 75007 Paris, France",
"phone": "01 83 77 77 78",
"website": "https://www.restaurants-toureiffel.com/fr/madame-brasserie.html?utm_source=google_my_business&utm_medium=referencement_local&utm_campaign=fiche_madame_brasserie",
"gps_coordinates": {
"latitude": 48.8584166,
"longitude": 2.2946008
},
"link": "https://maps.google.com/?cid=8966633415479043812&g_mp=Cidnb29nbGUubWFwcy5wbGFjZXMudjEuUGxhY2VzLlNlYXJjaFRleHQ"
},
...
],
...
}
Example with shopping results
shopping_results lists the products of Google Shopping that Gemini shows in the answer, in its order.
{
"shopping_results": [
{
"position": 1,
"title": "adidas Men's Runfalcon 5 Running Shoes",
"product_id": "12186052289187570450",
"product_link": "https://google.com/search?q=adidas+Men%27s+Runfalcon+5+Running+Shoes&prds=catalogid%3A13769646685835586392%2Cgpcid%3A1392301765839899412%2CheadlineOfferDocid%3A15075589398446554276%2Cmid%3A576462899982505780%2Cproductid%3A12186052289187570450%2Cpvo%3A38%2Cpvt%3Aa%2Crds%3APC_1392301765839899412%7CPROD_PC_1392301765839899412&ibp=oshop&gemcid=c_323af0e2b5d5b0ac&gemrid=r_b74d2f72487187b4&pvo=38&opi=103135050&gl=US&hl=en&noiga=1",
"price": "$42.00",
"extracted_price": 42.0,
"source": "adidas",
"rating": 4.6,
"reviews": 20621,
"thumbnail": "https://encrypted-tbn0.gstatic.com/shopping?q=tbn:ANd9GcSQeY59HDigmFkr25u8kye5DD5FEH2EhB1Glb0IFUpSA9lScXWE4efI49wiL5-4oLYANmTzlQYQ"
},
{
"position": 2,
"title": "adidas Men's Runfalcon 6 Cloudfoam Running Shoes",
"product_id": "13809356385590995354",
"product_link": "https://google.com/search?q=adidas+Men%27s+Runfalcon+6+Cloudfoam+Running+Shoes&prds=catalogid%3A8550647429160462950%2Cgpcid%3A16477010810704158613%2CheadlineOfferDocid%3A5952857806225120708%2Cmid%3A576462892983603709%2Cproductid%3A13809356385590995354%2Cpvo%3A38%2Cpvt%3Aa%2Crds%3APC_16477010810704158613%7CPROD_PC_16477010810704158613&ibp=oshop&gemcid=c_323af0e2b5d5b0ac&gemrid=r_b74d2f72487187b4&pvo=38&opi=103135050&gl=US&hl=en&noiga=1",
"price": "$64.99",
"extracted_price": 64.99,
"source": "DICK'S Sporting Goods",
"rating": 4.7,
"reviews": 8510,
"thumbnail": "https://encrypted-tbn1.gstatic.com/shopping?q=tbn:ANd9GcRYmDatdq8NMOWBo52Y295_zNrm3BNpPmfII4mqJfiDsFiGMBw0dgP6ZTl5qqYTGeHwGgRWOl0"
},
...
],
...
}
Example with inline images
{
"inline_images": [
{
"title": "golden retrievers photo",
"link": "https://www.gundogmag.com/editorial/breed-profile-the-golden-retriever/176237",
"source": "www.gundogmag.com",
"thumbnail": "https://encrypted-tbn2.gstatic.com/images?q=tbn:ANd9GcSNx3Rf8hBARUQ8YLbunjAFLROSoUENiMe5XFDfinvN8404mbxCndWAc0MNLlMr",
"original": "https://content.osgnetworks.tv/photopacks/golden-retriever-breed-profile_551292/551299_golden-retriever_hero_1200x800.jpg",
"original_width": 1200,
"original_height": 800
},
{
"title": "golden retrievers photo",
"link": "https://fr.wikipedia.org/wiki/Golden_retriever",
"source": "fr.wikipedia.org",
"thumbnail": "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSxgRFgBXWkUs5H_96FzxEZUhA9dRfT51riAuhlonATGtiE5N1NGvJlsO5qR5Es",
"original": "https://thumb.wikimedia.org/wikipedia/commons/thumb/1/1d/Golden_retriever_stehfoto.jpg/1280px-Golden_retriever_stehfoto.jpg?utm_source=fr.wikipedia.org&utm_campaign=index&utm_content=thumbnail",
"original_width": 1280,
"original_height": 853
},
...
],
...
}
Example with subsequent_request_token
Each search returns a subsequent_request_token to continue the conversation. Send it with a new q to ask a follow-up question: in this example, the token returned for where does coffee grow?. Gemini keeps a conversation only for a limited time, so send the follow-up soon after the previous search: this example's token has expired.
{
"text_blocks": [
{
"type": "paragraph",
"snippet": "Brazil produces the most coffee in the world by a wide margin.",
"snippet_highlighted_words": ["Brazil"],
"reference_indexes": [0]
},
{
"type": "paragraph",
"snippet": "In fact, Brazil single-handedly accounts for roughly 35% of the entire global coffee supply (producing around 63 million 60-kilogram bags a year). Its output is so massive that it produces more coffee than the next three largest producers combined.",
"snippet_highlighted_words": ["35% of the entire global coffee supply"],
"reference_indexes": [1]
},
...
],
"references": [
{
"index": 0,
"title": "Top Coffee Producing Countries: Where the World's Best Coffee",
"link": "https://www.verenastreet.com/blogs/all-about-coffee/top-coffee-producing-countries",
"snippet": "More on that below. * 1. Brazil: The World's Largest Coffee Producer. Brazil has been the world's biggest coffee producer for more than 150 years, and it isn't ...",
"source": "Verena Street",
"source_icon": "https://encrypted-tbn0.gstatic.com/favicon-tbn?q=tbn%3AANd9GcRDIePgQrMK8GljXhCDyu-KJA_msrgYmJ9v8Lu0lPhvtK3Ac7iT2UeEFNiNFwG1t4_acxcvyq-MLrbWCPzGm4-Nmk0oI1C7zZi7G2-yJbTQ"
},
{
"index": 1,
"title": "Ranked: The Countries That Grow the World's Coffee",
"link": "https://www.visualcapitalist.com/the-worlds-largest-coffee-producers/",
"snippet": "In the 2025/2026 marketing year, Brazil produced 63 million 60-kilogram bags of green coffee beans, equivalent to 35% of global production. Most of Brazil's",
"source": "Visual Capitalist",
"source_icon": "https://encrypted-tbn2.gstatic.com/favicon-tbn?q=tbn%3AANd9GcTNsHRj7wc-BJWFeZ_VrvQ8yEFV1UbCa_xDZykJ1yczbABSBlnSpITh5VLNDUaTcXz5K-rE9WBsQWmu8xO6jBlPYLMzVqa8_pSe7qMU6880-NLEBg"
},
...
],
"subsequent_request_token": "mnFb3HicNczLrppAAIDh9IFIuMklaRcDchkcUARE2RAYUDjIDMII6Lbv0i6b9AX6Hn2ank3_9Zf_-y9MyVyPU8FaSvK2-o1zXeHlUqx1vlSrq3Ytfn4SVq_sD1jA_8LFcPccelNb8dimnhyroT8wpV1b__3yNYDbb-YTGyawoj60jP3qbCO7GYcnDmfD2kT5RlX9PAKOA_lTwcGjvMuiMp6pWPkGjGEnb8TZFFpZ2pXmQFYRSyxWRrtjEtq2q7CK6PCkfsqrU6YAM8loewzcV0etB-r3qEtFMkroVc4f0kPwoyy_ncNDANWF3kgWMCKk6W5gcTvB98NNDScBulZAMYmhxqssPBcXnHyUc63dQ30JM-7Wk5f3-BzzFMSeDardZGhcf1PE8dSIzr3ACAlydVlJ43Jv3lyzpnd058wFzX3AUjcaV49HR84bulN2OLmVculsYDeKv8IlecYNCzi19ImnOf8AoRKHqQ",
...
}
JSON Structure Overview
{
...
"search_information": {
"location_detected": "String - Location Gemini answered for, detected from the IP address. For example: 'Phoenix, AZ, USA'",
"text_blocks_state": "String - 'Fully empty' when Gemini hasn't answered"
},
"text_blocks": [
{
"type": "String - Type of the text block. Can be 'heading', 'paragraph', 'list', 'table', or 'code_block'",
// Only for 'heading' and 'paragraph' types
"snippet": "String - Text of the text block",
"snippet_highlighted_words": [
"String - Bold text in the snippet",
...
],
"snippet_links": [
{
"text": "String - Text of the link",
"link": "String - URL of the link",
"local_results_reference_index": "Integer - Index of the linked place, in the root 'local_results' field",
"shopping_results_reference_index": "Integer - Index of the linked product, in the root 'shopping_results' field"
},
...
],
"reference_indexes": [
"Integer - Index of a reference cited by the text block, in the root 'references' field",
...
],
// Only for 'list' type
"list": [
{
"snippet": "String - Text of the list item",
"snippet_highlighted_words": "Array - Same as in text blocks",
"snippet_links": "Array - Same as in text blocks",
"reference_indexes": "Array - Same as in text blocks",
// Nested list
"list": "Array - Same as 'list'",
// Other blocks of the list item, like a code block
"text_blocks": "Array - Same as 'text_blocks'"
},
...
],
// Only for 'table' type
"table": [
[
"String - Table cell. The first row is the header",
...
],
...
],
"formatted": [
{
"header_of_the_column": "String - Table cell of the column",
...
},
...
],
// Only for 'code_block' type
"language": "String - Programming language of the code",
"code": "String - Code"
},
...
],
"references": [
{
"index": "Integer - Index of the reference",
"title": "String - Title of the reference",
"link": "String - URL of the reference",
"snippet": "String - Snippet of the reference",
"source": "String - Name or domain of the website",
"source_icon": "String - URL of the website icon"
},
...
],
"local_results": [
{
"position": "Integer - Position of the place in the answer",
"title": "String - Name of the place",
"place_id": "String - Google Maps ID of the place",
"place_id_search": "String - URL of the place with SerpApi's Google Maps API",
"rating": "Float - Rating of the place",
"reviews": "Integer - Number of reviews of the place",
"type": "String - Type of the place",
"address": "String - Address of the place",
"phone": "String - Phone number of the place",
"website": "String - Website of the place",
"description": "String - Description of the place",
"gps_coordinates": {
"latitude": "Float - Latitude of the place",
"longitude": "Float - Longitude of the place"
},
"link": "String - Google Maps URL of the place"
},
...
],
"shopping_results": [
{
"position": "Integer - Position of the product in the answer",
"title": "String - Title of the product",
"product_id": "String - Google Shopping ID of the product",
"product_link": "String - Google Shopping URL of the product",
"price": "String - Price of the product",
"extracted_price": "Float - Price of the product as a number",
"source": "String - Seller of the product",
"rating": "Float - Rating of the product",
"reviews": "Integer - Number of reviews of the product",
"thumbnail": "String - URL of the product image"
},
...
],
"inline_images": [
{
"title": "String - Description of the image",
"link": "String - URL of the page of the image",
"source": "String - Name or domain of the website",
"thumbnail": "String - URL of the thumbnail of the image",
"original": "String - URL of the image",
"original_width": "Integer - Width of the image",
"original_height": "Integer - Height of the image"
},
...
],
"related_questions": [
{
"question": "String - Follow-up question Gemini suggests",
"serpapi_link": "String - URL of the question asked in the same conversation, with SerpApi's Google Gemini API"
},
...
],
"reconstructed_markdown": "String - Answer in markdown, with references",
"subsequent_request_token": "String - Token to continue the conversation with a follow-up prompt",
"error": "String - Error message if Gemini hasn't answered",
...
}