Skip to content
Eden Engine

Telegram Channel Posts (Recent, by Username)

omnial/telegram-web-fetch-channel-posts

Given a public Telegram channel's username, returns its recent posts (text, post type, view count, star/emoji reactions, media presence, and any link preview) plus channel info (title, subscriber count, verification status) and pagination cursors for paging through older posts with `before`/`after`.

activeper callv2

Price

Up to $0.00205 per call; you pay what the call used

You pay the price shown. If a call turns out to cost more than its quote, you pay the actual price, capped at twice the quote. No monthly minimum. Top-ups start at $0.50.

Data source

Telegram

Data from Telegram.

Use it

Five steps: search, inspect, learn, run, settle. No per-tool setup; your agent reaches this tool through the meta-tools it already has.

Connect once and your AI can find and run this tool, and any other it needs.

agent
// 1. search: find the tool
omnial_search({ query: "what you need" })

// 2. inspect: price and input schema
omnial_inspect({ tool: "omnial/telegram-web-fetch-channel-posts" })

// 3. learn: read the usage guide at runtime
omnial_learn({ tool: "omnial/telegram-web-fetch-channel-posts" })

// 4. run: price the exact call first, then run it
omnial_execute({ tool: "omnial/telegram-web-fetch-channel-posts", input: { /* see input_schema */ }, dry_run: true })
omnial_execute({ tool: "omnial/telegram-web-fetch-channel-posts", input: { /* ... */ } })

// 5. settle: the call is charged when it finishes, nothing to do

Not connected yet? Point your MCP client at https://mcp.eden-engine.com/mcp, then copy a config for your client.

Pricing

Every charge this tool can incur.

ChargePrice
Per call
$0.00205
Updated
Oct 25, 2026

Input and output schemas

Input schema
input_schema.json
{
  "type": "object",
  "required": [
    "channel"
  ],
  "properties": {
    "after": {
      "type": "integer",
      "default": 0,
      "description": "Newer than this id"
    },
    "limit": {
      "type": "integer",
      "default": 20,
      "maximum": 100,
      "minimum": 1,
      "examples": [
        20
      ],
      "description": "Number of posts"
    },
    "before": {
      "type": "integer",
      "default": 0,
      "description": "Older than this id"
    },
    "channel": {
      "type": "string",
      "examples": [
        "durov"
      ],
      "description": "Channel username"
    }
  },
  "additionalProperties": false
}
Output schema
output_schema.json
{
  "type": "object",
  "properties": {
    "channel": {
      "type": "string",
      "description": "Echoes the queried channel username."
    },
    "messages": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "The message id, used for `before`/`after` paging."
          },
          "date": {
            "type": "string",
            "description": "ISO 8601 post timestamp, e.g. '2026-09-06T17:40:39+00:00'."
          },
          "text": {
            "type": "string",
            "description": "Plain-text post body."
          },
          "type": {
            "type": "string",
            "description": "e.g. 'text', 'photo', 'video' -- observed on real posts."
          },
          "media": {
            "type": "object",
            "properties": {
              "photos": {
                "type": "array",
                "items": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "description": "Withheld the same way as `channel_info.photo`."
                },
                "description": "Photo attachments. Empty on posts with no photo."
              },
              "videos": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "url": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "Withheld the same way as `channel_info.photo`."
                    },
                    "thumb": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "Withheld the same way as `channel_info.photo`."
                    },
                    "duration": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "e.g. '0:20'. Observed `null` on at least one real video."
                    }
                  },
                  "additionalProperties": true
                },
                "description": "Video attachments. Empty on posts with no video."
              },
              "has_unsupported": {
                "type": "boolean",
                "description": "Usually `true`, including on plain-text posts with no attached media -- its meaning beyond 'has a photo/video' is unconfirmed."
              }
            },
            "additionalProperties": true
          },
          "views": {
            "type": "string",
            "description": "Human-formatted view count, e.g. '719K' -- not a raw number."
          },
          "author": {
            "type": "string",
            "description": "The channel owner's display name as shown on the post."
          },
          "channel": {
            "type": "string",
            "description": "Repeats the channel username per message."
          },
          "reply_to": {
            "type": [
              "string",
              "number",
              "null"
            ],
            "description": "Usually `null` (on posts that are not replies) -- presumed to hold the id of the message being replied to when populated, unconfirmed."
          },
          "reactions": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "paid": {
                  "type": "boolean",
                  "description": "True for the paid Telegram Star reaction, false for free emoji."
                },
                "count": {
                  "type": "string",
                  "description": "Human-formatted count, e.g. '6.15K' -- not a raw number."
                },
                "emoji": {
                  "type": "string",
                  "description": "The reaction emoji, or empty string for the Star reaction."
                }
              },
              "additionalProperties": true
            },
            "description": "One entry per distinct reaction (emoji or Telegram Star) on the post."
          },
          "text_html": {
            "type": "string",
            "description": "The same post body as HTML, including the channel's own outbound links."
          },
          "is_forwarded": {
            "type": "boolean"
          },
          "link_preview": {
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "url": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "Withheld the same way as `channel_info.photo`."
              },
              "title": {
                "type": "string"
              },
              "site_name": {
                "type": "string"
              },
              "description": {
                "type": "string"
              }
            },
            "description": "Null when the post has no outbound link preview card.",
            "additionalProperties": true
          },
          "forwarded_from": {
            "type": [
              "string",
              "null"
            ],
            "description": "The source channel/username a forwarded post came from. Usually `null` (on posts that are not forwards) -- shape when populated is not documented."
          }
        },
        "additionalProperties": true
      },
      "description": "Posts, newest first on every real call observed."
    },
    "pagination": {
      "type": "object",
      "properties": {
        "count": {
          "type": "number",
          "description": "Number of posts actually returned on this page."
        },
        "limit": {
          "type": "number",
          "description": "Echoes the requested `limit`."
        },
        "after_cursor": {
          "type": "number",
          "description": "Pass as `after` to fetch newer posts than this page."
        },
        "before_cursor": {
          "type": "number",
          "description": "Pass as `before` to fetch older posts than this page."
        },
        "pages_fetched": {
          "type": "number"
        },
        "has_more_before": {
          "type": "boolean"
        }
      },
      "additionalProperties": true
    },
    "channel_info": {
      "type": "object",
      "properties": {
        "photo": {
          "type": [
            "string",
            "null"
          ],
          "description": "The channel's avatar image. Value withheld (returned as `null` regardless of whether the channel has one) -- only whether the field is populated is observable, not the image itself."
        },
        "title": {
          "type": "string",
          "description": "The channel's display name."
        },
        "counters": {
          "type": "object",
          "properties": {
            "links": {
              "type": "string"
            },
            "photos": {
              "type": "string"
            },
            "videos": {
              "type": "string"
            },
            "subscribers": {
              "type": "string"
            }
          },
          "description": "The same human-formatted-string convention as `subscribers` above.",
          "additionalProperties": true
        },
        "username": {
          "type": "string"
        },
        "verified": {
          "type": "boolean"
        },
        "description": {
          "type": "string"
        },
        "subscribers": {
          "type": "string",
          "description": "Human-formatted subscriber count, e.g. '10.9M' -- not a raw number."
        }
      },
      "description": "Summary of the channel itself, unpaginated -- the same on every page.",
      "additionalProperties": true
    }
  },
  "description": "The channel-posts page.",
  "additionalProperties": true
}