TelRump API

TelRump API

텔레그램 가입자 추출과 계정 구매를 내 프로그램·서버에서 자동으로 처리하는 API 입니다.

通过 API 在您自己的程序或服务器中自动完成 Telegram 注册用户筛选 与 账号购买。

개요概述

기본 주소基础地址https://telrump.com/api/v1
인증认证요청 헤더 请求头 X-API-Key: tlr_...
형식格式JSON (UTF-8) · 시간은 UTC ISO 8601时间为 UTC ISO 8601
요금费用USDT · 웹과 같은 가격으로 내 잔액에서 차감 (실패한 추출은 자동 환불)USDT · 与网页价格相同,从账户余额扣除(筛选失败自动退款)
요청 제한频率限制키당 분당 120회 (초과 시 429)每个密钥每分钟 120 次(超出返回 429)

인증 · API 키认证 · API 密钥

  1. telrump.com 로그인 → 상단 API 메뉴 → 새 키 만들기. 키는 그때 한 번만 보여요.
  2. 登录 telrump.com → 顶部 API 菜单 → 新建密钥。密钥只显示一次,请妥善保存。
  3. 모든 요청에 X-API-Key 헤더를 넣으세요. (Authorization: Bearer tlr_... 도 가능)
  4. 所有请求都需携带 X-API-Key 请求头(也可使用 Authorization: Bearer tlr_...)。
키가 밖으로 새면 바로 API 메뉴에서 폐기하고 새로 만드세요. 계정당 키는 최대 5개입니다.
密钥一旦泄露,请立即在 API 菜单中作废并重新创建。每个账号最多 5 个密钥。

오류 형식错误格式

실패하면 HTTP 상태 코드와 함께 아래 형식으로 응답합니다.

请求失败时返回 HTTP 状态码及以下格式:

{ "error": { "code": "insufficient_balance", "message": "잔액 부족 (필요: 0.7182 USDT, 보유: 0.1000 USDT)" } }
HTTPcode의미说明
401missing_api_key / invalid_api_key키가 없거나 잘못됨 / 폐기됨缺少密钥或密钥无效 / 已作废
403api_not_enabled / account_inactiveAPI 사용이 차단된 계정 / 사용 불가 계정API 已被停用 / 账号不可用
429rate_limited요청이 너무 많음 (잠시 후 재시도)请求过于频繁(稍后重试)
402insufficient_balance잔액 부족余额不足
400no_numbers / too_few_numbers / too_many_numbers번호 없음 / 최소 개수 미만 / 최대 개수 초과无号码 / 少于最低数量 / 超过最大数量
400invalid_json / invalid_webhook_url / unsupported_country요청 형식 오류请求格式错误
400invalid_days / invalid_premium / invalid_format다운로드 옵션 오류下载参数错误
400invalid_category / invalid_quantity구매 옵션 오류购买参数错误
404job_not_found / account_not_found작업 / 계정 없음任务 / 账号不存在
409not_ready / out_of_stock / not_connected결과 아직 없음 / 재고 부족 / 계정 연결 중结果未完成 / 库存不足 / 账号连接中
413file_too_large파일 20MB 초과文件超过 20MB
502order_failed추출 주문 실패 — 차감액은 즉시 환불됨任务创建失败 — 扣款已立即退还
503service_unavailable일시적으로 사용할 수 없음服务暂时不可用

잔액 조회余额查询

GET/api/v1/me

curl https://telrump.com/api/v1/me -H "X-API-Key: tlr_..."

{ "username": "myid", "balance": 120.5, "currency": "USDT" }

가입자 추출 — 가격·조건注册用户筛选 — 价格与条件

번호 목록 중 텔레그램에 가입된 번호와 마지막 접속 시간을 찾아줍니다.

从号码列表中找出已注册 Telegram 的号码及其最后上线时间。

GET/api/v1/extract/price

{
  "service": "telegram_active",
  "price_per_number": 0.0006,
  "currency": "USDT",
  "min_numbers": 500,
  "max_numbers": 1000000,
  "countries": ["KR"],
  "download_days": [1, 3, 5, 7]
}

