Search Google AI Mode
/v1/tools/google.serp.ai-mode/calls Needs an API keyReturns Google AI Mode's answer to a question, with the sources it cites and any products it shows. Send its continuation token back to ask a follow-up.
Tool google.serp.ai-mode on Google. Contract version 1, released 2026-10-27.
Over REST, send the input in the body. Over MCP, pass the same input to call_tool.
Both return the full response: the call's ID, status and cost, with this tool's result in output.
Input
querystringRequiredThe question to ask. Required on every turn of a conversation.
countrystringTwo-letter ISO 3166-1 country code. Case-insensitive.
One of the 249 values of the countries list: ISO 3166-1 alpha-2 country codes, lowercase.
languagestringTwo-letter ISO 639-1 language code. Case-insensitive.
One of the 184 values of the languages list: ISO 639-1 two-letter language codes, lowercase.
locationstringGoogle location name, such as "Austin, Texas".
devicestringdesktopmobiletabletcontinuation_tokenstringContinues a conversation. Take it from conversation.continuation_token of the previous answer, and send the same country, language and location. Expires after 30 minutes.
Output
A successful call returns these blocks in its output. A field not marked required can be null.
text_blocks
A list of rows. Always present, possibly empty. The answer in reading order.
typestringRequiredKind of block: paragraph, heading, list, table, image or code.
paragraphheadinglisttableimagecodetextstringText of a paragraph or heading, the code of a code block, or the caption of an image. Null for a list and a table.
urlstringWhere an image links to, such as the product it shows. Null for any other block.
image_urlstringAddress of an image. Null for any other block.
list_itemsarray of objectThe items of a list, in reading order. Null for any other block.
list_items.titlestringLead-in of the item, such as "Grind size". Null for an item without one.
list_items.textstringThe rest of the item. Null for an item that is only its title.
list_items.urlstringThe item's own link, such as the product it names. Null for an item without one.
table_headerarray of stringThe header cells of a table, left to right; an empty cell is null. Null for any other block.
table_rowsarray of objectThe body rows of a table, top to bottom, the header excluded. Null for any other block.
table_rows.cellsarray of stringThe row's cells, left to right, as plain text. An empty cell is null.
reference_positionsarray of integerThe sources the block cites, each by its position in references, in the order cited. Null for a block that cites none, or when the provider does not say.
references
A list of rows. Can be null. The sources of the answer, each once: the cited in citation order, then the uncited.
positionintegerRequiredRank among the sources, starting at 1. What reference_positions refers to.
titlestringTitle of the source.
urlstringAddress of the cited page. Null for a source Google shows without a link, such as a product.
domainstringHost of url, such as "www.reddit.com".
sourcestringName of the publisher, such as "Reddit".
snippetstringThe passage of the page the answer draws on.
products
A list of rows. Can be null. The products the answer shows as shopping cards, in reading order.
titlestringRequiredName of the product.
urlstringGoogle's page for the product.
pricenumberCurrent price, in currency.
regular_pricenumberPrice before a discount, in currency. Null when not discounted.
currencystringISO 4217 code of the prices, such as "USD".
displayed_pricestringThe price as Google shows it, such as "$499.99 $580".
ratingnumberAverage rating, out of 5.
rating_votesintegerNumber of ratings the average is of.
sellerstringThe store offering the price.
image_urlstringAddress of the product's image.
answer
One object. Can be null. The whole answer as one document. Null when the provider sends none.
markdownstringRequiredThe answer as markdown, as the provider writes it.
conversation
One object. Can be null.
continuation_tokenstringSend as continuation_token with the next question to follow up. Null when Google offers no follow-up.