API per la ricerca dei simboli di borsa [chiusa]


97

Esiste un tipo di API che offre solo un semplice servizio di ricerca di simboli? cioè, inserisci il nome di una società e ti dirà il simbolo del ticker? Ho provato solo lo screen scraping di Google Finanza, ma dopo un po 'ti limita la velocità e devi inserire un CAPTCHA. Sto cercando di cercare in batch circa 2000 simboli ticker. Qualche idea?


Nessuna fortuna migliore con Yahoo Finance?
Noldorin

È necessario aggiungere un ritardo tra le ricerche. Pronuncia 5 secondi.
siamii


Ho fatto una recente valutazione delle API di trading disponibili. strategy-options.com/insight/…
Chad

Questo fa esattamente quello che vuoi ed è aggiornato quotidianamente rapidapi.com/logicione/api/…
Watt

Risposte:


104

Puoi usare la ricerca dei simboli di yahoo in questo modo:

http://d.yimg.com/autoc.finance.yahoo.com/autoc?query=yahoo&callback=YAHOO.Finance.SymbolSuggest.ssCallback

Dove query è il nome dell'azienda.

In cambio otterrai qualcosa di simile:

YAHOO.Finance.SymbolSuggest.ssCallback(
{
    "ResultSet": {
        "Query": "ya",
        "Result": [
            {
                "symbol": "YHOO",
                "name": "Yahoo! Inc.",
                "exch": "NMS",
                "type": "S",
                "exchDisp": "NASDAQ"
            },
            {
                "symbol": "AUY",
                "name": "Yamana Gold, Inc.",
                "exch": "NYQ",
                "type": "S",
                "exchDisp": "NYSE"
            },
            {
                "symbol": "YZC",
                "name": "Yanzhou Coal Mining Co. Ltd.",
                "exch": "NYQ",
                "type": "S",
                "exchDisp": "NYSE"
            },
            {
                "symbol": "YRI.TO",
                "name": "YAMANA GOLD INC COM NPV",
                "exch": "TOR",
                "type": "S",
                "exchDisp": "Toronto"
            },
            {
                "symbol": "8046.TW",
                "name": "NAN YA PRINTED CIR TWD10",
                "exch": "TAI",
                "type": "S",
                "exchDisp": "Taiwan"
            },
            {
                "symbol": "600319.SS",
                "name": "WEIFANG YAXING CHE 'A'CNY1",
                "exch": "SHH",
                "type": "S",
                "exchDisp": "Shanghai"
            },
            {
                "symbol": "1991.HK",
                "name": "TA YANG GROUP",
                "exch": "HKG",
                "type": "S",
                "exchDisp": "Hong Kong"
            },
            {
                "symbol": "1303.TW",
                "name": "NAN YA PLASTIC TWD10",
                "exch": "TAI",
                "type": "S",
                "exchDisp": "Taiwan"
            },
            {
                "symbol": "0294.HK",
                "name": "YANGTZEKIANG",
                "exch": "HKG",
                "type": "S",
                "exchDisp": "Hong Kong"
            },
            {
                "symbol": "YAVY",
                "name": "Yadkin Valley Financial Corp.",
                "exch": "NMS",
                "type": "S",
                "exchDisp": "NASDAQ"
            }
        ]
    }
}
)

Che è JSON e molto facile da lavorare.

Zitto ... non dirlo a nessuno.


1
hey è possibile utilizzare il carattere jolly nella query? provato% e * ma senza fortuna ...
NightWolf

2
questo restituisce un massimo di 10 risultati in JSON !!!! Come possiamo bypassare questa limitazione di SOLO 10 risultati?
Sandy505

5
Fino a pochi giorni fa, questa soluzione sembra essere rotta. Yahoo ora richiede un parametro "regione" e impostarlo su "USA" non fa alcuna differenza. Se qualcuno ha una soluzione alternativa, mi piacerebbe ascoltarla!
wstr

6
sembra che abbiano aggiunto 2 parametri aggiuntivi, "region" e "lang". prova il seguente d.yimg.com/autoc.finance.yahoo.com/…
lancegoh

