API de recherche de symbole boursier [fermé]

97

Existe-t-il une sorte d'API qui offre simplement un simple service de recherche de symboles? c'est à dire, entrez un nom de société et il vous indiquera le symbole boursier? J'ai essayé de faire un simple balayage d'écran de Google Finance, mais après un certain temps, le taux vous limite et vous devez entrer un CAPTCHA. J'essaye de rechercher par lots environ 2000 symboles de ticker. Des idées?

dancavallaro
la source
Pas plus de chance avec Yahoo Finance?
Noldorin
Vous devez ajouter un délai entre les recherches. Dites 5 secondes.
siamii
Ce script pourrait être utile: github.com/kevin91nl/scrape-ticker-symbols
www.data-blogger.com
J'ai fait une évaluation récente des API de trading disponibles. Strategic-options.com/insight/…
Chad
Celui-ci fait exactement ce que vous voulez et il est mis à jour quotidiennement rapidapi.com/logicione/api
Watt

Réponses:

104

Vous pouvez utiliser la recherche de symboles de Yahoo comme ceci:

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

Où la requête est le nom de l'entreprise.

Vous obtiendrez quelque chose comme ça en retour:

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"
            }
        ]
    }
}
)

Ce qui est JSON et très facile à utiliser.

Chut ... ne le dis à personne.

Jalmarez
la source
1
hey est-il possible d'utiliser des caractères sauvages dans la requête? essayé% et * mais pas de chance ...
NightWolf
2
cela renvoie un maximum de 10 résultats en JSON !!!! Comment pouvons-nous contourner cette limitation de SEULEMENT 10 résultats?
Sandy505
5
Depuis quelques jours, cette solution semble ne pas fonctionner. Yahoo nécessite désormais un paramètre "région" et le définir sur "US" ne fait aucune différence. Si quelqu'un a une solution de contournement, j'aimerais l'entendre!
wstr
6
semble avoir ajouté 2 paramètres supplémentaires, "region" et "lang". essayez ce qui suit d.yimg.com/autoc.finance.yahoo.com/…
lancegoh
2
Et maintenant, il ne prend plus en charge la recherche floue, il ne peut rechercher que le symbole "Exactement". :( Quelqu'un a-t-il la solution de contournement ou un paramètre caché pour activer la fonction de recherche floue?
Jonathan Chen
32

Google Finance vous permet de récupérer jusqu'à 100 cotations boursières à la fois à l'aide de l'URL suivante:

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

Par exemple:

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

Quelqu'un a déchiffré les champs disponibles ici:

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

Le prix actuel ("l") est en temps réel et le délai est comparable à celui de Yahoo Finance. Vous devez être conscient de quelques bizarreries. Une poignée de stocks nécessite un préfixe d'échange. Par exemple, si vous interrogez "BTIM", vous obtiendrez une erreur "Bad Request" mais "AMEX: BTIM" fonctionne. Quelques actions ne fonctionnent même pas avec le préfixe d'échange. Par exemple, les requêtes "FTWRD" et "NASDAQ: FTWRD" génèrent toutes deux des erreurs "Bad Request" même si Google Finance dispose d'informations sur ce stock NASDAQ.

Le champ «el», s'il est présent, vous indique le prix actuel avant commercialisation ou après les heures de bureau.

Aliphanie
la source
4
Malheureusement , il ressemble à l'API Google Finance est dépréciée et sera arrêté le 20 Octobre 2012 developers.google.com/finance
vegemite4me
2
Oui, jetez un œil et google finance est désormais obsolète et n'est plus ouvert aux affaires. Compte tenu des antécédents de Google en matière de fermeture des apis, j'hésiterais beaucoup à baser une entreprise ou une application dessus, à moins que vous n'ayez un contrat et un contrat avec eux
Shawn Vader
1
De nouveaux documents? Le service fonctionne toujours, vous cherchez aussi une recherche de stock :) comme Yahoo One
João Nunes
25

Vous pouvez envoyer une requête HTTP à http://finance.yahoo.com pour demander des symboles, des noms, des guillemets et toutes sortes d'autres données. Les données sont renvoyées au format .CSV afin que vous puissiez demander plusieurs symboles dans une seule requête.

Donc, si vous envoyez:

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

Vous obtiendrez quelque chose comme:

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

Voici un article intitulé Téléchargement de données Yahoo qui comprend les différentes balises utilisées pour demander les données.

Robert Cartaino
la source
1
Malheureusement, trouver le nom de l'entreprise à partir d'un symbole est facile. Je recherche un moyen d'automatiser une recherche par lots de symboles boursiers à partir d'une liste de noms d'entreprises. Google a de loin la meilleure recherche, je peux trouver le symbole de presque toutes les entreprises de ma liste sans avoir à rechercher manuellement, mais Google a une limitation de taux et vous donnera une erreur 503 après environ 1000 requêtes.
dancavallaro
pas une réponse, mais utile pour le domaine
kenny
semble que l'utilisation de l'API présente des problèmes juridiques. Lors de l'ouverture [Téléchargement de données Yahoo], on verra une note de Yahoo indiquant que l'utilisation de leur service de cette manière est illégale
Bogdan
1
Vous pouvez voir la même interface documentée sur jarloo.com/yahoo_finance . Ou recherchez l'original sur archive.org .
George
21

Le site NASDAQ héberge des listes CSV distinctes pour les symboles boursiers dans chaque bourse (NYSE, AMEX et NASDAQ). Vous devez terminer le captcha et obtenir le vidage CSV.

http://www.nasdaq.com/screening/company-list.aspx

Karthik
la source
9

Si vous ne vouliez pas vous inscrire à un service, je retournerais probablement aux échanges eux-mêmes; la plupart d'entre eux ne sont pas encore CAPTCHAed ...

La page de recherche de symboles pour:

etc...

Stobor
la source
2
Mieux encore, ignorez la recherche de symboles sur les sites d'échange - capturez simplement leurs listes complètes dans votre propre table locale et effectuez la recherche vous-même.
@John Pirie: Ouais, ça aussi ... :-)
Stobor
7

Utilisez YQL et vous n'avez pas à vous inquiéter. C'est un langage de requête de Yahoo et vous pouvez obtenir toutes les données boursières, y compris le nom de la société pour le ticker. C'est une API REST et elle renvoie les résultats via XML ou JSON. J'ai un tutoriel complet et le code source sur mon site, jetez un œil: http://www.jarloo.com/yahoo-stock-symbol-lookup/

Kelly
la source
Cela a l'air bien mais cela renvoie un résultat avec une limite de 10 résultats. Une chance d'en obtenir plus?
Timo
2

Google Finance a une API - vous devez probablement demander une clé de développeur, mais au moins vous vous épargneriez les tracas de la capture d'écran: http://code.google.com/apis/finance/reference.html

mat
la source
3
Google est maintenant déprécié et n'est plus ouvert aux affaires
Shawn Vader
1

Vos meilleurs paris vont probablement avec l'un des autres services de recherche (toujours à l'écran), et en vérifiant s'ils ne nécessitent pas de CAPTCHA.

Le dernier semble le moins susceptible de nécessiter un CAPTCHA à tout moment, mais cela vaut la peine de vérifier les trois.

Noldorin
la source
0

Utilisez YQL: un langage de type SQL pour récupérer des éléments depuis les API publiques: YQL Console (lien externe)

Cela vous donne un joli fichier XML avec lequel travailler!

Fabdrol
la source