API de pesquisa de símbolo de cotação de ações [fechada]


97

Existe algum tipo de API que apenas oferece um serviço de pesquisa de símbolo simples? ou seja, insira o nome de uma empresa e ele mostrará o símbolo de ação? Eu tentei apenas capturar a tela do Google Finance, mas depois de um tempo a taxa limita você e você precisa inserir um CAPTCHA. Estou tentando pesquisar em lote cerca de 2.000 símbolos de ação. Alguma ideia?


Não teve melhor sorte com o Yahoo Finance?
Noldorin

Você precisa adicionar um atraso entre as pesquisas. Diga 5 segundos.
siamii


Eu fiz uma avaliação recente das APIs de negociação disponíveis. estratégico
options.com

Este faz exatamente o que você quer e é atualizado diariamente rapidapi.com/logicione/api/…
Watt

Respostas:


104

Você pode usar a pesquisa de símbolo do yahoo assim:

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

Onde consulta é o nome da empresa.

Você receberá algo assim em troca:

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

Que é JSON e é muito fácil de trabalhar.

Silêncio ... não diga a ninguém.


1
hey é possível usar wild char na consulta? tentei% e * mas sem sorte ...
NightWolf de

2
isso retorna no máximo 10 resultados em JSON !!!! Como podemos contornar esta limitação de APENAS 10 resultados ??
Sandy505

5
Há alguns dias, essa solução parece estar quebrada. O Yahoo agora requer um parâmetro "região", e defini-lo como "US" não faz nenhuma diferença. Se alguém tiver uma solução alternativa, eu adoraria ouvi-la!
wstr

6
parece que eles adicionaram 2 parâmetros adicionais, "region" e "lang". tente o seguinte d.yimg.com/autoc.finance.yahoo.com/…
lancegoh

2
E agora ele não suporta mais pesquisa difusa, ele pode apenas pesquisar o símbolo "Exatamente". :( Alguém tem a solução alternativa ou algum parâmetro oculto para ativar o recurso de pesquisa difusa?
Jonathan Chen

32

O Google Finance permite que você recupere até 100 cotações de ações de uma só vez usando o seguinte URL:

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

Por exemplo:

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

Alguém decifrou os campos disponíveis aqui:

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

O preço atual ("l") é em tempo real e o atraso está no mesmo nível do Yahoo Finance. Existem algumas peculiaridades que você deve conhecer. Um punhado de ações exige um prefixo de troca. Por exemplo, se você consultar "BTIM", receberá um erro de "Solicitação inválida", mas "AMEX: BTIM" funciona. Algumas ações não funcionam mesmo com o prefixo de câmbio. Por exemplo, consultar "FTWRD" e "NASDAQ: FTWRD" gera erros de "Solicitação inválida", embora o Google Finance tenha informações para esse estoque NASDAQ.

O campo "el", se presente, informa o preço atual de pré-mercado ou pós-venda.



4
Infelizmente, parece que a API do Google Finance está obsoleta e será encerrada em 20 de outubro de 2012 developers.google.com/finance
vegemite4me

2
Sim, dê uma olhada e o Google Finance agora está depreciado e não está aberto para negócios. Dado o histórico de fechamento de apis do Google, ficaria muito hesitante em basear um negócio ou aplicativo nele, a menos que você tivesse um contrato e um acordo com eles
Shawn Vader

1
Quaisquer novos documentos? O serviço ainda funciona, Procuro também uma pesquisa de estoque :) like yahoo one
João Nunes

25

Você pode enviar uma solicitação HTTP para http://finance.yahoo.com solicitando símbolos, nomes, citações e todos os tipos de outros dados. Os dados são retornados como .CSV para que você possa solicitar vários símbolos em uma consulta.

Então, se você enviar:

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

Você receberá de volta algo como:

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

Aqui está um artigo chamado Downloading Yahoo Data, que inclui as várias tags usadas para solicitar os dados.


1
Infelizmente, é fácil encontrar o nome da empresa em um símbolo. Estou procurando uma maneira de automatizar uma pesquisa em lote de símbolos de ação em uma lista de nomes de empresas. O Google tem de longe a melhor pesquisa, posso encontrar o símbolo para quase todas as empresas da minha lista sem ter que pesquisar manualmente, mas o Google tem limitação de taxa e apresentará um erro 503 após cerca de 1000 solicitações.
dancavallaro

não é uma resposta, mas útil para o domínio
kenny

parece que o uso da API tem problemas legais. Ao abrir o [Downloading Yahoo Data], verá uma nota do Yahoo de que usar seu serviço dessa forma é ilegal
Bogdan

1
Você pode ver a mesma interface documentada em jarloo.com/yahoo_finance . Ou pesquise o original em archive.org .
George,


9

Se você não quisesse se inscrever em um serviço, provavelmente voltaria às próprias bolsas; a maioria deles não está com CAPTCHA ainda ...

A página de pesquisa de símbolo para:

etc ...


2
Melhor ainda, pule a pesquisa de símbolo nos sites de troca - basta inserir na tela suas listagens completas em sua própria mesa local e fazer a pesquisa você mesmo.

@John Pirie: Sim, isso também ... :-)
Stobor

7

Use YQL e você não precisa se preocupar. É uma linguagem de consulta do Yahoo e você pode obter todos os dados do estoque, incluindo o nome da empresa para o ticker. É uma API REST e retorna os resultados via XML ou JSON. Eu tenho um tutorial completo e o código-fonte em meu site, dê uma olhada: http://www.jarloo.com/yahoo-stock-symbol-lookup/


Parece bom, mas retorna um resultado com um limite de 10 resultados. Alguma chance de conseguir mais?
Timo



1

Provavelmente, suas melhores opções serão usar um dos outros serviços de pesquisa (ainda captura de tela) e verificar se eles não exigem CAPTCHAs.

O último parece ser o menos provável de exigir um CAPTCHA a qualquer momento, mas vale a pena verificar todos os três.



Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.