Operated by Sourcelane✓ verified
A scraper for extracting every post from public Telegram channels: it fetches message text and canonical post URLs, publish timestamps in ISO 8601, numeric view counts, media presence and direct media URLs (images and video thumbnails), forwarded-origin channel names, link preview URLs, and reply indicators. The connector supports scraping multiple channels in one run, produces per-post rows tagged by channel, and provides a paginated resume cursor to iterate channel history. It operates without login, account, or API credentials and is optimized for archival, monitoring, and analytical workflows involving Telegram channel posts, engagement metrics, media extraction, and link-preview capture.
Verified Sep 28, 12:10 AM
$0.001
per post
Up to 100 per call. Only pay for results returned; failed calls are refunded.
| Window | Uptime | Success rate | p50 | p95 | Calls |
|---|---|---|---|---|---|
| 24h | — | — | — | — | 0 |
| 7d | — | — | — | — | 0 |
| 30d | — | — | — | — | 0 |
Call it through Sourcelane's gateway or MCP server. We run the connector, apply your agent's spend guardrails, and bill only the results returned.
Call it via Sourcelane
curl -X POST https://cool-puffin-608.convex.site/v1/call \
-H "Authorization: Bearer sl_live_your_agent_key" \
-H "Content-Type: application/json" \
-d '{"listing":"telegram-channel-scraper","params":{"channels":["telegram"],"maxItems":5},"maxResults":10}'Request params
| Field | Type | Required | Description |
|---|---|---|---|
channels | array | required | Public Telegram channel usernames (with or without @) or t.me channel URLs. |
maxItems | integer | optional | Maximum number of posts to return across all channels combined. Set 0 to fetch the full channel history. Capped at 100 per call. |
pageId | string | optional | Paste NEXT_PAGE_ID from the previous run's Key-value store to fetch the next page (posts older than this message ID). |
Each result contains
| Field | Type | Description |
|---|---|---|
channel | string | Channel |
messageId | integer | Message Id |
url | string | Url |
text | string | Text |
date | string | Date |
views | integer | Views |
hasPhoto | boolean | Has Photo |
hasVideo | boolean | Has Video |
mediaUrls | array | Media Urls |
forwardedFrom | string | Forwarded From |
linkPreviewUrl | string | Link Preview Url |
isReply | boolean | Is Reply |
Pick your tool and connect in under a minute. Then just ask — for example: “Find this creator's profiles on every social network and summarise their reach.”
Connect Claude
Web, desktop and mobile. Paste one URL.
Adds the Sourcelane MCP server with your key as a header.
claude mcp add --transport http sourcelane https://cool-puffin-608.convex.site/mcp \
--header "Authorization: Bearer sl_live_your_agent_key"Alternative to the connector URL: add to claude_desktop_config.json, then restart Claude.
{
"mcpServers": {
"sourcelane": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://cool-puffin-608.convex.site/mcp",
"--header",
"Authorization:${AUTH_HEADER}"
],
"env": {
"AUTH_HEADER": "Bearer sl_live_your_agent_key"
}
}
}
}Add to ~/.cursor/mcp.json (or Windsurf's mcp_config.json).
{
"mcpServers": {
"sourcelane": {
"url": "https://cool-puffin-608.convex.site/mcp",
"headers": {
"Authorization": "Bearer sl_live_your_agent_key"
}
}
}
}Save as .vscode/mcp.json. VS Code prompts for your key once.
{
"servers": {
"sourcelane": {
"type": "http",
"url": "https://cool-puffin-608.convex.site/mcp",
"headers": {
"Authorization": "Bearer ${input:sourcelane-key}"
}
}
},
"inputs": [
{
"type": "promptString",
"id": "sourcelane-key",
"description": "Sourcelane agent key",
"password": true
}
]
}Create a GPT → Actions → Import from URL, then Authentication: API Key, Bearer.
https://sourcelane-amber.vercel.app/openapi.jsonOne POST. Pass maxResults to cap cost.
curl -X POST https://cool-puffin-608.convex.site/v1/call \
-H "Authorization: Bearer sl_live_your_agent_key" \
-H "Content-Type: application/json" \
-d '{"listing":"telegram-channel-scraper","params":{"channels":["telegram"],"maxItems":5},"maxResults":10}'Wrap the REST call as a tool, or point an MCP client at the endpoint.
import requests
res = requests.post(
"https://cool-puffin-608.convex.site/v1/call",
headers={"Authorization": "Bearer sl_live_your_agent_key"},
json={
"listing": "telegram-channel-scraper",
"params": {"channels":["telegram"],"maxItems":5},
"maxResults": 10,
},
timeout=300,
)
body = res.json()
print(body["receipt"]["chargedMicros"], "micro-USD for", body["receipt"]["results"], "results")
print(body["data"])—
0 reviews
Leave a review
Loading reviews…