2
E ora non supporta più la ricerca fuzzy, può solo cercare il simbolo "Esattamente". :( Qualcuno ha la soluzione alternativa o qualsiasi parametro nascosto per attivare la funzione di ricerca fuzzy?
Jonathan Chen

32

Google Finanza ti consente di recuperare fino a 100 quotazioni di borsa contemporaneamente utilizzando il seguente URL:

www.google.com/finance/info?infotype=infoquoteall&q=[ticker1[ticker2”,...,[tickern]

Per esempio:

www.google.com/finance/info?infotype=infoquoteall&q=C,JPM,AIG

Qualcuno ha decifrato i campi disponibili qui:

http://qsb-mac.googlecode.com/svn/trunk/Vermilion/Modules/StockQuoter/StockQuoter.py

Il prezzo corrente ("l") è in tempo reale e il ritardo è alla pari con Yahoo Finance. Ci sono alcune stranezze di cui dovresti essere a conoscenza. Una manciata di azioni richiede un prefisso di scambio. Ad esempio, se interroghi "BTIM", riceverai un errore "Bad Request" ma "AMEX: BTIM" funziona. Alcuni titoli non funzionano nemmeno con il prefisso di scambio. Ad esempio, l'interrogazione di "FTWRD" e "NASDAQ: FTWRD" genera entrambi errori di "richiesta non valida" anche se Google Finance dispone di informazioni per questo titolo NASDAQ.

Il campo "el", se presente, indica l'attuale prezzo pre-mercato o after-hour.



4
Purtroppo sembra che l'API di Google Finance sia obsoleta e verrà disattivata il 20 ottobre 2012 developers.google.com/finance
vegemite4me,

2
Sì, dare un'occhiata e Google Finance è ora deprecato e non aperto al mercato. Dato il track record di Google che chiude le API, sarei molto riluttante a basare un'attività o un'app su di esso a meno che tu non abbia un contratto e schiavo con loro
Shawn Vader

1
Eventuali nuovi documenti? Il servizio funziona ancora, sto cercando anche una ricerca di azioni :) come yahoo one
João Nunes

25

Puoi inviare una richiesta HTTP a http://finance.yahoo.com richiedendo simboli, nomi, virgolette e tutti i tipi di altri dati. I dati vengono restituiti come .CSV modo da poter richiedere più simboli in una query.

Quindi se invii:

http://finance.yahoo.com/d/quotes.csv?s=MSFT+F+ATT&f=sn

Riceverai qualcosa come:

"MSFT","Microsoft Corp"
"F","FORD MOTOR CO"
"ATT","AT&T"

Ecco un articolo chiamato Download dei dati di Yahoo che include i vari tag utilizzati per richiedere i dati.


1
Sfortunatamente, trovare il nome dell'azienda da un simbolo è facile. Sto cercando un modo per automatizzare una ricerca batch di simboli ticker da un elenco di nomi di società. Google ha di gran lunga la migliore ricerca, posso trovare il simbolo per quasi tutte le società nel mio elenco senza dover cercare manualmente, ma Google ha un limite di velocità e ti darà un errore 503 dopo circa 1000 richieste.
dancavallaro

non una risposta, ma utile per il dominio
kenny

sembra che l'utilizzo di API abbia problemi legali. Quando si apre [Download dei dati di Yahoo] si vedrà una nota di Yahoo che utilizza il loro servizio in quel modo è illegale
Bogdan,

1
Puoi vedere la stessa interfaccia documentata su jarloo.com/yahoo_finance . Oppure cerca l'originale su archive.org .
George,


9

Se non volessi iscriverti a un servizio, probabilmente tornerei agli scambi stessi; la maggior parte di loro non è ancora stata CAPTCHA ...

La pagina di ricerca dei simboli per:

eccetera...


2
Meglio ancora, salta la ricerca dei simboli nei siti di scambio: basta raschiare sullo schermo i loro elenchi completi nella tua tabella locale ed eseguire la ricerca da soli.

@ John Pirie: Sì, anche quello ... :-)
Stobor

7

Usa YQL e non devi preoccuparti. È un linguaggio di query di Yahoo e puoi ottenere tutti i dati di borsa incluso il nome della società per il ticker. È un'API REST e restituisce i risultati tramite XML o JSON. Ho un tutorial completo e il codice sorgente sul mio sito, dai un'occhiata: http://www.jarloo.com/yahoo-stock-symbol-lookup/


Sembra carino ma restituisce un risultato con un limite di 10 risultati. C'è qualche possibilità di ottenerne di più?
Timo



1

Le tue migliori scommesse probabilmente stanno andando con uno degli altri servizi di ricerca (ancora scraping dello schermo) e controllando se non richiedono CAPTCHA.

L'ultimo sembra il meno probabile che richieda un CAPTCHA in qualsiasi momento, ma vale la pena controllarli tutti e tre.



Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.