Telegram Bot API
🌐 English

answerWebAppQuery

Category: Callbacks · Bot API 10.3 · Official documentation

Sends a Web App interaction result.

Returns: On success, returns SentWebAppMessage.

Parameters

ParameterTypeRequiredDescription
web_app_query_idStringYesWeb App query ID
resultInlineQueryResultYesJSON InlineQueryResult object

Parameter descriptions are concise summaries; see the official documentation for the full text.

Example request

curl

curl -s -X POST "https://api.telegram.org/bot$TOKEN/answerWebAppQuery" \
  -H "Content-Type: application/json" \
  -d '{
  "web_app_query_id": "WEB_APP_QUERY_ID",
  "result": {
    "type": "article",
    "id": "1",
    "title": "Hello",
    "input_message_content": {
      "message_text": "Hello!"
    }
  }
}'

Python

import requests

TOKEN = "123456789:AAEexampleTokenReplaceWithYours"
resp = requests.post(
    f"https://api.telegram.org/bot{TOKEN}/answerWebAppQuery",
    json={
        "web_app_query_id": "WEB_APP_QUERY_ID",
        "result": {
            "type": "article",
            "id": "1",
            "title": "Hello",
            "input_message_content": {
                "message_text": "Hello!"
            }
        }
    },
    timeout=30,
)
print(resp.json())

JavaScript

const TOKEN = "123456789:AAEexampleTokenReplaceWithYours";
const res = await fetch(`https://api.telegram.org/bot${TOKEN}/answerWebAppQuery`, {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({
    "web_app_query_id": "WEB_APP_QUERY_ID",
    "result": {
      "type": "article",
      "id": "1",
      "title": "Hello",
      "input_message_content": {
        "message_text": "Hello!"
      }
    }
  }),
});
console.log(await res.json());

Step-by-step guide: How to Test a Telegram Mini App: From Browser Mock to Real Telegram