> ## Documentation Index
> Fetch the complete documentation index at: https://docs.scraperize.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get one public Telegram post by URL

> Fetches a single public Telegram post by its URL (`t.me/<handle>/<postNumber>`) — with its text, date, view count, author (name, avatar, verified), media (photos/videos with thumbnails + durations), link preview, and reactions (standard / custom / paid).



## OpenAPI

````yaml /api-reference/openapi.json get /v1/telegram/post
openapi: 3.0.3
info:
  title: Scraperize API
  version: 1.0.0
  description: >-
    Extract public data from social media platforms as clean JSON. Endpoints are
    split by platform and by what they return, e.g. `GET /v1/twitter/tweet`.


    ## Authentication

    Send your API key in the `x-api-key` header (or `Authorization: Bearer
    <key>`). Create keys in your dashboard.


    ## Credits

    Each successful live scrape costs **1 credit**. Credits are prepaid and
    never expire.


    ## Caching

    Every endpoint accepts an optional `cache_max_age`
    (`1d`|`3d`|`7d`|`14d`|`30d`). A cache hit within that window is returned for
    **0 credits**.


    ## Responses

    Success returns `{ "data": …, "meta": { "requestId", … } }`. Errors return
    `{ "error": { "code", "message", "requestId" } }` with a matching HTTP
    status. `meta` on a scrape carries `creditsCharged`, `creditsRemaining`,
    `cached`, and (on a hit) `cachedAt`.


    ## Rate limits

    Requests are limited per team per minute; over the limit returns `429` with
    a `Retry-After` header.
servers:
  - url: https://api.scraperize.com
    description: Production
security:
  - ApiKeyAuth: []
tags:
  - name: Twitter
    description: Twitter / X scraping endpoints
  - name: Facebook
    description: Facebook scraping endpoints
  - name: Linkme
    description: Linkme (link.me) scraping endpoints
  - name: Amazon
    description: Amazon (creator shop / storefront) scraping endpoints
  - name: Linkbio
    description: Linkbio (lnk.bio) scraping endpoints
  - name: Pillar
    description: Pillar (pillar.io) scraping endpoints
  - name: Komi
    description: Komi (komi.io) scraping endpoints
  - name: Linktree
    description: Linktree (linktr.ee) scraping endpoints
  - name: Kick
    description: Kick (kick.com) scraping endpoints
  - name: Snapchat
    description: Snapchat (snapchat.com) scraping endpoints
  - name: Telegram
    description: Telegram (t.me) scraping endpoints
  - name: Google
    description: Google Search scraping endpoints
