ChangelogNew

Now supporting Meta AI, Qwen and Doubao

Answers
The same earbuds question answered by Meta AI, Qwen and Doubao, shown as three querying.ai JSON results with each answer and its first source

Ask Meta AI and the Chinese assistants Qwen and Doubao any prompt and receive each answer with the pages it cites and the searches it ran.

What you get

  • META_AI: the answer Meta AI gives on meta.ai, with markdown that links each numbered citation.
  • QWEN: the answer of Qwen (千问), Alibaba’s AI assistant in China, with the model that wrote it.
  • DOUBAO: the answer of Doubao (豆包), ByteDance’s AI assistant in China, with each source marked web or video in type.
  • Every result carries text, markdown, sources and searchQueries.

How it works

Each META_AI task opens a fresh meta.ai chat as a logged-out visitor from the country in payload.country and returns the answer that visitor sees. Asked from the US for commuter earbuds, Meta AI named three models and cited four review pages.

Meta AI declines many “best X” shopping prompts, such as best running shoes 2026, with the line “Your request was blocked by our security system.” The task then completes with an empty text and a notice of type policy_declined that carries Meta’s message, so you can count declined prompts next to answered ones. Phrased as a question, such as Which running shoes work best for flat feet?, the same request gets an answer.

QWEN tasks ask Qwen’s web chat at qianwen.com as a first-time visitor, with Qwen’s web search on. payload.country sets the country the question comes from. Qwen picks the answer language: English, Korean, Japanese and German prompts come back in their own language, and Spanish prompts get a Spanish answer when the prompt asks for Spanish.

Doubao answers visitors in mainland China, so every DOUBAO task asks Doubao’s web chat as a visitor there. Asked for commuter earbuds, Doubao cited 18 sources, 11 of them Douyin videos.

The example below is a META_AI task. For Qwen or Doubao, set taskType to QWEN or DOUBAO and keep the rest of the request.

Where it helps

  • Add Meta AI to the prompt sets you already track in ChatGPT, Gemini and Perplexity.
  • Track how Qwen and Doubao describe your brand to consumers in China, with prompts in Simplified Chinese.
  • Compare the sites each engine trusts: for the same earbuds question, Meta AI cited English review sites, Qwen cited Taobao and ZOL, and Doubao cited Douyin videos.

Send a request

Send the request with your API key in the Authorization header.

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": "Search the web and recommend 3 wireless earbuds for commuting. Compare noise cancellation and battery life in a short table, with source links. Keep the answer under 180 words.",
      "country": "US"
    }
  }'

Request fields

taskTypestringRequired
The engine to run, such as CHATGPT or GOOGLE.
payload.promptstringRequired
The question, written the way a user types it into the chat. Up to 100,000 characters.
payload.countrystring
Two-letter country code of the market to ask from, such as US, KR or JP. Default US.
webhook.urlstring
An HTTPS address on your server. The finished task is posted there the moment it completes.
idempotencyKeystring
Your own ID for the request. Each key creates one task per account, so a retried send stays a single task.

Response

A finished task looks like this, trimmed for length.

JSON
{
  "success": true,
  "task": {
    "id": "7f552a24-071f-4564-9709-343a6d1c9a09",
    "taskType": "META_AI",
    "status": "COMPLETED",
    "createdAt": "2026-10-09T20:43:32.920Z"
  },
  "credits": { "creditsToCharge": 2, "creditsCharged": 2 },
  "response": {
    "text": "Here are three great wireless earbuds for your commute, with their noise cancellation and battery life compared, and sources included:\n\nThe **Bose QuietComfort Ultra** are top-tier for ANC, making them perfect for really noisy commutes.…",
    "markdown": "Here are three great wireless earbuds for your commute, with their noise cancellation and battery life compared, and sources included:\n\n[3](https://onlycaptions.com/best-noise-canceling-earbuds-for-commuting/) [4](https://www.techradar.com/…) [1](https://deafvibes.com/vetted/best-premium-noise-cancelling-earbuds-for-commuting/) [2](https://vintagevinylnews.com/best-earbuds-for-commuting/)\n\n…",
    "sources": [
      {
        "position": 1,
        "url": "https://deafvibes.com/vetted/best-premium-noise-cancelling-earbuds-for-commuting/",
        "label": "11 Best Premium Noise Cancelling Earbuds for Commuting in 2026",
        "publisher": "deafvibes.com"
      },
      {
        "position": 2,
        "url": "https://vintagevinylnews.com/best-earbuds-for-commuting/",
        "label": "8 Best Earbuds for Commuting (October 2026) Top Picks for Every Budget",
        "publisher": "vintagevinylnews.com"
      }
    ]
  }
}
task.statusstring
QUEUED, PROCESSING, then COMPLETED with the answer or FAILED with error.
credits.creditsChargedinteger
Credits charged for the finished task. A failed task charges 0.
response.textstring
The answer as plain text.
response.markdownstring
The answer with its headings, lists and tables, in every result.
response.sourcesarray
The pages the answer cites, in the engine’s order, each with position, url and label.
response.searchQueriesarray
The web searches the engine ran to write the answer.
response.modelstring
The model that wrote the answer, as the engine reports it.

Receive the result

The request returns the task right away with status QUEUED. Poll GET /v1/async/task/{id} until status is COMPLETED or FAILED, or add webhook.url and the finished task arrives at your server with the same task, credits and response. Results stay available for 24 hours after a task finishes.

curl https://api.querying.ai/v1/async/task/$TASK_ID \
  -H "Authorization: Bearer $QUERYING_API_KEY"

Pricing

Each completed task uses 2 credits on Meta AI, Qwen and Doubao. A Meta AI task that ends with a policy_declined notice also uses 2 credits.

More updates

Stay in the loop

Get new product updates in your inbox.

RSS feed