Overview
What the Algo Trader Tools API does, the concepts behind it and the conventions every endpoint follows.
The Algo Trader Tools API is a REST API for managing copy trading between MetaTrader 4 and MetaTrader 5 accounts. With it you connect accounts, create copiers that watch a master account, attach follower accounts with their own rules, and read what was copied. It's the same setup you do under Accounts and Copiers in the app, done from your own code.
The copying itself runs in our cloud, so you don't need a VPS or a MetaTrader terminal of your own. The API sets things up and reports what the copier engine did.
How it works
- Connect your accounts.
POST /v1/accountswith the broker server, login and password. A MetaTrader terminal starts in our cloud and logs in, which takes two to three minutes. - Create a copier.
POST /v1/copierswith the master, the account whose trades should be copied. - Attach followers.
POST /v1/copiers/{copier_id}/followerswith each account that should copy the master, and the rules it copies with: lot sizing, symbols, trading sessions, stops. - Watch it copy. Each follower reports a live status, and every copied, skipped or failed trade is an entry in the copier's events.
curl https://api.algotradertools.com/v1/copiers \
-H "Authorization: Bearer $ATT_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "name": "Gold strategy", "master_id": "4f6c2a1e-8b3d-4e7a-9c5f-1d2e3a4b5c6d" }'Core concepts
Accounts and terminals
An account is one MetaTrader 4 or MetaTrader 5 broker account you have connected. Each one runs in its own terminal: a MetaTrader instance in our cloud that logs in with the password you give when you connect the account. The password is stored encrypted with that terminal, used only to log it in, and never shown again.
You connect an account with either of its passwords. The investor (read-only) password is enough for a master. A master's trades only need to be read, and nothing is ever traded on it. An account that receives copied trades needs its master (trading) password. That is MetaTrader's name for the trading password and has nothing to do with being a copier's master. Your plan decides how many accounts can be connected at once. See Accounts.
Copiers
A copier watches one master account and copies its trades to the copier's followers. You can pause and resume a copier as a whole. You can also have several copiers with the same master, for example one per group of followers. See Copiers.
Followers and rules
A follower is an account that copies one copier's master. Each follower has rules of its own: how lots are sized, the largest lot it trades, whether it trades in the opposite direction, which symbols it copies and at what times, and how its broker's symbol names map to the master's. An account is either a master or a follower, never both. See Followers.
The copier engine and follower status
The copier engine is the part of our cloud that does the copying. It watches every master's terminal and places the trades on the followers' terminals. For each follower it reports a status: whether the follower is copying, paused or needs attention, whether both terminals are connected, and how many copied trades are open. If a status is older than 60 seconds, the engine isn't reporting, and engine_online turns false.
Copy events
Every action the engine takes on a follower, or decides not to take, is a copy event: an open, a close, a partial close, a stop loss or take profit change, a skipped trade, or a copy recovered after a restart. Each event includes the terminal's reply and how long each step took. Events are kept for 90 days. See Copy events.
API conventions
| Topic | Convention |
|---|---|
| Base URL | https://api.algotradertools.com/v1 |
| Authentication | Authorization: Bearer att_… |
| Request bodies | JSON with Content-Type: application/json. A field the resource doesn't have is refused (unknown_field). Read-only fields such as id are ignored |
| Partial updates | PATCH changes only the fields you send |
| Errors | application/problem+json (RFC 9457) with a stable code |
| IDs | UUIDs for accounts, copiers and followers; integers for copy events |
| Timestamps | RFC 3339 in UTC, for example 2026-10-25T14:03:51.204Z |
| Booleans and enums | JSON booleans and lowercase strings |
| Numbers | Lot sizes, multipliers and slippage are JSON numbers |
| Pagination | Cursor-based, with limit (1–100, default 50) and cursor query parameters |
| Request IDs | X-Request-Id response header, also in error bodies |
| Rate limits | RateLimit-Policy and RateLimit response headers; Retry-After on 429 |
| Versioning | The major version is part of the path. Additive changes, such as new fields, endpoints or enum values, don't change it |
| Trailing slashes | None: /v1/copiers, not /v1/copiers/ |
Paging through lists and rate limits are covered in Limits and pagination, and request IDs in Authentication.
Next steps
Quickstart
Create a key, connect two accounts and start copying in a few requests.
Authentication
API keys, scopes, revoking keys and request IDs.
Accounts
Connecting MT4 and MT5 accounts, their status, figures and reconnecting.
Copiers
Creating, pausing, resuming and deleting copiers, and what gets copied.
Followers
Lot sizing, symbol filters and mapping, trading sessions and follower status.
Copy events
What the engine did on each follower, with timings and terminal replies.
Equity Guard
Floors, daily loss limits and profit targets, and how they pause followers, skip trades and close copies.
Errors
Problem details and every error code with what to do about it.
API reference
Every endpoint, parameter and response schema.