Google वित्त एपीआई के लिए वैकल्पिक [बंद]


430

मैं कंपनी के बारे में स्टॉक डेटा प्राप्त करने के लिए Google वित्त एपीआई का उपयोग करना चाहता था लेकिन यह एपीआई 2011/26/05 के बाद से पदावनत है।

वास्तविक समय में स्टॉक डेटा प्राप्त करने के लिए आप मुफ्त एपीआई के रूप में क्या उपयोग करते हैं?


1
एक और Google API है जिसका आप उपयोग कर सकते हैं। मैंने यहाँ प्रलेखित किया है: jarloo.com/real-time-google-stock-api
केली

11
एक सॉफ्टवेयर डेवलपर के रूप में, मैं अल्फा वैंटेज की सिफारिश करूंगा । वे realtime और ऐतिहासिक स्टॉक कोट्स के लिए मुफ्त JSON API प्रदान करते हैं। यहाँ MSFT के लिए उनका रियलटाइम इंट्राडे डेटा है। यहाँ उनके पूर्ण एपीआई प्रलेखन है। आपको एक एपीआई कुंजी की आवश्यकता है, जो उनकी वेबसाइट पर मुफ्त में प्राप्त की जा सकती है ।
स्टीव कारिनो

4
सितं, 2017 के रूप में, इस सवाल का संदर्भ लें: stackoverflow.com/questions/46070126/...
augustomen

2
अल्फा सहूलियत महान है। मैंने अभी इसके बारे में एक ब्लॉग पोस्ट लिखी है- दत्ता- रैंगलर.com/
एशले डेविस

आप इस एपी को भी आज़मा सकते हैं: free.currencyconverterapi.com/api/v5/…
Toe Pyae Sone Oo

जवाबों:


427

उत्तर को थोड़ा अपडेट कर रहा है

1. अल्फा सहूलियत एपीआई की कोशिश करो

शुरुआती के लिए आप क्वेरी से JSON आउटपुट प्राप्त करने का प्रयास कर सकते हैं जैसे कि

https://www.alphavantage.co/query?function=TIME_SERIES_DAILY&symbol=MSFT&apikey=demo

मत याहू वित्त एपीआई की कोशिश करो (यह अभी या अक्षम है)।

शुरुआती लोगों के लिए, आप एक साधारण एपीआई कॉल के साथ एक सीएसवी उत्पन्न कर सकते हैं:

http://finance.yahoo.com/d/quotes.csv?s=AAPL+GOOG+MSFT&f=sb2b3jk

(यह AAPL, GOOG और MSFT के लिए CSV को जनरेट और सेव करेगा)

ध्यान दें कि आपको क्वेरी स्ट्रिंग ( f=..) में प्रारूप को जोड़ना होगा । सभी प्रारूपों के अवलोकन के लिए इस पृष्ठ को देखें ।

अधिक उदाहरणों के लिए, इस पृष्ठ पर जाएं ।

के लिए XMLऔर JSONआधारित डेटा, आपको निम्न कर सकते हैं:

YQL (याहू क्वेरी भाषा) ** का उपयोग न करें

उदाहरण के लिए:

http://developer.yahoo.com/yql/console/?q=select%20*%20from%20yahoo.finance
.quotes%20where%20symbol%20in%20(%22YHOO%22%2C%22AAPL%22%2C%22GOOG%22%2C%22
MSFT%22)%0A%09%09&env=http%3A%2F%2Fdatatables.org%2Falltables.env

2. जाले का उपयोग करें

उदाहरण के लिए, सभी स्टॉक उद्धरण प्राप्त करने के लिए XML:

http://finance.yahoo.com/webservice/v1/symbols/allcurrencies/quote

सभी स्टॉक उद्धरण प्राप्त करने के लिए JSON, बस format=JSONURL के अंत में जोड़ें :

http://finance.yahoo.com/webservice/v1/symbols/allcurrencies/quote?format=json

विकल्प:

1. मुद्रा एपीआई

  • 165 + वास्तविक समय मुद्रा दरें, कुछ क्रिप्टो सहित। यहां डॉक्स ।

2. 2. वित्तीय वित्तीय एपीआई

  • लगभग 40 मुद्रा जोड़े के लिए वास्तविक समय की दरें यहां उपलब्ध हैं