요금 = price_per_number × 제출한 번호 수 (중복 제거 후). 가격은 바뀔 수 있으니 주문 전에 확인하세요.

费用 = price_per_number × 提交号码数(去重后)。价格可能调整,请在下单前确认。

추출 주문创建筛选任务

POST/api/v1/extract

JSON 또는 multipart/form-data(파일 업로드)로 보낼 수 있어요.

支持 JSON 或 multipart/form-data(上传文件)。

필드字段설명说明
numbers번호 배열 또는 줄바꿈 문자열. 숫자만 남기고 7~15자리만 인정, 중복 제거 (예: 821012345678)号码数组或换行分隔的字符串。仅保留数字,7~15 位有效,自动去重(例:821012345678)
file(multipart) txt 파일, 한 줄에 번호 하나, 최대 20MB. numbers 와 함께 보내면 합쳐짐(multipart)txt 文件,每行一个号码,最大 20MB。与 numbers 同时提交时合并
country선택 · 현재 KR 만 지원 (생략하면 KR)可选 · 目前仅支持 KR(省略即为 KR)
title선택 · 작업 이름 (최대 60자)可选 · 任务名称(最多 60 字)
webhook_url선택 · 완료/실패 시 알림 받을 주소 (웹훅)可选 · 完成/失败时的通知地址(Webhook)
curl -X POST https://telrump.com/api/v1/extract \
  -H "X-API-Key: tlr_..." -H "Content-Type: application/json" \
  -d '{"numbers":["821012345678","821087654321"],"title":"11월 DB","webhook_url":"https://example.com/hook"}'

# 파일로 보내기上传文件
curl -X POST https://telrump.com/api/v1/extract \
  -H "X-API-Key: tlr_..." -F "file=@numbers.txt" -F "title=11월 DB"

응답 201 — 잔액에서 바로 차감되고 작업이 대기열에 들어갑니다.

返回 201 — 立即从余额扣款,任务进入队列。

{
  "job": {
    "id": 45, "title": "11월 DB", "status": "queued", "progress": 0, "country": "KR",
    "input_count": 20000, "registered_count": 0, "premium_count": 0,
    "cost": 12.0, "currency": "USDT", "refunded": false, "error": null,
    "created_at": "2026-11-02T05:20:58Z", "completed_at": null, "download_ready": false
  },
  "balance": 108.5
}

작업 조회查询任务

GET/api/v1/extract/{id}

GET/api/v1/extract?limit=50최근 작업 목록 (최대 200)最近任务列表(最多 200)

status의미说明
queued대기 중排队中
running처리 중 (progress 0~100)处理中(progress 0~100)
completed완료 — registered_count(가입 번호 수), premium_count(프리미엄 수) 확정, 다운로드 가능完成 — registered_count(已注册数)、premium_count(会员数)确定,可下载
failed실패 — refunded: true, 요금 자동 환불失败 — refunded: true,费用自动退还

대략 2만 개 기준 몇 분 걸려요. 상태 조회는 10~30초 간격이면 충분하고, 웹훅을 쓰면 조회하지 않아도 됩니다.

约 2 万个号码需要几分钟。建议每 10~30 秒查询一次;使用 Webhook 则无需轮询。

결과 다운로드下载结果

GET/api/v1/extract/{id}/download?days=1&premium=all&format=txt

파라미터参数값取值
daysall(기본, 가입 번호 전체) · 1 · 3 · 5 · 7 = 최근 N일 이내 접속all(默认,全部注册号码)· 1 · 3 · 5 · 7 = 最近 N 天内上线
premiumall(기본) · 1 프리미엄만 · 0 일반만all(默认)· 1 仅会员 · 0 仅普通
formattxt(기본, 한 줄에 번호 하나) · xlsx(전체 데이터 엑셀)txt(默认,每行一个号码)· xlsx(完整数据 Excel)
텔레그램이 정확한 접속 시간을 숨긴 번호는 이렇게 포함돼요: 최근 접속(0~3일) → 1·3·5·7일 모두 포함 / 1주 이내(4~7일) → 7일에 포함 / 1달 이내(8~30일) → all 과 엑셀에만 포함.
对于 Telegram 隐藏具体上线时间的号码:最近上线(0~3 天)→ 包含在 1/3/5/7 天中 / 一周内(4~7 天)→ 包含在 7 天中 / 一月内(8~30 天)→ 仅包含在 all 与 Excel 中。

