Appearance
Are you an LLM? You can read better optimized documentation at /api/quickstart.md for this page in Markdown format
Quickstart
Availability
This feature is enabled per account by the TTMT team and is rolling out gradually. If you don't see it in your dashboard yet, contact support to request access.
This walks you from zero to a working API response. You need an active TTMT account with API access enabled (ask support if you don't have it yet).
Step 1 — Enable API access
API access is available on request, not on by default. Ask TTMT support to enable it for your account. You'll see a Developer section appear in the dashboard sidebar once it's on.
Step 2 — Create a key
- Open the dashboard at app.telegramtometatrader.com.
- Go to Developer → API Keys.
- Click Create key and give it a name (e.g.,
my-bot). - Copy the key shown. It looks like:
ttmt_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxWARNING
The raw key is shown exactly once. Copy it now — you cannot retrieve it later, only create a new one.
Step 3 — Make your first request
bash
curl -s https://app.telegramtometatrader.com/api/v1/accounts \
-H "Authorization: Bearer ttmt_live_YOUR_KEY_HERE"You should get back your connected MetaAPI accounts:
json
{
"data": [
{
"account_id": "a1b2c3d4-...",
"label": "My Live Account",
"type": "live",
"currency": "USD",
"state": "deployed",
"is_active": true
}
]
}Note the account_id UUID — you'll use it as ?account_id= to filter results to one account.
Step 4 — Fetch recent trades
bash
curl -s "https://app.telegramtometatrader.com/api/v1/trades?status=active&limit=10" \
-H "Authorization: Bearer ttmt_live_YOUR_KEY_HERE"The response is a list envelope:
json
{
"data": [ /* trade objects */ ],
"has_more": false,
"next_cursor": null
}Pass ?after=<next_cursor> to page through history. See Reference — /trades for all filter parameters.
Step 5 — Connect the live stream
bash
curl -N https://app.telegramtometatrader.com/api/v1/stream \
-H "Authorization: Bearer ttmt_live_YOUR_KEY_HERE" \
-H "Accept: text/event-stream"You'll receive a continuous stream of events as they happen — position updates, order fills, TP hits, and trade lifecycle changes. The stream force-cycles every 5 minutes; reconnect and send Last-Event-ID to resume without gaps.
See Streaming for the full event catalog.
What's next
- Authentication — key lifecycle, disable vs. revoke, the active-key cap
- Errors — how error responses are shaped
- Rate Limiting — limits and
429handling - Streaming — every SSE event type documented with examples
- Reference — all nine endpoints

