SocialToAIStart freeConsole
POST/v1/user_posts"platform": "telegram"

Telegram User Posts API

The recent messages of one account.

The Telegram User Posts API returns the recent messages of a public Telegram account: text, author, views and publish time, in the same response format as every other SocialToAI call. One call costs 2 credits ($0.004 to $0.0067 depending on the pack); failed calls are free. Call it over HTTP or from your AI client over MCP. Last tested 2026-10-17.

100 credits on sign-up, no card needed
2 creditsper call
Up to 20 per pageone page per call
2026-10-17last tested
1.2 KBsample response, 1 item

Last updated:

Request and response

curl https://api.socialtoai.com/v1/user_posts \  -H "Authorization: Bearer $SOCIALTOAI_KEY" \  -H "Content-Type: application/json" \  -d '{    "platform": "telegram",    "username": "telegram"  }'
import osimport requestsresponse = requests.post(    "https://api.socialtoai.com/v1/user_posts",    headers={"Authorization": f"Bearer {os.environ['SOCIALTOAI_KEY']}"},    json={        "platform": "telegram",        "username": "telegram",    },)print(response.json())
# Connected over MCP? Ask in plain words.What has this Telegram account posted lately: telegram# Your AI calls the user_posts tool with:{  "platform": "telegram",  "username": "telegram"}
Sign in to run2 creditsOpens in the Playground with these parameters after you sign in. It never runs by itself.
200 OK1.2 KB2 credits
{  "platform": "telegram",  "status": "ok",  "items": [    {      "platform": "telegram",      "id": "…",      "ref": "…",      "approx": [        {          "field": "metrics.views",          "kind": "approximate"        }      ],      "type": "content",      "url": "https://example.com/…",      "format": "text",      "title": null,      "text": "…",      "published_at": "2026-08-26T19:12:34.000Z",      "author": {        "id": null,        "username": "…",        "name": "…",        "verified": null,        "followers": null      },      "metrics": {        "likes": null,        "comments": null,        "shares": null,        "collects": null,        "views": 1830000,        "reposts": null      },      "images": [],      "hashtags": null,      "is_pinned": null    }  ],  "unavailable": ["title", "author.id", "author.verified", "author.followers", "metrics.likes", "metrics.comments", "metrics.shares", "metrics.collects", "metrics.reposts", "hashtags", "is_pinned"],  "page": {    "has_more": true,    "cursor": "cur_…",    "cursor_expires_at": "2026-10-12T19:26:44.000Z"  },  "cost_credits": 2}
@…·
likes nullcomments nullshares nullcollects nullviews 1,830,000

Names and text were removed from the sample; the numbers are as recorded.

Sample data1 of the 20 items recorded

3 parameters.
2 required.

Send them as a JSON body with POST. Your key goes in the Authorization header, never in the URL.

NameTypeRequiredDefaultDescription
platformstringRequired—Always "telegram" on this page.
usernamestringRequired—The channel's handle, without the @
cursorstringOptional—Pass page.cursor from the last response to get the next page.

Where to get what you send.

username

The channel's handle, without the @ (e.g. telegram)

No other interface of the platform returns it: take it from the web page or link as described above.

The fields of each item.
What Telegram cannot give is marked.

FieldTypeMeaning
items[].urlstringA link that opens the item.
items[].formatstringvideo, image, text or article.
items[].titlestringalways nullThe title.
items[].textstringThe body text or caption.
items[].published_atstringWhen it was published, ISO 8601 in UTC.
items[].author.idstringalways nullThe author's account ID.
items[].author.usernamestringThe author's handle.
items[].author.namestringThe author's display name.
items[].author.verifiedbooleanalways nullWhether the author is verified.
items[].author.followersintegeralways nullThe author's follower count.
items[].metrics.likesintegeralways nullLikes.
items[].metrics.commentsintegeralways nullComments.
items[].metrics.sharesintegeralways nullShares.
items[].metrics.collectsintegeralways nullSaves.
items[].metrics.viewsintegerViews or plays.
items[].metrics.repostsintegeralways nullReposts.
items[].imagesstring[]Image addresses.
items[].hashtagsstring[]always nullHashtags, without the #.
items[].is_pinnedbooleanalways nullWhether the author pinned it.
nullFields Telegram cannot give

Read null as “Telegram did not give this”, not as zero. These are always null on this call:

  • titleThe title.
  • author.idThe author's account ID.
  • author.verifiedWhether the author is verified.
  • author.followersThe author's follower count.
  • metrics.likesLikes.
  • metrics.commentsComments.
  • metrics.sharesShares.
  • metrics.collectsSaves.
  • metrics.repostsReposts.
  • hashtagsHashtags, without the #.
  • is_pinnedWhether the author pinned it.

Every item also has platform, id, ref, approx and type; the response around the items is the same on every call. Response format

What to expect.

One call returns a page of up to 20 items. When page.has_more is true, send page.cursor back as cursor for the next page; each page costs 2 credits and a cursor works for 30 minutes.
A call that runs and finds nothing is a successful call: status is "empty", items is empty, and it costs 2 credits.

1 call per second per key, 5 after a purchase; going over is not charged. Rate limits

A failed call costs 0 credits and is never retried on its own. Error codes

Once connected over MCP, these questions use it.

  1. What has this Telegram account posted lately: telegram
    user_posts {"platform":"telegram","username":"telegram"}
    2 credits

These ready-made tools call it when they run.

The same call on other platforms.

All platforms and prices
Change one word in the request: platform. The response keeps the same shape.

Questions.
Short answers.

Everything on Telegram
Do I need a Telegram account or Telegram's own API access?
No. You only need a SocialToAI key. The call returns content and account information publicly visible on Telegram; you never sign in to Telegram or apply for anything there.

Your AI is one URL away
from all of social media.

100 credits on sign-up, no card needed