3. वित्तीय सामग्री एपीआई

4. विनिमय दर खोलें

5. ओण्डा एपीआई

6. एक्सई एपीआई

7. Xignite API

8. करेंसी एपीआई

9. अन्य एपीआई - प्रोग्रामेबलवेब पर चर्चा की गई


2
यहाँ आप अब के लिए क्या कहा है ... gregnozik.blogspot.in/2011/09/yahoo-finance-api_23.html
AurA

7
यह ध्यान देने योग्य है कि याहू क्या है! शेयर की कीमतों को बाहर निकालने के बारे में कहें: "ऐसा प्रतीत होता है कि कुछ लोगों ने रिवर्स API को एक API के रूप में उपयोग किया है जो कि वे वित्त डेटा खींचने के लिए उपयोग करते हैं, लेकिन वे हमारी सेवा की शर्तों को तोड़ रहे हैं (वित्त डेटा का पुनर्वितरण नहीं) ... पुनर्वितरण की अनुमति केवल तभी है जब आप उपयोग कर रहे हों टीम ने जो बैज बनाए हैं: Finance.yahoo.com/badges । अन्यथा, आप PERSONAL USE " developer.yahoo.com/forum/General-Discussion-at-YDN/-
poshaughnessy के

3
सीएसवी को बचाने के बजाय ... क्या आप इसके बजाय JSON के रूप में डेटा हड़प सकते हैं?
उछलते

3
यह देखते हुए कि याहू के समापन बिंदु वास्तविक समय नहीं हैं , वे 15 मिनट की देरी कर रहे हैं (उदाहरण के लिए YQL में अंतिम LastTradeWithTime क्षेत्र देखें)
आर्टीर

37
याहू फाइनेंस एपीआई के मृत होने पर जवाब को अपडेट करने की जरूरत है।
विवेक विजयन

47

मैं देर से जा रहा हूं, लेकिन क्वैंडल की जांच करूंगा । उनके पास शेयर की कीमतों और फंडामेंटल के लिए एक एपीआई है

यहाँ एक उदाहरण कॉल है, सीएसवी में Quandl-api डाउनलोड का उपयोग करते हुए

उदाहरण:

https://www.quandl.com/api/v1/datasets/WIKI/AAPL.csv?column=4&sort_order=asc&collapse=quarterly&trim_start=2012-01-01&trim_end=2013-12-31

वे इन भाषाओं का समर्थन करते हैं । उनका स्रोत डेटा Yahoo वित्त, Google वित्त, NSE, BSE, FSE, HKEX, LSE, SSE, TSE और अधिक ( यहाँ देखें ) से आता है।


क्या आपके पास इस API (जैसे rsi) के साथ कुछ तकनीकी संकेतक हैं?
कीवा सेप

मुझे पता नहीं है। मैं वास्तव में क्वैंडल से संबद्ध नहीं हूं, मुझे सिर्फ इतना पता है कि यह डेटा प्राप्त करने का स्थान है।
user2023861

यह एक अच्छा विकल्प लगता है, लेकिन क्या आप यहां लाइव स्टॉक डेटा प्राप्त कर सकते हैं? लगता है जैसे सबसे कम समय सीमा दैनिक डेटा है?
ट्रेवर

8
Quandl के माध्यम से लाइव स्टॉक डेटा उपलब्ध नहीं है - मैंने इसे आज़माया है।
ब्रायन गुडविन

2
Quandl के पास अपने WIKI डेटासेट में बहुत सारे स्टॉक गायब हैं।
जेरेमी होलोवक्स

16

मैं TradeKing के डेवलपर API का उपयोग करने का सुझाव दूंगा । यह बहुत अच्छा है और उपयोग करने के लिए स्वतंत्र है। बस इतना ही आवश्यक है कि आपका उनके साथ एक खाता हो और मेरी जानकारी के लिए आपको एक बैलेंस न रखना हो ... केवल पंजीकृत होना है।


2
और उस खाते को बनाना इतना "मज़ेदार" है कि मैंने 10 मिनट के बाद रद्द कर दिया ...
inselberg

