API de Fanta-Trade
Conecta tu programa o tu bot a tu cartera virtual: compra y vende, introduce órdenes y stop loss, consulta cartera y movimientos. Mismas reglas del juego, sin dinero real.
1. Crea una clave
Inicia sesión y ve a Perfil › API: ponle un nombre a la clave y cópiala enseguida, porque solo se muestra una vez. Puedes tener hasta 3 y revocarlas en cualquier momento.
2. Autenticación
Envía la clave en cada petición con la cabecera Authorization (o X-API-Key). Las respuestas son JSON: los datos en «data», los errores en «error» con un código y un mensaje.
curl -H "Authorization: Bearer ft_la_tua_chiave" https://www.fanta-trade.eu/api/v1/account Dirección base: https://www.fanta-trade.eu/api/v1 · importes y precios en euros, fechas en formato ISO 8601
3. Endpoints
GET /api/v1/account
Tu cuenta: liquidez, valor invertido, valor total, rentabilidad desde el inicio, número de posiciones y de órdenes pendientes.
Ejemplo de respuesta
{"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
Las posiciones abiertas con cantidad, precio medio de compra, último precio, valor, ganancia o pérdida y peso en la cartera.
Ejemplo de respuesta
{"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
Tus movimientos, del más reciente (como máximo 100 por petición).
Ejemplo de respuesta
{"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
Compra o vende al precio actual. Campos: symbol (formato Yahoo, p. ej. ENI.MI, AAPL), side (buy o 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 Ejemplo de respuesta
{"data":{"message":"…","transaction":{"id":902,"symbol":"ENI.MI","side":"buy","quantity":100.0,"price":15.48,"amount":1548.0}}}GET /api/v1/orders
Las órdenes pendientes. type vale buy_limit (compra si baja), buy_stop (compra si sube), stop_loss (vende si baja) o take_profit (vende si sube).
Ejemplo de respuesta
{"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
Introduce una orden «comprar a / vender a»: se ejecuta cuando el precio alcanza price (en euros). Una venta por debajo del precio actual es un stop loss, por encima una toma de beneficios. expiry: 1w, 1m (predeterminado) o 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 Ejemplo de respuesta
{"data":{"id":56,"symbol":"ENI.MI","side":"sell","type":"stop_loss","quantity":100.0,"price":14.5,"status":"open"}}DELETE /api/v1/orders/{id}
Cancela una orden pendiente.
curl -X DELETE -H "Authorization: Bearer ft_la_tua_chiave" https://www.fanta-trade.eu/api/v1/orders/56 Ejemplo de respuesta
{"data":{"id":56,"status":"cancelled"}}4. Errores
| HTTP | Código | Cuándo |
|---|---|---|
| 400 | invalid_symbol · invalid_side · invalid_quantity · invalid_price | Campos ausentes o no válidos. |
| 401 | unauthorized | Clave ausente, incorrecta o revocada. |
| 404 | not_found | Endpoint inexistente, u orden no encontrada o ya cerrada. |
| 422 | trade_rejected · order_rejected | La operación no respeta las reglas del juego (liquidez, límites, precio no disponible): el mensaje explica el motivo. |
| 429 | rate_limited · trade_limit · symbol_limit | Se ha superado uno de los límites de abajo. La cabecera Retry-After indica cuántos segundos esperar. |
5. Límites y uso correcto
- 30 peticiones por minuto y 1.000 al día por clave (las cabeceras X-RateLimit-* muestran cuántas quedan).
- 50 operaciones y órdenes al día, incluidas las rechazadas.
- Como máximo 10 valores distintos al día que no tengas ya en cartera sobre los que comprar, vender o introducir órdenes; con los que ya tienes puedes operar libremente.
- Se aplican todas las reglas del juego: liquidez disponible, peso máximo de un valor en la cartera, límite de volumen diario y como máximo 50 órdenes pendientes.
- La API solo da acceso a tu cuenta. No ofrece cotizaciones, búsquedas ni históricos: los precios solo aparecen para los valores que tienes y son los últimos registrados por Fanta-Trade, que pueden tener retraso.
- Está prohibido usar la API para recopilar o redistribuir datos de mercado: en caso de abuso las claves se revocan y la cuenta puede suspenderse.