paths:
  /v1/telegram/post:
    get:
      tags:
        - Telegram
      summary: Get one public Telegram post by URL
      description: >-
        Fetches a single public Telegram post by its URL
        (`t.me/<handle>/<postNumber>`) — with its text, date, view count, author
        (name, avatar, verified), media (photos/videos with thumbnails +
        durations), link preview, and reactions (standard / custom / paid).
      parameters:
        - name: url
          in: query
          required: true
          description: >-
            The post URL `t.me/<handle>/<postNumber>` — e.g.
            https://t.me/durov/537 (also accepts t.me/s/… , a bare durov/537, or
            a tg://resolve deeplink).
          schema:
            type: string
          example: https://t.me/durov/537
        - name: cache_max_age
          in: query
          required: false
          description: >-
            Optional. Return a cached result if one this age or newer exists —
            served for **0 credits** with `meta.cached=true` and
            `meta.cachedAt`. Otherwise a fresh scrape runs (**1 credit**) and
            refreshes the cache. Omit to always scrape fresh.
          schema:
            type: string
            enum:
              - 1d
              - 3d
              - 7d
              - 14d
              - 30d
          example: 7d
      responses:
        '200':
          description: The post.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      post:
                        type: object
                      fetchedAt:
                        type: string
                        format: date-time
                  meta:
                    type: object
                    description: >-
                      requestId + credit/caching metadata (creditsCharged,
                      creditsRemaining, cached, cachedAt).
                required:
                  - data
                  - meta
              example:
                data:
                  post:
                    id: 537
                    url: https://t.me/durov/537
                    handle: durov
                    channelId: -1006503122
                    date: '2026-08-03T07:19:56.000Z'
                    text: >-
                      🧠 The 2026 International Olympiad in Artificial
                      Intelligence starts today. 


                      As a token of support for those who will reinvent our
                      civilization, we'll issue 🏆 240 exclusive Intelligence
                      Cups to the winners.


                      💵 We guarantee minimum buyback prices ($1,000 per Gold
                      Cup, etc.), but the cups' limited supply may make them
                      worth much more on the secondary market.


                      Good luck, AI coders! 🍀
                    views: 3500000
                    author: Pavel Durov
                    authorUrl: https://t.me/durov
                    authorPhotoUrl: >-
                      https://cdn4.telesco.pe/file/k2tiML_6ttxJk6Zg5YYhbnFSJqGztpz_mjVS5i3revt5DgSJAvd8yE_wyaHXM7N0lqjZDcX27mEzp7n_Ham47AG1tAz3KB770mTo5oHQa6Phj0bw85IQZ0LUR34w5TjHU9Guf5jQbQTjZtfnMyx0eQ1rOepPg4OTBK7UFTgInQKXaQu5WNarrkaWmPxlaBCXUzw7haaxNqp9JHEzV88v7YhioWluiwp2vFdgWQTzbcUQjnCcYE1_SFqBLqvhQRI0ppHvhSAQ6SadQ6wII0cAe8I_mNx_PiN2CCd1P0XgUTUcTCbKpTE7jCvo_TzNqWbTY1OCSYxblS8VULscCeG5Fw.jpg
                    verified: true
                    edited: false
                    forwardedFrom: null
                    replyToUrl: null
                    media:
                      - type: photo
                        url: >-
                          https://cdn4.telesco.pe/file/MOfSapETy-s44EREUIBxzMyIi1a9_YqmoAdRi1VWcdlBhYX1bvZGn4Yx5K-EwrzQYs2wFD-Jc4cbEvWB4vEVaLyTv8wIobrQmIx4usYhPWzRIHjWqHO6Y7xHhRkHYzG03dGtaEoioYQzfry86oTTrgphRWJhItjXw9whINlMISOXoP-WlykffrQQxCMJaGJF_Hbvjd_3Wm7-hvTFoN1cgWtDiAYroAEKRRGSGjjt3BVicjyIkiNB6HFoKIzYt0WLVXSDNCYihqU5wGRUBSg8ga9BJbVoNShOPbf6qC3McNgm2N5yroo6muJKuJ6Teb9ja6pQxaE2yE6gp7b_o6fmjw.jpg
                        thumbnailUrl: null
                        duration: null
                    linkPreview: null
                    reactions:
                      - emoji: null
                        customEmojiId: null
                        paid: true
                        count: 15400
                        countText: 15.4K
                      - emoji: null
                        customEmojiId: '5399847211989246390'
                        paid: false
                        count: 39300
                        countText: 39.3K
                      - emoji: null
                        customEmojiId: '5936157098181135162'
                        paid: false
                        count: 11100
                        countText: 11.1K
                  fetchedAt: '2026-09-14T12:14:57.201Z'
                meta:
                  requestId: req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f
                  creditsCharged: 1
                  creditsRemaining: 4999
                  cached: false
        '401':
          description: Missing, invalid, or revoked API key.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                error:
                  code: UNAUTHORIZED
                  message: API key required — pass it in the `x-api-key` header.
                  requestId: req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f
        '402':
          description: Not enough credits for this request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                error:
                  code: INSUFFICIENT_CREDITS
                  message: >-
                    This request costs 1 credit, but your balance is 0. Top up
                    to continue.
                  requestId: req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f
        '404':
          description: Post not found / deleted / private channel.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                error:
                  code: NOT_FOUND
                  message: >-
                    The requested content was not found (it may not exist, be
                    deleted, or be private).
                  requestId: req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f
        '422':
          description: Invalid or missing post URL.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                error:
                  code: VALIDATION_ERROR
                  message: Request validation failed
                  requestId: req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f
                  details:
                    - path: url
                      message: Required
        '429':
          description: Over the per-minute rate limit — honour `Retry-After`.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                error:
                  code: RATE_LIMITED
                  message: >-
                    Rate limit exceeded — max 100 requests per 60s. Retry in
                    ~30s.
                  requestId: req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f
        '502':
          description: Upstream block.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                error:
                  code: UPSTREAM_BLOCKED
                  message: >-
                    The source was temporarily unavailable. Please try again
                    shortly.
                  requestId: req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f
components:
  schemas:
    Error:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              example: NOT_FOUND
            message:
              type: string
              example: The requested content was not found.
            requestId:
              type: string
              example: req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f
            details:
              type: array
              items:
                type: object
              description: Present on validation errors.
          required:
            - code
            - message
            - requestId
      required:
        - error
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        Your API key. Send it in the `x-api-key` header (or `Authorization:
        Bearer <key>`). Create and manage keys from your dashboard.

````