Sample code for 30+ languages & platforms
Go 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 Go Downloads

Go
    success := false

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

    http := chilkat.NewHttp()

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

    req := chilkat.NewHttpRequest()

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

    req.SetHttpVerb("GET")

    //  Send the request to get the JSON response.
    resp := chilkat.NewHttpResponse()
    success = http.HttpReq(urlWithoutParams,req,resp)
    if success == false {
        fmt.Println(http.LastErrorText())
        http.DisposeHttp()
        req.DisposeHttpRequest()
        resp.DisposeHttpResponse()
        return
    }

    json := chilkat.NewJsonObject()
    resp.GetBodyJson(json)

    statusCode := resp.StatusCode()
    fmt.Println("response status code: ", statusCode)

    json.SetEmitCompact(false)
    fmt.Println(*json.Emit())

    //  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")

        fmt.Println(*json.Emit())

    } else {
        fmt.Println("Failed")
    }


    http.DisposeHttp()
    req.DisposeHttpRequest()
    resp.DisposeHttpResponse()
    json.DisposeJsonObject()