API Fanta-Trade
Połącz swój program lub bota z wirtualnym portfelem: kupuj i sprzedawaj, składaj zlecenia i stop loss, odczytuj portfel i ruchy. Te same zasady gry, bez prawdziwych pieniędzy.
1. Utwórz klucz
Zaloguj się i przejdź do Profil › API: nazwij klucz i od razu go skopiuj, bo jest pokazywany tylko raz. Możesz mieć do 3 kluczy i w każdej chwili je odwołać.
2. Uwierzytelnianie
Wysyłaj klucz w każdym żądaniu w nagłówku Authorization (lub X-API-Key). Odpowiedzi są w JSON: dane w «data», błędy w «error» z kodem i komunikatem.
curl -H "Authorization: Bearer ft_la_tua_chiave" https://www.fanta-trade.eu/api/v1/account Adres bazowy: https://www.fanta-trade.eu/api/v1 · kwoty i ceny w euro, daty w formacie ISO 8601
3. Endpointy
GET /api/v1/account
Twoje konto: gotówka, wartość zainwestowana, wartość całkowita, zwrot od początku, liczba pozycji i oczekujących zleceń.
Przykładowa odpowiedź
{"data":{"id":42,"name":"Marco Rossi","currency":"EUR","cash":22226.49,"invested":77870.2,"total":100096.69,"performance_pct":0.1,"positions":8,"open_orders":2,"starting_capital":100000.0}}GET /api/v1/portfolio
Otwarte pozycje z ilością, średnią ceną zakupu, ostatnią ceną, wartością, zyskiem lub stratą i udziałem w portfelu.
Przykładowa odpowiedź
{"data":{"currency":"EUR","cash":22226.49,"total":100096.69,"positions":[{"symbol":"ENI.MI","name":"Eni","quantity":400.0,"avg_price":15.12,"price":15.48,"currency":"EUR","value":6192.0,"pl":144.0,"pl_pct":2.38,"weight_pct":6.19}]}}GET /api/v1/transactions?limit=50&offset=0
Twoje ruchy, od najnowszego (maksymalnie 100 na żądanie).
Przykładowa odpowiedź
{"data":{"total":37,"limit":50,"offset":0,"items":[{"id":901,"date":"2026-10-14T10:02:11+02:00","symbol":"ENI.MI","name":"Eni","side":"buy","quantity":100.0,"price":15.48,"currency":"EUR","amount":1548.0,"realized_pl":null,"cash_after":22226.49}]}}POST /api/v1/trades
Kup lub sprzedaj po bieżącej cenie. Pola: symbol (format Yahoo, np. ENI.MI, AAPL), side (buy lub sell), quantity.
curl -X POST -H "Authorization: Bearer ft_la_tua_chiave" -H "Content-Type: application/json" \
-d '{"symbol":"ENI.MI","side":"buy","quantity":100}' https://www.fanta-trade.eu/api/v1/trades Przykładowa odpowiedź
{"data":{"message":"…","transaction":{"id":902,"symbol":"ENI.MI","side":"buy","quantity":100.0,"price":15.48,"amount":1548.0}}}GET /api/v1/orders
Oczekujące zlecenia. type to buy_limit (kup, jeśli spadnie), buy_stop (kup, jeśli wzrośnie), stop_loss (sprzedaj, jeśli spadnie) lub take_profit (sprzedaj, jeśli wzrośnie).
Przykładowa odpowiedź
{"data":[{"id":55,"symbol":"ENI.MI","side":"sell","type":"stop_loss","quantity":100.0,"price":14.5,"currency":"EUR","status":"open","created_at":"…","expires_at":"…"}]}POST /api/v1/orders
Składa zlecenie «kup po / sprzedaj po»: wykonuje się, gdy cena osiągnie price (w euro). Sprzedaż poniżej bieżącej ceny to stop loss, powyżej realizacja zysku. expiry: 1w, 1m (domyślnie) lub 3m.
curl -X POST -H "Authorization: Bearer ft_la_tua_chiave" -H "Content-Type: application/json" \
-d '{"symbol":"ENI.MI","side":"sell","quantity":100,"price":14.50,"expiry":"1m"}' https://www.fanta-trade.eu/api/v1/orders Przykładowa odpowiedź
{"data":{"id":56,"symbol":"ENI.MI","side":"sell","type":"stop_loss","quantity":100.0,"price":14.5,"status":"open"}}DELETE /api/v1/orders/{id}
Anuluje oczekujące zlecenie.
curl -X DELETE -H "Authorization: Bearer ft_la_tua_chiave" https://www.fanta-trade.eu/api/v1/orders/56 Przykładowa odpowiedź
{"data":{"id":56,"status":"cancelled"}}4. Błędy
| HTTP | Kod | Kiedy |
|---|---|---|
| 400 | invalid_symbol · invalid_side · invalid_quantity · invalid_price | Brakujące lub nieprawidłowe pola. |
| 401 | unauthorized | Brakujący, błędny lub odwołany klucz. |
| 404 | not_found | Nieznany endpoint lub zlecenie nie znalezione albo już zamknięte. |
| 422 | trade_rejected · order_rejected | Operacja narusza zasady gry (gotówka, limity, brak ceny): komunikat wyjaśnia powód. |
| 429 | rate_limited · trade_limit · symbol_limit | Przekroczono jeden z poniższych limitów. Nagłówek Retry-After mówi, ile sekund odczekać. |
5. Limity i właściwe użycie
- 30 żądań na minutę i 1 000 dziennie na klucz (nagłówki X-RateLimit-* pokazują, ile zostało).
- 50 transakcji i zleceń dziennie, łącznie z odrzuconymi.
- Maksymalnie 10 różnych instrumentów dziennie, których jeszcze nie posiadasz, do kupna, sprzedaży lub zleceń; instrumentami w portfelu możesz obracać swobodnie.
- Obowiązują wszystkie zasady gry: dostępna gotówka, maksymalny udział instrumentu w portfelu, dzienny limit wolumenu i maksymalnie 50 oczekujących zleceń.
- API daje dostęp tylko do twojego konta. Nie udostępnia notowań, wyszukiwań ani historii: ceny pojawiają się tylko dla posiadanych instrumentów i są ostatnimi zapisanymi przez Fanta-Trade, mogą być opóźnione.
- Zabronione jest używanie API do zbierania lub redystrybucji danych rynkowych: w razie nadużycia klucze są odwoływane, a konto może zostać zawieszone.