2
अगर मैं पूछ सकता हूँ, तो इसके बारे में "मज़ेदार" क्या था? क्या आप इस तथ्य का जिक्र कर रहे हैं कि वे कुछ संवेदनशील व्यक्तिगत जानकारी मांगते हैं? कोई भी ऑनलाइन स्टॉक ब्रोकर उसी जानकारी के लिए पूछेगा ... यह असामान्य कुछ भी नहीं है।
ट्रेन

11
SIN, जन्मतिथि, विवाह की स्थिति, आश्रितों, ...? गंभीरता से? मैं सिर्फ परीक्षण के लिए एपीआई कॉल करना चाहता हूं
डैनियल बी

अन्य एपिस जो मुझे मिल रहे हैं, वे उद्धरण और सहयोगी हैं।
दीपन प्रभु बाबू

7

मैंने शीर्ष उत्तर का पालन किया और याहू वित्त को देखना शुरू किया। उनके एपीआई को कई अलग-अलग तरीकों से एक्सेस किया जा सकता है, लेकिन मुझे यहां CSV के रूप में स्टॉक की जानकारी प्राप्त करने के लिए एक अच्छा संदर्भ मिला: http://www.jarloo.com/

उसी का उपयोग करते हुए मैंने यह स्क्रिप्ट लिखी। मैं वास्तव में एक माणिक आदमी नहीं हूं, लेकिन यह आपको कुछ एक साथ हैक करने में मदद कर सकता है। मैं अभी तक सभी फ़ील्ड्स के लिए वैरिएबल नामों के साथ नहीं आया हूं, जिन पर आप ऑफ़र करते हैं, इसलिए यदि आप उन्हें ज़रूरत है तो आप उन्हें भर सकते हैं।

यहाँ उपयोग है

TICKERS_SP500 = "GICS,CIK,MMM,ABT,ABBV,ACN,ACE,ACT,ADBE,ADT,AES,AET,AFL,AMG,A,GAS,APD,ARG,AKAM,AA,ALXN,ATI,ALLE,ADS,ALL,ALTR,MO,AMZN,AEE,AAL,AEP,AXP,AIG,AMT,AMP,ABC,AME,AMGN,APH,APC,ADI,AON,APA,AIV,AAPL,AMAT,ADM,AIZ,T,ADSK,ADP,AN,AZO,AVGO,AVB,AVY,BHI,BLL,BAC,BK,BCR,BAX,BBT,BDX,BBBY,BBY,BIIB,BLK,HRB,BA,BWA,BXP,BSX,BMY,BRCM,BFB,CHRW,CA,CVC,COG,CAM,CPB,COF,CAH,HSIC,KMX,CCL,CAT,CBG,CBS,CELG,CNP,CTL,CERN,CF,SCHW,CHK,CVX,CMG,CB,CI,XEC,CINF,CTAS,CSCO,C,CTXS,CLX,CME,CMS,COH,KO,CCE,CTSH,CL,CMA,CSC,CAG,COP,CNX,ED,STZ,GLW,COST,CCI,CSX,CMI,CVS,DHI,DHR,DRI,DVA,DE,DLPH,DAL,XRAY,DVN,DO,DTV,DFS,DG,DLTR,D,DOV,DOW,DPS,DTE,DD,DUK,DNB,ETFC,EMN,ETN,EBAY,ECL,EIX,EW,EA,EMC,EMR,ENDP,ESV,ETR,EOG,EQT,EFX,EQIX,EQR,ESS,EL,ES,EXC,EXPE,EXPD,ESRX,XOM,FFIV,FB,FDO,FAST,FDX,FIS,FITB,FSLR,FE,FISV,FLIR,FLS,FLR,FMC,FTI,F,FOSL,BEN,FCX,FTR,GME,GCI,GPS,GRMN,GD,GE,GGP,GIS,GM,GPC,GNW,GILD,GS,GT,GOOG,GWW,HAL,HBI,HOG,HAR,HRS,HIG,HAS,HCA,HCP,HCN,HP,HES,HPQ,HD,HON,HRL,HSP,HST,HCBK,HUM,HBAN,ITW,IR,TEG,INTC,ICE,IBM,IP,IPG,IFF,INTU,ISRG,IVZ,IRM,JEC,JNJ,JCI,JOY,JPM,JNPR,KSU,K,KEY,GMCR,KMB,KIM,KMI,KLAC,KSS,KRFT,KR,LB,LLL,LH,LRCX,LM,LEG,LEN,LVLT,LUK,LLY,LNC,LLTC,LMT,L,LO,LOW,LYB,MTB,MAC,M,MNK,MRO,MPC,MAR,MMC,MLM,MAS,MA,MAT,MKC,MCD,MHFI,MCK,MJN,MWV,MDT,MRK,MET,KORS,MCHP,MU,MSFT,MHK,TAP,MDLZ,MON,MNST,MCO,MS,MOS,MSI,MUR,MYL,NDAQ,NOV,NAVI,NTAP,NFLX,NWL,NFX,NEM,NWSA,NEE,NLSN,NKE,NI,NE,NBL,JWN,NSC,NTRS,NOC,NRG,NUE,NVDA,ORLY,OXY,OMC,OKE,ORCL,OI,PCAR,PLL,PH,PDCO,PAYX,PNR,PBCT,POM,PEP,PKI,PRGO,PFE,PCG,PM,PSX,PNW,PXD,PBI,PCL,PNC,RL,PPG,PPL,PX,PCP,PCLN,PFG,PG,PGR,PLD,PRU,PEG,PSA,PHM,PVH,QEP,PWR,QCOM,DGX,RRC,RTN,RHT,REGN,RF,RSG,RAI,RHI,ROK,COL,ROP,ROST,RCL,R,CRM,SNDK,SCG,SLB,SNI,STX,SEE,SRE,SHW,SIAL,SPG,SWKS,SLG,SJM,SNA,SO,LUV,SWN,SE,STJ,SWK,SPLS,SBUX,HOT,STT,SRCL,SYK,STI,SYMC,SYY,TROW,TGT,TEL,TE,THC,TDC,TSO,TXN,TXT,HSY,TRV,TMO,TIF,TWX,TWC,TJX,TMK,TSS,TSCO,RIG,TRIP,FOXA,TSN,TYC,USB,UA,UNP,UNH,UPS,URI,UTX,UHS,UNM,URBN,VFC,VLO,VAR,VTR,VRSN,VZ,VRTX,VIAB,V,VNO,VMC,WMT,WBA,DIS,WM,WAT,ANTM,WFC,WDC,WU,WY,WHR,WFM,WMB,WIN,WEC,WYN,WYNN,XEL,XRX,XLNX,XL,XYL,YHOO,YUM,ZMH,ZION,ZTS,SAIC,AP"

