ChangelogNew

ChatGPT cards now arrive with their detail panels

ChatGPT
The ChatGPT screen for the robot vacuum question, with the Roborock Saros 20 detail panel open beside the answer and marked as entityDetails

Turn on include.entityDetails on a ChatGPT task and get the panel ChatGPT opens for every product, place or brand card in the answer, with its text, sources and images, at no extra cost.

What you get

  • payload.include.entityDetails: true on CHATGPT tasks.
  • entityDetails on the answer and on each answer in followUps: one entry per card the answer names, up to 20.
  • Each entry has name, category (product, local_business, software, organization, brand and more), query, status, markdown, sources, products, images and complete.
  • sources lists the sites the panel cites, with position, url, label, site and description.

How it works

When a user clicks a product, place or brand card in a ChatGPT answer, ChatGPT opens a panel and writes a short profile of it, citing the sites it read. After the answer finishes, the same panel is requested for every card in the answer, in the same conversation, four cards at a time. The panel step adds about 10 seconds to an answer.

markdown is the panel as ChatGPT wrote it, with its headings, lists and source links. complete: false means ChatGPT stopped writing before the panel ended; the text and sources written up to that point are kept.

Each card stands on its own. A card that fails has status: "failed" and an error (ENTITY_DETAIL_FAILED or ENTITY_DETAIL_EMPTY), and the answer and the other cards complete as usual. On tasks with location, CN or HK, cards come back with ENTITY_DETAIL_UNAVAILABLE.

include.entityDetails works on CHATGPT and runs without include.html. Sending it to another engine or with include.html returns 422 VALIDATION_ERROR before any credits are held.

Where it helps

  • Read how ChatGPT describes your product when a shopper clicks its card, and check the specs, prices and claims it repeats.
  • See which sites ChatGPT cites for your product and for each competitor, and plan reviews and listings around them.
  • Ask the same question in several countries and compare how each market’s panel presents the same brand.

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": "CHATGPT",
    "payload": {
      "prompt": "What is the best robot vacuum for pet hair?",
      "country": "US",
      "include": { "entityDetails": true }
    }
  }'

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.
payload.include.entityDetailsboolean
true adds entityDetails: the detail panel ChatGPT opens for each card in the answer. On CHATGPT, without include.html. Off by default, no extra credits.
payload.followUpsarray
Up to 4 more turns in the same ChatGPT conversation after the first answer. Each item is {"prompt": "…"} to ask a question, or {"select": {…}} to press a button on the form in the previous answer. For CHATGPT.
webhook.urlstring
An HTTPS address on your server. The finished task is posted there the moment it completes.

Response

A finished task looks like this, trimmed for length.

JSON
{
  "success": true,
  "task": {
    "id": "a81e4b26-b4c0-48eb-b20b-10efbd327f1a",
    "taskType": "CHATGPT",
    "status": "COMPLETED",
    "createdAt": "2026-10-21T04:40:09.819Z"
  },
  "response": {
    "text": "For most pet owners, I’d start with the **Dreame L40 Ultra Gen 2**. It offers a strong mix of pet-hair pickup, anti-tangle features, automatic dust emptying, and minimal day-to-day maintenance without necessarily requiring a flagship-level budget. …",
    "model": "gpt-6",
    "entityDetails": [
      "…",
      {
        "name": "Roborock Saros 20",
        "category": "product",
        "query": "Roborock Saros 20",
        "status": "ok",
        "markdown": "The **Roborock Saros 20** is Roborock's 2026 flagship robot vacuum and mop. It focuses on high-end automation with powerful vacuuming, dual spinning mop pads, advanced obstacle avoidance, an ultra-slim body for cleaning under furniture, and a dock that automates most maintenance tasks. …",
        "sources": [],
        "images": [],
        "complete": true
      },
      {
        "name": "MOVA P50 Pro Ultra",
        "category": "product",
        "query": "MOVA P50 Pro Ultra",
        "status": "ok",
        "markdown": "## MOVA P50 Pro Ultra\n\nThe **MOVA P50 Pro Ultra** is a premium robot vacuum and mop introduced as MOVA's 2025 flagship model. … ([RTINGS.com +1](https://www.rtings.com/robot-vacuum/reviews/mova/p50-pro-ultra-robot-vacuum?utm_source=chatgpt.com))\n\n### Key features\n\n- **19,000 Pa suction power**\n- **Dual rotating mop pads**\n…",
        "sources": [
          {
            "position": 1,
            "url": "https://www.rtings.com/robot-vacuum/reviews/mova/p50-pro-ultra-robot-vacuum?utm_source=chatgpt.com",
            "label": "MOVA P50 Pro Ultra Review - RTINGS.com",
            "site": "RTINGS.com"
          },
          {
            "position": 2,
            "url": "https://us.mova.tech/products/mova-p50-pro-ultra-robot-vacuum?utm_source=chatgpt.com",
            "label": "MOVA P50 Pro Ultra Robot Vacuum and Mop Combo | MOVA US",
            "site": "MOVA-US"
          },
          {
            "position": 3,
            "url": "https://www.idealhome.co.uk/house-manual/floorcare/mova-p50-pro-ultra-robot-vacuum-review?utm_source=chatgpt.com",
            "label": "I've spent years telling people that robot mops aren't worth the money - the MOVA P50 Pro Ultra is the first one to change my mind",
            "site": "Ideal Home",
            "description": "The review provides a detailed assessment of the MOVA P50 Pro Ultra Robot Vacuum, marking a pivotal shift in the author's long-standing skepticism toward robot mops. …"
          },
          "…"
        ],
        "images": [],
        "complete": true
      },
      "…"
    ]
  }
}
task.statusstring
QUEUED, PROCESSING, then COMPLETED with the answer or FAILED with error.
response.textstring
The answer as plain text.
response.entityDetailsarray
One panel per card, up to 20: name, category, query, status (ok or failed), markdown, sources, products, images and complete. A failed card has an error, and the answer still completes.
response.followUpsarray
One answer per follow-up, in order. Each item has the prompt that was sent, selection (the button and values) for a select, and the fields of the first answer, such as text, markdown, sources, searchQueries and model.

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"

Errors

VALIDATION_ERRORHTTP 422
include.entityDetails is sent to an engine other than CHATGPT, together with include.html, or as a value other than a boolean. details names payload.include.entityDetails.
MISSING_API_KEYHTTP 401
The Authorization header is missing, or its key is unknown, expired or revoked.
INSUFFICIENT_CREDITSHTTP 402
The balance is below the price of the task. Add credits or upgrade the plan, then send again.

Pricing

Card details are free. A ChatGPT task costs the same with or without include.entityDetails: 1 credit per answer, including each follow-up answer.

More updates

Stay in the loop

Get new product updates in your inbox.

RSS feed