Telegram Userbot API · REST

Message clients first
from a live account

Twelve methods on top of a pool of warmed-up accounts: collect chat members, check a profile, start a conversation and reply in it. Called from your CRM, from n8n or any HTTP client — the key and its permissions are issued in the dashboard.

There is no separate charge for calls — the API comes with the account rental, from $90/mo

POST /public/methods/start_dialog
POST https://api.intelgram.ai/api/v1/public/methods/start_dialog
Authorization: Bearer igrm_ВАШ_КЛЮЧ

{
  "account_id": "3fa85f64-…",
  "peer_id": 123456789,
  "text": "Hi! Got a minute?"
}

// job_id is a ticket: the result is fetched by a second request
{ "job_id": "8f14e45f-…", "status": "pending" }

Launch in 4 steps

The methods are executed by a live Telegram account, not by a server, so the call and the result are separated: the task joins a queue and runs with human-like pauses.

01 /
Issue a key
In the dashboard, in the API section. You tick the permissions yourself — the methods on this page need the account-actions permission.
02 /
Call a method
A POST to the method URL with the parameters in the body. One account means one account_id in the request body.
03 /
Get a ticket
The response carries a job_id and the status pending: the task is accepted and queued for execution.
04 /
Collect the result
With a request by job_id. The wait parameter holds the response for up to 30 seconds and returns it the moment it is ready.

Twelve methods
for working with an account

Audience and profiles
POSTresolve_username1000/day
POSTresolve_post_author1000/day
POSTget_entity_data30/day
POSTget_personal_channel_data1000/day
POSTsearch_entitiesno limit
POSTfetch_members_pageno limit
POSTfetch_messages_pageno limit
POSTlist_dialogsno limit
Conversations
POSTstart_dialog30/12 h
POSTsend_reply1000/day
Account branding
POSTset_name10/day
POSTset_bio10/day
Result
GETjobs/{job_id}600/min
How to call
cURLn8n Makeany HTTP client
POST /public/methods/resolve_username

← Click a method to see an example

A full profile by public @username: name, bio, badges, premium, last seen.

A call does not hold your connection

A rented account performs the action, with its own queue and pauses. Your code does not wait for it: it takes a ticket and comes back for the result whenever it suits.

🎫
The response is a ticket, not a result

The method returns a job_id, the method name, the account and the status pending. It confirms the task has been taken on.

🔄
The result comes by polling

A request by job_id returns pending, done or error. With the wait parameter the connection is held for up to 30 seconds and answers exactly when it is ready.

📊
Limits are counted per account

Thirty first messages per twelve hours, a thousand replies a day, thirty full profile checks, ten name changes. Volume is gained by renting more accounts.

⚠️
An error comes with a reason

The status error with the reason in plain text: the account hit a restriction, the person closed their direct messages. Retrying is your call — the platform does not replay a request.

A key opens only the sections you ticked

Permissions are granted per platform section and separately for reading and writing. You can have several keys — one per integration, one for pulling reports.

accounts:actions accounts:read audience:read audience:write campaigns:read campaigns:write flows:read flows:write wallet:read

The methods on this page need one permission — accounts:actions, which also opens result requests. A key is revoked in the dashboard at any moment: access disappears at once and the other keys keep working.

What people build with it

The scenarios people take method access for instead of working by hand in the dashboard

01
⚙️
Touches triggered from the CRM

A deal has stalled, an order was delivered, a subscription is about to end — your system decides when to write and calls the method. Client replies show up in the dashboard, in the campaign’s conversations.

start_dialog Reactivation Trigger scenarios
02
🎯
Checking the list before launch

Run the list through profiles and drop deleted accounts, ones flagged as scam and those absent for six months. Checking costs less than burning your first-message limit on them.

resolve_username get_entity_data Scoring
03
🗂️
Collecting an audience into your own system

Members of a niche chat, people commenting under channel posts, profiles from search — page by page, with a cursor, straight into your database.

fetch_members_page resolve_post_author search_entities
04
🪪
Your own account branding

A separate name and bio for the working account per campaign: service notifications and cold outreach should not arrive from the same “manager”.

set_name set_bio Branding

Common questions about the methods

A bot writes only to people who wrote to it first and steers the conversation with buttons. Here the methods are executed by an ordinary Telegram account rented in the platform — it can start the conversation first, and the message arrives with a notification, like one from a person. A line-by-line comparison is on the home page.
With the same API. By public username — resolve_username; by chat members — fetch_members_page; by the author of a channel post — resolve_post_author. Every method’s response carries a telegram_id, which is the peer_id you send to.
With a request by job_id. The wait parameter holds the connection for up to thirty seconds and answers exactly when it is ready — it feels closer to a subscription than to polling.
The rate is sixty method calls a minute and six hundred status requests. Action limits are counted per account: thirty first messages per twelve hours, a thousand replies a day, thirty full profile checks, ten name and bio changes. Need more volume — it is gained by renting more accounts.
The methods run on accounts rented in the platform — their identifier is what goes into account_id. Warm-up, limits and account health are on us, and your personal number stays out of it.
There is no separate charge for calls: the API is open on the same accounts you rent in the platform, from $90 a month each. The more accounts, the lower the price per account — you can work out the volume on the home page.

Make your first call

Issue a key in the dashboard and make your first call — API access comes with the account rental, from $90 a month. Work out the volume