AllData = loadStockInfo(TICKERS_SP500, allParameters())

SpecificData = loadStockInfo("GOOG,CIK", "ask,dps")

loadStockInfo एक हैश लौटाता है, जैसे कि SpecificData ["GOOG"] ["नाम"] "Google Inc." है

अंत में, चलाने के लिए वास्तविक कोड ...

require 'net/http'

# Jack Franzen & Garin Bedian
# Based on http://www.jarloo.com/yahoo_finance/

$parametersData = Hash[[

    ["symbol", ["s", "Symbol"]],
    ["ask", ["a", "Ask"]],
    ["divYield", ["y", "Dividend Yield"]],
    ["bid", ["b", "Bid"]],
    ["dps", ["d", "Dividend per Share"]],
    #["noname", ["b2", "Ask (Realtime)"]],
    #["noname", ["r1", "Dividend Pay Date"]],
    #["noname", ["b3", "Bid (Realtime)"]],
    #["noname", ["q", "Ex-Dividend Date"]],
    #["noname", ["p", "Previous Close"]],
    #["noname", ["o", "Open"]],
    #["noname", ["c1", "Change"]],
    #["noname", ["d1", "Last Trade Date"]],
    #["noname", ["c", "Change & Percent Change"]],
    #["noname", ["d2", "Trade Date"]],
    #["noname", ["c6", "Change (Realtime)"]],
    #["noname", ["t1", "Last Trade Time"]],
    #["noname", ["k2", "Change Percent (Realtime)"]],
    #["noname", ["p2", "Change in Percent"]],
    #["noname", ["c8", "After Hours Change (Realtime)"]],
    #["noname", ["m5", "Change From 200 Day Moving Average"]],
    #["noname", ["c3", "Commission"]],
    #["noname", ["m6", "Percent Change From 200 Day Moving Average"]],
    #["noname", ["g", "Day’s Low"]],
    #["noname", ["m7", "Change From 50 Day Moving Average"]],
    #["noname", ["h", "Day’s High"]],
    #["noname", ["m8", "Percent Change From 50 Day Moving Average"]],
    #["noname", ["k1", "Last Trade (Realtime) With Time"]],
    #["noname", ["m3", "50 Day Moving Average"]],
    #["noname", ["l", "Last Trade (With Time)"]],
    #["noname", ["m4", "200 Day Moving Average"]],
    #["noname", ["l1", "Last Trade (Price Only)"]],
    #["noname", ["t8", "1 yr Target Price"]],
    #["noname", ["w1", "Day’s Value Change"]],
    #["noname", ["g1", "Holdings Gain Percent"]],
    #["noname", ["w4", "Day’s Value Change (Realtime)"]],
    #["noname", ["g3", "Annualized Gain"]],
    #["noname", ["p1", "Price Paid"]],
    #["noname", ["g4", "Holdings Gain"]],
    #["noname", ["m", "Day’s Range"]],
    #["noname", ["g5", "Holdings Gain Percent (Realtime)"]],
    #["noname", ["m2", "Day’s Range (Realtime)"]],
    #["noname", ["g6", "Holdings Gain (Realtime)"]],
    #["noname", ["k", "52 Week High"]],
    #["noname", ["v", "More Info"]],
    #["noname", ["j", "52 week Low"]],
    #["noname", ["j1", "Market Capitalization"]],
    #["noname", ["j5", "Change From 52 Week Low"]],
    #["noname", ["j3", "Market Cap (Realtime)"]],
    #["noname", ["k4", "Change From 52 week High"]],
    #["noname", ["f6", "Float Shares"]],
    #["noname", ["j6", "Percent Change From 52 week Low"]],
    ["name", ["n", "Company Name"]],
    #["noname", ["k5", "Percent Change From 52 week High"]],
    #["noname", ["n4", "Notes"]],
    #["noname", ["w", "52 week Range"]],
    #["noname", ["s1", "Shares Owned"]],
    #["noname", ["x", "Stock Exchange"]],
    #["noname", ["j2", "Shares Outstanding"]],
    #["noname", ["v", "Volume"]],
    #["noname", ["a5", "Ask Size"]],
    #["noname", ["b6", "Bid Size"]],
    #["noname", ["k3", "Last Trade Size"]],
    #["noname", ["t7", "Ticker Trend"]],
    #["noname", ["a2", "Average Daily Volume"]],
    #["noname", ["t6", "Trade Links"]],
    #["noname", ["i5", "Order Book (Realtime)"]],
    #["noname", ["l2", "High Limit"]],
    #["noname", ["e", "Earnings per Share"]],
    #["noname", ["l3", "Low Limit"]],
    #["noname", ["e7", "EPS Estimate Current Year"]],
    #["noname", ["v1", "Holdings Value"]],
    #["noname", ["e8", "EPS Estimate Next Year"]],
    #["noname", ["v7", "Holdings Value (Realtime)"]],
    #["noname", ["e9", "EPS Estimate Next Quarter"]],
    #["noname", ["s6", "evenue"]],
    #["noname", ["b4", "Book Value"]],
    #["noname", ["j4", "EBITDA"]],
    #["noname", ["p5", "Price / Sales"]],
    #["noname", ["p6", "Price / Book"]],
    #["noname", ["r", "P/E Ratio"]],
    #["noname", ["r2", "P/E Ratio (Realtime)"]],
    #["noname", ["r5", "PEG Ratio"]],
    #["noname", ["r6", "Price / EPS Estimate Current Year"]],
    #["noname", ["r7", "Price / EPS Estimate Next Year"]],
    #["noname", ["s7", "Short Ratio"]

]]

