L'API Schwab per i trader: copertura e limiti
La Schwab Trader API è l'erede della Developer API di TD Ameritrade. Dà agli sviluppatori accesso programmatico ai dati del conto Schwab, ai dati di mercato e all'invio di ordini per i mercati USA, tramite un'interfaccia REST con autenticazione OAuth 2.0. Questa guida spiega cosa supporta l'API, a chi si adatta e cosa risolvere prima di costruire. Solo supporto alla pianificazione, nessuna consulenza di trading; nessuna garanzia su broker o dati.
- La Schwab Trader API copre azioni USA, ETF, opzioni incluse strategie a più gambe e opzioni su indici; futures, forex e azioni non USA sono fuori dalla copertura.
- L'autenticazione usa OAuth 2.0 a tre vie con token di accesso di circa 30 minuti e token di refresh di 7 giorni.
- Esiste un ambiente sandbox con conti sintetici per i test pre-produzione; il sandbox non funziona come conto di paper trading.
Cos'è la Schwab Trader API?
La Schwab Trader API è l'API REST di Schwab per l'accesso programmatico a dati di mercato, dati del conto e instradamento degli ordini. Ha sostituito la Developer API di TD Ameritrade dopo l'acquisizione di TD Ameritrade da parte di Schwab, e l'API TDA è ora del tutto dismessa. Se sei arrivato qui cercando proprio la vecchia API TDA, la cronologia, la data di chiusura e il percorso di migrazione sono spiegati per intero in /resources/articles/td-ameritrade-api-shut-down-what-replaced-it.
Se avevi costruito sull'API TDA, la Schwab Trader API è la destinazione della migrazione. Gli schemi di fondo sono simili: endpoint REST, risposte JSON, OAuth 2.0, ma i percorsi degli endpoint e alcuni comportamenti sono cambiati. La specifica attuale si trova su developer.schwab.com.
Per un confronto più ampio delle API dei broker per i flussi di trading tecnico, vedi /resources/articles/ibkr-vs-alpaca-vs-tradier-for-technical-traders-api-stack-fit-checklist. Per il dettaglio di quanto costa la Schwab Trader API rispetto agli abbonamenti ai dati IBKR e ai livelli di dati di Alpaca, vedi /resources/articles/schwab-api-cost-vs-ibkr-alpaca-retail-traders.
Quali strumenti e tipi di ordine supporta la Schwab API?
La Schwab Trader API supporta il trading di azioni USA, ETF, opzioni (incluse strategie a più gambe: spread verticali, straddle, butterfly) e opzioni su indici. Futures, forex, crypto, obbligazioni e azioni non USA non si possono negoziare tramite l'API: un ordine sui futures restituisce HTTP 400. Esistono alcuni dati di quotazione in streaming limitati e non documentati per certi strumenti futures, ma non c'è instradamento di ordini sui futures né dati di barre storiche sui futures.
Tipi di ordine supportati: a mercato, limite, stop, stop-limit, trailing stop, OCO (uno cancella l'altro), OTO (uno attiva l'altro) e composito (uno attiva un OCO). Le combinazioni di opzioni a più gambe con OCO/OTO sono segnalate come sperimentali nella community degli sviluppatori: valida con una connessione reale al broker prima di costruirci attorno la logica di produzione.
I simboli delle opzioni usano il formato OSI di 21 caratteri, ad esempio: AAPL 240419C00150000. Conferma la gestione del formato dei simboli prima di scrivere il codice della pipeline di dati.
| Strumento | Trading via API | Quotazioni in streaming | Barre storiche |
|---|---|---|---|
| Azioni USA | Sì | Sì (L1 + L2) | Sì |
| ETF | Sì | Sì (L1 + L2) | Sì |
| Opzioni (incl. più gambe) | Sì | Sì | No |
| Opzioni su indici | Sì | Sì | No |
| Futures | No, HTTP 400 | Limitate/non documentate | No |
| Forex / Crypto | No | No | No |
| Azioni non USA | No | No | No |
Come funziona l'autenticazione della Schwab Trader API?
L'autenticazione usa un flusso OAuth 2.0 a tre vie. La tua app reindirizza l'utente a una pagina di autorizzazione di Schwab, l'utente concede l'accesso e la tua app scambia il codice di autorizzazione con dei token.
I token di accesso durano circa 30 minuti. I token di refresh durano circa 7 giorni. Un token di refresh non usato scade e richiede un nuovo passaggio di autorizzazione da parte dell'utente. Qualsiasi flusso che gira senza supervisione durante un weekend richiede una logica attiva di refresh dei token.
Registra la tua applicazione e recupera client ID, client secret e redirect URI su developer.schwab.com. Tieni le credenziali fuori dal controllo di versione.
La Schwab API ha un sandbox?
Sì. È disponibile un ambiente sandbox con conti e dati sintetici. Usa le stesse credenziali della produzione ma si collega a un URL di base diverso.
Il sandbox è un ambiente di test con dati sintetici e non funziona come conto di paper trading. Nella Schwab Trader API non esiste una modalità di paper trading: l'API si collega solo a conti reali. Usa il sandbox per validare autenticazione, logica di refresh dei token e struttura dei dati prima di collegarti a un conto reale.
Cosa copre lo streaming WebSocket?
L'API supporta lo streaming WebSocket per i dati in tempo reale. Lo streaming copre quotazioni Level 1 e Level 2 (NYSE/NASDAQ) per azioni ed ETF, quotazioni delle opzioni e time and sales. Esiste uno streaming non documentato delle quotazioni sui futures che non fa parte della superficie ufficiale dell'API.
Per i limiti di frequenza e la copertura delle quotazioni fuori orario, consulta la documentazione aggiornata per sviluppatori di Schwab su developer.schwab.com.
A chi si adatta la Schwab Trader API?
La Schwab Trader API si adatta a trader tecnici e sviluppatori che operano su azioni USA, ETF e opzioni con conti Schwab. È un percorso di migrazione naturale dalla Developer API di TD Ameritrade.
| Adatta | Non adatta |
|---|---|
| Azioni USA, ETF, opzioni su Schwab | Trader multi-asset che hanno bisogno di futures, forex o mercati non USA |
| Chi migra dall'API di TD Ameritrade | Flussi che richiedono la modalità paper trading |
| REST/OAuth standard con sandbox | Serve l'instradamento di ordini sui futures |
| Conto retail, focus sul mercato USA | Requisiti istituzionali o di borse globali |
L'accesso individuale non è un'approvazione commerciale
Registrarsi su developer.schwab.com e testare sul proprio conto è accesso individuale. Offrire un'applicazione che collega i conti di altri clienti Schwab è un passaggio separato: richiede un'approvazione commerciale, una revisione che valuta il tuo caso d'uso, se gli utenti mantengono il controllo diretto sull'invio degli ordini e qualsiasi funzione automatica o basata sull'AI, il tutto rispetto al modello di trading retail autogestito di Schwab.
Se prevedi di distribuire un prodotto sopra la Trader API, definisci presto l'ambito di quella revisione. Per cosa valuta e come prepararsi, vedi /resources/articles/schwab-trader-api-commercial-approval-what-the-review-evaluates. Per lo schema di progettazione in sola lettura che si adatta al modello autogestito, vedi /resources/articles/read-only-schwab-api-apps-self-directed-model.
Prima di costruire: checklist
Esegui questi controlli prima di scrivere il codice di integrazione.
- Registra la tua applicazione su developer.schwab.com. Raccogli client ID, client secret e redirect URI.
- Conferma che il tipo di conto sia idoneo all'API: controlla nella documentazione aggiornata per sviluppatori di Schwab i tipi di conto idonei.
- Testa l'autenticazione da cima a fondo nel sandbox. Conferma che il refresh del token funzioni al limite dei 30 minuti prima di collegarti a un conto reale.
- Associa ogni strumento al formato dei simboli di Schwab. Le opzioni usano il formato OSI di 21 caratteri: conferma che il tuo parser lo gestisca correttamente.
- Verifica quali strumenti ti servono rispetto all'ambito di trading descritto sopra. L'instradamento di ordini sui futures non è disponibile.
- Definisci le esigenze di barre storiche: solo azioni ed ETF, a intervalli giornalieri, da 1, 5, 10, 15 e 30 minuti. Lo storico a un minuto ha una profondità di circa 30-35 giorni.
- Per la profondità dello storico delle transazioni e i dettagli sulle rettifiche per split e dividendi, controlla la documentazione aggiornata per sviluppatori di Schwab prima di costruire logiche che ne dipendono.
- Per alternative a IBKR o un confronto più ampio dello stack di API, vedi /resources/articles/ibkr-vs-alpaca-vs-tradier-for-technical-traders-api-stack-fit-checklist.
- Per un supporto di consulenza nel definire un flusso Schwab da costruire, vedi /consulting.
Domande frequenti
- La Schwab API è gratuita?
- Schwab non pubblica un prezzo per la sua Trader API. Servono un conto di brokeraggio Schwab e un'app per sviluppatori approvata. In MyLinedChart accedi con la tua app per sviluppatori Schwab e l'accesso resta sul tuo dispositivo.
- La Schwab Trader API è la stessa della Developer API di TD Ameritrade?
- No. La Schwab Trader API è la sua erede. L'API TDA è ora del tutto dismessa. Autenticazione e percorsi degli endpoint differiscono; le integrazioni TDA esistenti vanno migrate. La specifica attuale è su developer.schwab.com.
- La Schwab API supporta il paper trading?
- No. La Schwab Trader API si collega solo a conti reali. Il sandbox è un ambiente di test con dati sintetici per validare autenticazione, logica dei token e struttura dei dati, e non funziona come conto di paper trading.
- Quali strumenti posso negoziare tramite la Schwab Trader API?
- Azioni USA, ETF, opzioni incluse strategie a più gambe e opzioni su indici. Futures, forex, crypto, obbligazioni e azioni non USA non si possono negoziare. Un ordine sui futures restituisce HTTP 400. Esistono alcuni dati di quotazione in streaming non documentati sui futures, ma non c'è instradamento di ordini né accesso a barre storiche per i futures.
- Come si confronta la Schwab API con IBKR per il trading tecnico?
- Schwab copre azioni USA, ETF e opzioni con una configurazione OAuth 2.0 più semplice e un sandbox. IBKR copre un universo di strumenti più ampio a livello globale, inclusi i futures. Per un confronto dettagliato, vedi /resources/articles/ibkr-vs-schwab-api-technical-traders.
- Mi serve un'approvazione commerciale per usare la Schwab Trader API?
- Costruire e testare sul proprio conto richiede solo l'accesso individuale. L'approvazione commerciale è una revisione separata, necessaria prima di poter offrire un'applicazione che collega i conti di altri clienti Schwab. Vedi /resources/articles/schwab-trader-api-commercial-approval-what-the-review-evaluates.
Prova MyLinedChart
MyLinedChart conserva disegni, note e valori degli indicatori come dati che puoi esportare, rivedere e riutilizzare.
Scopri MyLinedChart