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

Perl
use chilkat();

$success = 0;

#  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 == 0) {
    print $http->lastErrorText() . "\r\n";
    exit;
}

$json = chilkat::CkJsonObject->new();
$resp->GetBodyJson($json);

$statusCode = $resp->get_StatusCode();
print "response status code: " . $statusCode . "\r\n";

$json->put_EmitCompact(0);
print $json->emit() . "\r\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() . "\r\n";

}
else {
    print "Failed" . "\r\n";
}