def replaceCommas(data)
    s = ""
    inQuote = false
    data.split("").each do |a|
        if a=='"'
            inQuote = !inQuote
            s += '"'
        elsif !inQuote && a == ","
            s += "#"
        else
            s += a
        end
    end
    return s
end

def allParameters()
    s = ""
    $parametersData.keys.each do |i|
        s  = s + i + ","
    end
    return s
end

def prepareParameters(parametersText)
    pt = parametersText.split(",")
    if !pt.include? 'symbol'; pt.push("symbol"); end;
    if !pt.include? 'name'; pt.push("name"); end;
    p = []
    pt.each do |i|
        p.push([i, $parametersData[i][0]])
    end
    return p
end

def prepareURL(tickers, parameters)
    urlParameters = ""
    parameters.each do |i|
        urlParameters += i[1]
    end
    s = "http://download.finance.yahoo.com/d/quotes.csv?"
    s = s + "s=" + tickers + "&"
    s = s + "f=" + urlParameters
    return URI(s)
end

def loadStockInfo(tickers, parametersRaw)
    parameters = prepareParameters(parametersRaw)
    url = prepareURL(tickers, parameters)
    data = Net::HTTP.get(url)
    data = replaceCommas(data)
    h = CSVtoObject(data, parameters)
    logStockObjects(h, true)
