Search code examples
phpjsonfile-get-contentsgoogle-finance

Get Stock Price with PHP & JSON Decode on Google FInance


I am trying to retreive the current stock price from Google Finance:

http://finance.google.com/finance/info?client=ig&q=AAPL

How can I extract just the price ("1")?

<?php 
$string = file_get_contents("http://finance.google.com/finance/info?client=ig&q=AAPL");
$json = json_decode($string, true);
$price = $json["1"];
echo $price;
?>

Solution

  • the json returned is commented out, therefore json_decode() won't do the business... you need to remove the double slashes - I used explode() like this:

    <?php
    $string = file_get_contents("http://finance.google.com/finance/info?client=ig&q=AAPL");
    $arrMatches = explode('// ', $string); // get uncommented json string
    $arrJson = json_decode($arrMatches[1], true)[0]; // decode json
    $price = $assJson["l"];
    echo $price;
    

    oh, and the key is a lowercase L (l) not a numeric one (1) in the json