> ## Documentation Index
> Fetch the complete documentation index at: https://docs.querying.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Meta AI API — answers, cited pages and search queries

> Ask Meta AI a question and get its answer as text and Markdown, with cited pages and the searches it ran.

`META_AI` asks the Meta AI chat at meta.ai.

| | |
| - | - |
| taskType | `META_AI` |
| Reads | `prompt` (falls back to `query`) |
| Credits | 1 |
| Country | Optional, default `US`. |

## Request

Meta AI refuses most "best" plus product prompts, so phrase shopping questions as a question:

```bash theme={"theme":"css-variables"}
curl -X POST https://api.querying.ai/v1/async/task \
  -H "Authorization: Bearer $QUERYING_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "taskType": "META_AI", "payload": { "prompt": "Which running shoes work best for flat feet?", "country": "US" } }'
```

## Response

| Field | Type | Description |
| - | - | - |
| `text` | string | The answer. Formulas appear as LaTeX, as written. Product cards appear as list lines with their price, and comparison tables as Markdown tables, where Meta AI showed them. |
| `markdown` | string | The answer with numbered links to the cited pages. Formulas sit between `$` signs, or `$$` on a line of their own. Product names link to their product pages. Returned without any flag. |
| `sources` | array | The cited pages: `position`, `url`, `label`, `publisher`. For a product from Meta's catalog, `label` is the product and `publisher` its brand. |
| `searchQueries` | string\[] | The web searches Meta AI ran. |
| `shoppingCards` | array | The product cards Meta AI showed: `title`, `position`, `price` (`value`, `currency`, `raw`), `oldPrice` (the price before a sale), `brand`, `thumbnail`, `productLink`, `productId`. |
| `inlineProducts` | array | The products the answer names, in order: `title`, `position`, `price`, `oldPrice`, `thumbnail`, `productLink`, `productId`. A card with the same `productId` is the same product. |
| `notice` | object | Present when Meta AI refused the prompt. See below. |
| `rawResponse` | array | Meta's tool calls and final structured response. Only with `include.rawResponse`. |

For example:

```json theme={"theme":"css-variables"}
{
  "text": "For flat feet, stability shoes with firm arch support work best ...",
  "markdown": "For flat feet, stability shoes with firm arch support work best [1](https://www.example.com/flat-feet-shoes).",
  "sources": [{ "position": 1, "url": "https://www.example.com/flat-feet-shoes", "label": "Shoes for flat feet", "publisher": "Example Running" }],
  "searchQueries": ["running shoes flat feet"]
}
```

## Include flags

| Flag | Effect |
| - | - |
| `rawResponse` | Adds `rawResponse`. |

`markdown` needs no flag. `searchQueries`, `ads` and `shopping` have no effect. `shoppingCards` and `inlineProducts` arrive with every answer that shows products. `analysis` is rejected with `422 VALIDATION_ERROR` and `citationAnalysis` with `400 VALIDATION_ERROR`. `html` adds the screen Meta AI showed, for 0.25 credits when the page is stored. See [HTML pages](/engines/html-pages.md). See [Markdown and raw responses](/engines/response-options.md).

## Refusals

Meta AI refuses many shopping prompts phrased as "best" plus a product, such as "best running shoes 2026". The task then **completes** with an empty `text` and a `notice` that quotes Meta's message:

```json theme={"theme":"css-variables"}
{
  "text": "",
  "markdown": "",
  "sources": [],
  "notice": { "type": "policy_declined", "scope": "text", "message": "Your request was blocked by our security system." }
}
```

The same prompt gets the same refusal on a new attempt. Rephrase it as a question, such as "Which running shoes work best for flat feet?".

## Related

* [Meta AI product page](https://querying.ai/en/engines/meta-ai)
* [Engine overview](/engines/overview.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.