end

#parse csv
def printCodes(substring, length)

    a = data.index(substring)
    b = data.byteslice(a, 10)
    puts "printing codes of string: "
    puts b
    puts b.split('').map(&:ord).to_s
end

def CSVtoObject(data, parameters)
    rawData = []
    lineBreaks = data.split(10.chr)
    lineBreaks.each_index do |i|
        rawData.push(lineBreaks[i].split("#"))
    end

    #puts "Found " + rawData.length.to_s + " Stocks"
    #puts "   w/ " + rawData[0].length.to_s + " Fields"

    h = Hash.new("MainHash")
    rawData.each_index do |i|
        o = Hash.new("StockObject"+i.to_s)
        #puts "parsing object" + rawData[i][0]
        rawData[i].each_index do |n|
            #puts "parsing parameter" + n.to_s + " " +parameters[n][0]
            o[ parameters[n][0] ] = rawData[i][n].gsub!(/^\"|\"?$/, '')
        end
        h[o["symbol"]] = o;
    end
    return h
end

def logStockObjects(h, concise)
    h.keys.each do |i|
        if concise
            puts "(" + h[i]["symbol"] + ")\t\t" + h[i]["name"]
        else
            puts ""
            puts h[i]["name"]
            h[i].keys.each do |p|
                puts "    " + $parametersData[p][1] + " : " + h[i][p].to_s
            end
        end
    end
end

1
यह वास्तव में उपयोगी है, काश मैं आपको अधिक वोट दे पाता। त्वरित प्रश्न - क्या आपने इस एपीआई को विश्वसनीय पाया है, और क्या उद्धरण वास्तव में वास्तविक हैं? मुझे पता है कि याहू की कुछ जानकारी में देरी हुई है, और यह आपके द्वारा उपयोग किए जाने वाले विशेष एपीआई पर निर्भर करता है।
हंडले

मैंने एक दोस्त की मदद करने के लिए ऐसा किया और मुझे लगता है कि यह उसके लिए अच्छा काम कर रहा है। जानकारी बहुत तेज़ है, मुझे लगता है कि अगर वे सही तरीके से याद करते हैं तो वे इसे हर 10/15 मिनट में अपडेट करते हैं।
जैक फ्रेंजन

1
C # संस्करण और ट्यूटोरियल यहां है: jarloo.com/yahoo_finance
Kelly

हाँ, उस आदमी को स्पष्ट रूप से पता है कि स्टॉक की जानकारी कैसे प्राप्त करनी है। उसके पास पिछले 2 महीनों से अन्य ट्यूटोरियल हैं जो दावा करते हैं कि आप अभी भी Google से वास्तविक समय स्टॉक डेटा प्राप्त कर सकते हैं
जैक फ्रेंज़िन

6

यदि आप अभी भी अपने डेटा के लिए Google वित्त का उपयोग करना चाह रहे हैं, तो आप इसे देख सकते हैं।

मुझे हाल ही में परीक्षण करने की आवश्यकता है कि क्या एसजीएक्स डेटा वास्तव में Google वित्त के माध्यम से पुनर्प्राप्ति योग्य है (और निश्चित रूप से मैं आपके साथ एक ही समस्या से मिला था)


मैंने इससे पहले 'JSON Quote API' देखा है। यह उपकरण बहुत ही आशाजनक लगता है। मैं यह भी सिफारिश करूंगा
ASH
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.