Sample code for 30+ languages & platforms
Go

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()