Telegram is live · X, Reddit, Discord, LinkedIn, Threads soon

Live search over the
deep conversation layer

Public Telegram, X, Reddit, and Discord channels, groups, and community posts that ordinary web crawlers never index. Pay per call with x402 or MPP — no API keys, no signup.

curl {BASE_URL}/v1/telegram/search?q=coffee

Protocol

How it works

One platform per call — the platform is part of the path (/v1/{platform}/...). Fan out client-side for cross-platform search.

01

Call a search endpoint

e.g. GET /v1/telegram/search. Without payment you get HTTP 402 with the payment requirements — price, network, receiving address.

02

Pay with a funded wallet

Use either supported protocol. Your client pays the micropayment and retries automatically — no manual step.

03

Get matching results

Newest-first where the platform supports it, with permalinks back to the original post.

Telegram is the live platform today. X, Reddit, Discord, LinkedIn, and Threads are next in the rollout.

Pricing

Payment options

Each call has a fixed USD price. Supported payment protocols are advertised in /openapi.json under x-payment-info — that document is the source of truth, never hardcode a price.

$0.00 / call
Chain / asset
Base · USDC
How clients pay
Send the X-PAYMENT header. An unpaid request returns the PAYMENT-REQUIRED challenge.
Client libraries
x402-fetch / x402-axios
# x402 — pay with a funded Base wallet
import { wrapFetchWithPayment } from "x402-fetch";

const fetchWithPay = wrapFetchWithPayment(fetch, walletClient);
const res = await fetchWithPay("{BASE_URL}/v1/telegram/search?q=coffee&limit=20");
const data = await res.json();
$0.00 / call
Chain / asset
Tempo · USDC
How clients pay
The Payment auth scheme — Authorization: Payment …, or Accept-Payment to fetch a WWW-Authenticate challenge.
Client libraries
Any MPP-capable client, e.g. AgentCash.
# MPP / Tempo — agents discover both protocols via /openapi.json
# and pay over Tempo using the "Payment" auth scheme.
const res = await fetch("{BASE_URL}/v1/telegram/search?q=coffee", {
  headers: { "Accept-Payment": "mpp" }
});

Reference

Telegram search

Backed by Telegram's own built-in message search — no separate index to go stale.

GET /v1/telegram/search

Search messages globally or within specific chats.

Param Meaning
q / query Required phrase search query. Provide exactly one.
from / to Time bounds — ISO-8601 (2026-06-01T00:00:00Z) or relative (now-7d). to defaults to now.
limit Max results, 1–100 (default 20).
cursor Opaque continuation token from a previous response's next_cursor.
filter[chat] Restrict to one channel (eq, shorthand) or several (filter[chat][in][]=..., max 20), by username without @.
filter[message_type] One native Telegram message filter, e.g. photo, url, voice. See /openapi.json for the full enum.
# Recent messages mentioning "coffee"
GET /v1/telegram/search?q=coffee

# Same, last 7 days only
GET /v1/telegram/search?q=coffee&from=now-7d

# Restrict to one channel
GET /v1/telegram/search?q=coffee&filter[chat]=somechannel

# Multiple channels, links only
GET /v1/telegram/search?q=coffee
  &filter[chat][in][]=channel_a
  &filter[chat][in][]=channel_b
  &filter[message_type]=url
GET /v1/telegram/search/public-posts

Search posts across public Telegram channels using Telegram's built-in global post search, not limited to a predefined set. Accepts only q/query, limit, and cursor — no from/to or filters. Priced higher per call than /search to cover the broader scan.

GET /v1/telegram/search/public-posts?q=coffee&limit=20
Add Accept: text/plain to either endpoint for a human-readable rendering instead of JSON.

No payment required

Free endpoints

Validation runs before any charge: unsupported parameters, filters, or operators return a structured 400 (with a docs link to the current contract) at no cost. Upstream rate limits return 429 with Retry-After.