xlsx 열: 전화번호 · 유저ID · 아이디(@) · 성 · 이름 · 프리미엄 · 동결 여부 · 마지막 접속 · 접속 경과일 (한글). 완료 전에 요청하면 409 not_ready.

xlsx 列:电话号码 · 用户ID · 用户名 · 姓 · 名 · 会员 · 是否冻结 · 最后上线 · 距今天数(韩文表头)。任务未完成时返回 409 not_ready。

curl -o kr_1d.txt "https://telrump.com/api/v1/extract/45/download?days=1" -H "X-API-Key: tlr_..."
curl -o all.xlsx "https://telrump.com/api/v1/extract/45/download?format=xlsx" -H "X-API-Key: tlr_..."

완료 알림 (웹훅)完成通知 (Webhook)

주문할 때 webhook_url 을 넣으면, 작업이 끝나거나 실패했을 때 그 주소로 POST 를 보냅니다.

下单时填写 webhook_url,任务完成或失败时会向该地址发送 POST。

POST https://example.com/hook
Content-Type: application/json
X-Telrump-Event: extract.completed

{
  "event": "extract.completed",          // 또는或 "extract.failed"
  "sent_at": "2026-11-02T05:25:01Z",
  "job": { "id": 45, "status": "completed", "registered_count": 18388, "premium_count": 83, ... }
}

계정 구매 — 재고·가격账号购买 — 库存与价格

GET/api/v1/shop/stock

{
  "items": [
    { "category": "kr",   "name": "한국 번호", "count": 34, "price": 6, "currency": "USDT" },
    { "category": "intl", "name": "해외 번호", "count": 0,  "price": 4, "currency": "USDT" }
  ]
}

구매购买

POST/api/v1/shop/buy

curl -X POST https://telrump.com/api/v1/shop/buy \
  -H "X-API-Key: tlr_..." -H "Content-Type: application/json" \
  -d '{"category":"kr","quantity":2}'

201
{
  "accounts": [
    { "account_id": 1650, "phone": "821012345678", "category": "kr" },
    { "account_id": 1651, "phone": "821087654321", "category": "kr" }
  ],
  "cost": 12, "currency": "USDT", "balance": 96.5, "failed": 0
}

category: kr 또는 intl · quantity: 1~100. 재고가 요청 수량보다 적으면 409 out_of_stock (아무것도 구매되지 않음).

category:kr 或 intl · quantity:1~100。库存不足时返回 409 out_of_stock(不会购买任何账号)。

구매한 계정已购账号

GET/api/v1/shop/accounts?limit=100

{
  "accounts": [
    { "account_id": 1650, "phone": "821012345678", "category": "kr", "purchased_at": "2026-11-02T06:01:00Z", "status": "ready" },
    { "account_id": null, "phone": "821055556666", "category": "kr", "purchased_at": "2026-10-30T02:11:00Z", "status": "delivered" }
  ]
}
status의미说明
connecting구매 직후 준비 중 (보통 수 초~1분)购买后准备中(通常几秒~1 分钟)
ready인증코드를 받을 수 있는 상태 — 지금 로그인하세요可接收验证码 — 请立即登录
delivered로그인 완료 — 우리 쪽 연결은 정리됨 (더 이상 코드 조회 불가)登录完成 — 我方连接已清除(无法再获取验证码)

인증코드 받기获取验证码

GET/api/v1/shop/accounts/{account_id}/code?wait=30

