Boring docs for production APIs.
Endpoints you can copy-paste. Auth via key only — no OAuth dance. Every order field, with ranges and defaults, is listed below.
Authentication
Every request carries a single key field. Generate one in the dashboard, rotate whenever. No expiry unless you set one.
Rate limits
60 requests per minute per API key. Need more throughput? Message support — higher per-key ceilings are available.
/api/japaction =servicesList available services with current rates and min/max quantities.
/api/japaction =addCreate an order. Returns the order id you poll with action=status.
/api/japaction =statusLive order status: charge, current state, and remaining quantity.
/api/japaction =refillRequest a free refill inside the 90-day window on eligible subscriber orders.
Placing an order: action=add
Send these fields to /api/jap as form data or JSON. Service ids come from action=services.
Every service
keyrequired- Your API key.
actionrequired- Always
add. servicerequired- Service id from
action=services. linkrequired- Channel, post or bot link, e.g.
https://t.me/yourchannel. quantityrequired- How many to order. For auto-view subscriptions this is views per post.
Auto-view subscriptions (Fast Daily Views, Instant Daily Views)
These feed views to every new post in the channel for a set number of days. The price depends on all three fields below — if you leave one out, its default is used and priced.
daysoptional- How many days the subscription runs, 1–365. Default 7.
postsPerDayoptional- How many new posts per day to cover, 1–100. Default 1: if the channel posts more often, set this, otherwise only one post a day gets views.
postCountis accepted as an alias. speedoptional- Delivery speed step, 1–4. Default 1.
POST https://telegram.software/api/jap key=YOUR_API_KEY&action=add&service=1008&link=https://t.me/yourchannel&quantity=1000&days=30&postsPerDay=20
Values outside these ranges are refused with an error before anything is charged.
Panel scripts that render the JAP Subscriptions form can send username, min, max (views per post), posts (total posts over the term) and expiry (dd/mm/yyyy) instead.
Order status, in one paragraph.
Poll action=status with your order id. You get one of:Pending,In progress,Completed,Paused,Canceled. Statuses are plain strings — most panel scripts match on them directly. Polling once a minute per order stays well inside the rate limit.
Free tools while you build
We publish a small set of free browser tools for the Telegram API: MarkdownV2 and HTML message formatting with correct UTF-16 entity offsets, a t.me and tg:// link generator, and a rich message builder for Bot API 10.3. No account, no upload, and we never ask for a bot token.
Open the free toolsYour keys live in the dashboard.
Create, name, and revoke API keys from the dashboard — one key works across every endpoint format. Sign in to manage yours.
Manage API keys