Sample code for 30+ languages & platforms
Ruby Requires Chilkat v11.4.0+

Finnhub API - Get Stock Quote

See more AI Examples

Demonstrates how to get a stock quote from the Finnhub API.

Chilkat Ruby Downloads

Ruby
require 'chilkat'

success = false

#  Replace with your actual Finnhub API key.
apiKey = "YOUR_FINNHUB_API_KEY"
symbol = "AAPL"

http = Chilkat::CkHttp.new()

#  This is the URL without params.
urlWithoutParams = "https://finnhub.io/api/v1/quote"

req = Chilkat::CkHttpRequest.new()

#  Add params that will be sent in the URL.
req.AddParam("symbol",symbol)
req.AddParam("token",apiKey)

req.put_HttpVerb("GET")

#  Send the request to get the JSON response.
resp = Chilkat::CkHttpResponse.new()
success = http.HttpReq(urlWithoutParams,req,resp)
if (success == false)
    print http.lastErrorText() + "\n";
    exit
end

json = Chilkat::CkJsonObject.new()
resp.GetBodyJson(json)

statusCode = resp.get_StatusCode()
print "response status code: " + statusCode.to_s() + "\n";

json.put_EmitCompact(false)
print json.emit() + "\n";

#  Sample result:

#  {
#    "c": 248.8,
#    "d": -4.09,
#    "dp": -1.6173,
#    "h": 255.493,
#    "l": 248.07,
#    "o": 253.9,
#    "pc": 252.89,
#    "t": 1774641600
#  }

if (statusCode == 200)
    #  Add the symbol to the top of the result.
    json.AddStringAt(0,"symbol",symbol)

    #  Rename members for clarification.
    json.Rename("c","currentPrice")
    json.Rename("d","change")
    json.Rename("dp","percentChange")
    json.Rename("h","high")
    json.Rename("l","low")
    json.Rename("o","open")
    json.Rename("pc","prevClose")
    json.Rename("t","unixTime")

    print json.emit() + "\n";

else
    print "Failed" + "\n";
end