파라미터参数설명说明
wait0~60초. 새 코드가 올 때까지 최대 이만큼 기다렸다가 응답 (권장 30)0~60 秒。最多等待这么久直到收到新验证码(建议 30)
since선택 · 이 시각(ISO 8601) 이후에 온 코드만 '새 코드'로 봄. 생략하면 요청 시각 5초 전可选 · 仅将此时间(ISO 8601)之后收到的验证码视为"新验证码"。省略则为请求时间前 5 秒
{
  "account_id": 1650, "phone": "821012345678",
  "code": "52819", "received_at": "2026-11-02T06:02:11Z", "age_sec": 2,
  "fresh": true,            // since 이후 새로 온 코드since 之后新收到的验证码
  "codes_last_10min": 1     // 여러 개면 마지막 코드만 유효多个时仅最后一个有效
}
로그인 코드를 새로 요청하면 이전 코드는 무효가 됩니다. 항상 코드 요청 직후 이 API 를 wait 와 함께 호출하고, fresh: true 인 코드를 쓰세요.
重新请求登录验证码后,之前的验证码会失效。请在请求验证码后立即带 wait 调用此接口,并使用 fresh: true 的验证码。

로그인 자동화 예제自动登录示例

  1. POST /shop/buy 로 구매 → account_id, phone 받기
  2. 调用 POST /shop/buy 购买 → 获得 account_id、phone
  3. GET /shop/accounts 에서 status 가 ready 가 될 때까지 대기
  4. 轮询 GET /shop/accounts,直到 status 变为 ready
  5. 내 텔레그램 클라이언트로 그 번호의 로그인 코드를 요청
  6. 用您的 Telegram 客户端为该号码请求登录验证码
  7. GET /shop/accounts/{account_id}/code?wait=30 으로 코드 받아서 로그인
  8. 调用 GET /shop/accounts/{account_id}/code?wait=30 获取验证码并登录
# Python (requests + Telethon)
import asyncio, requests
from telethon import TelegramClient

API = "https://telrump.com/api/v1"
H = {"X-API-Key": "tlr_..."}

async def main():
    acc = requests.post(f"{API}/shop/buy", json={"category": "kr", "quantity": 1}, headers=H).json()["accounts"][0]

    for _ in range(30):   # ready 대기 / 等待 ready
        lst = requests.get(f"{API}/shop/accounts", headers=H).json()["accounts"]
        if any(a["account_id"] == acc["account_id"] and a["status"] == "ready" for a in lst): break
        await asyncio.sleep(3)

    client = TelegramClient(f"acc_{acc['phone']}", API_ID, API_HASH)   # 내 api_id / api_hash
    await client.connect()
    await client.send_code_request("+" + acc["phone"])

    c = requests.get(f"{API}/shop/accounts/{acc['account_id']}/code", params={"wait": 30}, headers=H).json()
    if not c.get("fresh"):
        raise RuntimeError("새 코드를 받지 못했어요 / 未收到新验证码")
    await client.sign_in("+" + acc["phone"], c["code"])
    print("logged in:", await client.get_me())

asyncio.run(main())

가입자 추출 전체 예제

筛选完整示例

# Python (requests)
import time, requests
API = "https://telrump.com/api/v1"
H = {"X-API-Key": "tlr_..."}

numbers = [line.strip() for line in open("numbers.txt") if line.strip()]
job = requests.post(f"{API}/extract", json={"numbers": numbers, "title": "batch-1"}, headers=H).json()["job"]

while job["status"] in ("queued", "running"):
    time.sleep(15)
    job = requests.get(f"{API}/extract/{job['id']}", headers=H).json()["job"]

if job["status"] == "completed":
    for d in (1, 3, 7):
        r = requests.get(f"{API}/extract/{job['id']}/download", params={"days": d}, headers=H)
        open(f"active_{d}d.txt", "wb").write(r.content)
    r = requests.get(f"{API}/extract/{job['id']}/download", params={"format": "xlsx"}, headers=H)
    open("all.xlsx", "wb").write(r.content)
else:
    print("failed (refunded):", job["error"])

© TelRump · telrump.com