Sample code for 30+ languages & platforms
Ruby

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