Programiści

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

HTTPKodKiedy
400invalid_symbol · invalid_side · invalid_quantity · invalid_priceBrakujące lub nieprawidłowe pola.
401unauthorizedBrakujący, błędny lub odwołany klucz.
404not_foundNieznany endpoint lub zlecenie nie znalezione albo już zamknięte.
422trade_rejected · order_rejectedOperacja narusza zasady gry (gotówka, limity, brak ceny): komunikat wyjaśnia powód.
429rate_limited · trade_limit · symbol_limitPrzekroczono 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.