Get Historical Data

Get historical price and volume data for a financial instrument. Supports various time ranges from 1 day to maximum available, or custom date ranges with configurable intervals.

Endpoint

GET /api/google-finance/historical

Generate Code with AI

Copy a ready-made prompt with all the endpoint details, parameters, and example responses. Paste it into ChatGPT, Claude, or any AI assistant to instantly generate working code.

Parameters

symbol string Required

Stock symbol (e.g., AAPL)

exchange string Optional

Exchange code (e.g., NASDAQ)

range integer Optional

Time range: 1=1d, 2=5d, 3=1m, 4=6m, 5=YTD, 6=1y, 7=5y, 8=max (default: 6)

start_date string Optional

Start date for custom range (YYYY-MM-DD)

end_date string Optional

End date for custom range (YYYY-MM-DD)

interval string Optional

Data interval: daily, weekly, monthly (default: daily)

hl string Optional

Language code (default: en)

gl string Optional

Country code (default: us)

Request Examples

<?php

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, 'https://scrappa.co/api/google-finance/historical?symbol=AAPL&exchange=NASDAQ&range=6');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'x-api-key: YOUR_API_KEY_HERE',
]);

$response = curl_exec($ch);
curl_close($ch);

echo $response;
<?php

use Illuminate\Support\Facades\Http;

$response = Http::withHeaders([
    'x-api-key' => 'YOUR_API_KEY_HERE',
])->get('https://scrappa.co/api/google-finance/historical?symbol=AAPL&exchange=NASDAQ&range=6');

return $response->json();
fetch('https://scrappa.co/api/google-finance/historical?symbol=AAPL&exchange=NASDAQ&range=6', {
  headers: {
    'x-api-key': 'YOUR_API_KEY_HERE'
  }
})
  .then(response => response.json())
  .then(data => console.log(data))
  .catch(error => console.error('Error:', error));
const axios = require('axios');

axios.get('https://scrappa.co/api/google-finance/historical?symbol=AAPL&exchange=NASDAQ&range=6', {
  headers: {
    'x-api-key': 'YOUR_API_KEY_HERE'
  }
})
  .then(response => console.log(response.data))
  .catch(error => console.error('Error:', error));
import requests

headers = {
    'x-api-key': 'YOUR_API_KEY_HERE'
}

response = requests.get('https://scrappa.co/api/google-finance/historical?symbol=AAPL&exchange=NASDAQ&range=6', headers=headers)
print(response.json())
require 'net/http'
require 'uri'
require 'json'

uri = URI.parse('https://scrappa.co/api/google-finance/historical?symbol=AAPL&exchange=NASDAQ&range=6')
request = Net::HTTP::Get.new(uri)
request['x-api-key'] = 'YOUR_API_KEY_HERE'

response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == 'https') do |http|
  http.request(request)
end

puts JSON.parse(response.body)
package main

import (
    "fmt"
    "io/ioutil"
    "net/http"
)

func main() {
    client := &http.Client{}
    req, _ := http.NewRequest("GET", "https://scrappa.co/api/google-finance/historical?symbol=AAPL&exchange=NASDAQ&range=6", nil)
    req.Header.Set("x-api-key", "YOUR_API_KEY_HERE")

    resp, err := client.Do(req)
    if err != nil {
        panic(err)
    }
    defer resp.Body.Close()

    body, _ := ioutil.ReadAll(resp.Body)
    fmt.Println(string(body))
}
curl -X GET 'https://scrappa.co/api/google-finance/historical?symbol=AAPL&exchange=NASDAQ&range=6' \
  -H 'x-api-key: YOUR_API_KEY_HERE'

Response Schema

JSON Response 200 OK
{
    "symbol": "AAPL",
    "exchange": "NASDAQ",
    "currency": "USD",
    "previous_close": 275.5,
    "prices": [
        {
            "date": 1739480400,
            "close": 241.53,
            "change": 0,
            "percent_change": 0,
            "volume": 53614054
        }
    ]
}

Try It Live

Test this endpoint in our interactive playground with real data.

Open in Playground