Skip to content
Scrappa Get API key

Get Complete Stock Quote

Google Finance stock quote API

Fetch complete Google Finance quote data as JSON

This endpoint is for developers who need Google Finance quote API documentation, stock quote data as JSON, or a ticker enrichment endpoint for dashboards, portfolio tools, research workflows, watchlists, and market monitoring products.

Use the Google Finance quote API when you need a single ticker-level response for a stock, ETF, or other Google Finance instrument. The endpoint returns current price fields, market status, previous close, day range, year range, market cap, P/E ratio, dividend yield, company profile details, financial statement rows, related news, and discovery tickers as structured JSON.

This page is built for developers comparing stock quote APIs, finance quote JSON endpoints, and Google Finance data extraction workflows. Start with Search Financial Instruments when you only know a company name, then call this quote endpoint with the resolved symbol and exchange. Pair quote data with Historical Data for backtests, Intraday Graph Data for charting, and Markets Overview for broader market context.

Run this endpoint

Get Complete Stock Quote 1 credit/request

Endpoint

GET https://scrappa.co/api/google-finance/quote?symbol=AAPL&exchange=NASDAQ
Request preview GET
https://scrappa.co/api/google-finance/quote?symbol=AAPL&exchange=NASDAQ
Auth header x-api-key
Cost 1 credit/request
symbol = AAPL
Response preview 200 OK
{
    "quote": {
        "summary": {
            "name": "Apple Inc",
            "symbol": "AAPL",
            "exchange": "NASDAQ",
            "current_price": "255.78",
            "price_change": "-5.95",
            "percent_change": "-2.27%",
            "currency": "USD",
            "market": {
                "trading": "Closed",
                "price": "255.30",
                "extracted_price": 255.3,
...

Parameters

Start with the required fields, then add optional filters only when your use case needs them.

Runnable path

1 required parameter needed before sending a request.

4 optional filters available.

symbol string Required

Stock symbol (e.g., AAPL)

Example value AAPL
exchange string Optional

Exchange code (e.g., NASDAQ). If not provided, the API will attempt to auto-resolve via an internal search. This adds latency and may fail for less common symbols.

Example value NASDAQ
period_type string Optional

Filter financials by period: quarterly or annual (default: returns visible data, typically quarterly)

Example value example
hl string Optional

Language code (default: en)

Example value en
gl string Optional

Country code (default: us)

Example value us

Request Examples

<?php

$curl = curl_init();

curl_setopt_array($curl, [
    CURLOPT_URL => "https://scrappa.co/api/google-finance/quote?symbol=AAPL&exchange=NASDAQ",
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => "",
    CURLOPT_MAXREDIRS => 10,
    CURLOPT_TIMEOUT => 30,
    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
    CURLOPT_CUSTOMREQUEST => "GET",
    CURLOPT_HTTPHEADER => [
        "x-api-key: YOUR_API_KEY_HERE"
    ],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
    echo "cURL Error #:" . $err;
} else {
    echo $response;
}
<?php

use Illuminate\Support\Facades\Http;

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

if ($response->successful()) {
    echo $response->body();
} else {
    echo "Error: " . $response->status();
}
const options = {
    method: 'GET',
    headers: {
        'x-api-key': 'YOUR_API_KEY_HERE'
    }
};

fetch('https://scrappa.co/api/google-finance/quote?symbol=AAPL&exchange=NASDAQ', options)
    .then(response => {
        if (!response.ok) {
            throw new Error(`HTTP error! status: ${response.status}`);
        }
        return response.text();
    })
    .then(data => console.log(data))
    .catch(error => console.error('Error:', error));
const axios = require('axios');

const options = {
    method: 'GET',
    url: 'https://scrappa.co/api/google-finance/quote?symbol=AAPL&exchange=NASDAQ',
    headers: {
        x-api-key: 'YOUR_API_KEY_HERE',
    }
};

try {
    const response = await axios(options);
    console.log(response.data);
} catch (error) {
    console.error('Error:', error.message);
}
require 'net/http'
require 'uri'

uri = URI.parse("https://scrappa.co/api/google-finance/quote?symbol=AAPL&exchange=NASDAQ")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == 'https'

request = Net::HTTP::Get.new(uri.request_uri)
request['x-api-key'] = 'YOUR_API_KEY_HERE'

begin
    response = http.request(request)
    puts response.body
rescue => e
    puts "Error: #{e.message}"
end
import http.client
import json

conn = http.client.HTTPSConnection("scrappa.co")

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

try:
    conn.request("GET", "/api/google-finance/quote?symbol=AAPL&exchange=NASDAQ", headers=headers)
    res = conn.getresponse()
    data = res.read()
    print(data.decode("utf-8"))
except Exception as e:
    print(f"Error: {e}")
finally:
    conn.close()
import requests

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

try:
    response = requests.get('https://scrappa.co/api/google-finance/quote?symbol=AAPL&exchange=NASDAQ', headers=headers)
    response.raise_for_status()
    print(response.text)
except requests.exceptions.RequestException as e:
    print(f"Error: {e}")
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
import java.io.IOException;

public class ApiExample {
    public static void main(String[] args) {
        OkHttpClient client = new OkHttpClient();

        Request request = new Request.Builder()
            .url("https://scrappa.co/api/google-finance/quote?symbol=AAPL&exchange=NASDAQ")
        .addHeader("x-api-key", "YOUR_API_KEY_HERE")
            .build();

        try (Response response = client.newCall(request).execute()) {
            if (response.isSuccessful()) {
                System.out.println(response.body().string());
            } else {
                System.out.println("Error: " + response.code());
            }
        } catch (IOException e) {
            System.out.println("Error: " + e.getMessage());
        }
    }
}
package main

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

func main() {
    client := &http.Client{}
    req, err := http.NewRequest("GET", "https://scrappa.co/api/google-finance/quote?symbol=AAPL&exchange=NASDAQ", nil)
    if err != nil {
        fmt.Println("Error creating request:", err)
        return
    }
    req.Header.Set("x-api-key", "YOUR_API_KEY_HERE")

    resp, err := client.Do(req)
    if err != nil {
        fmt.Println("Error making request:", err)
        return
    }
    defer resp.Body.Close()

    body, err := ioutil.ReadAll(resp.Body)
    if err != nil {
        fmt.Println("Error reading response:", err)
        return
    }

    fmt.Println(string(body))
}
#!/bin/bash

curl -X GET \
    -H "x-api-key: YOUR_API_KEY_HERE" \
    "https://scrappa.co/api/google-finance/quote?symbol=AAPL&exchange=NASDAQ"
using System;
using System.Net.Http;
using System.Threading.Tasks;

class Program
{
    static async Task Main()
    {
        using var client = new HttpClient();
        client.DefaultRequestHeaders.Add("x-api-key", "YOUR_API_KEY_HERE");

        try
        {
            var response = await client.SendAsync(new HttpRequestMessage(HttpMethod.Get, "https://scrappa.co/api/google-finance/quote?symbol=AAPL&exchange=NASDAQ"));
            var content = await response.Content.ReadAsStringAsync();
            Console.WriteLine(content);
        }
        catch (Exception ex)
        {
            Console.WriteLine($"Error: {ex.Message}");
        }
    }
}
import axios from 'axios';

async function run(): Promise<void> {
    try {
        const response = await axios({
            method: 'GET',
            url: 'https://scrappa.co/api/google-finance/quote?symbol=AAPL&exchange=NASDAQ',
            headers: {
        'x-api-key': 'YOUR_API_KEY_HERE',
            },
        });

        console.log(response.data);
    } catch (error) {
        console.error('Error:', error);
    }
}

void run();
use reqwest::Client;

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let client = Client::new();

    let response = client
        .get("https://scrappa.co/api/google-finance/quote?symbol=AAPL&exchange=NASDAQ")
        .header("x-api-key", "YOUR_API_KEY_HERE")
        .send()
        .await?;

    println!("{}", response.text().await?);

    Ok(())
}

Response Schema

JSON Response
200 OK
{
    "quote": {
        "summary": {
            "name": "Apple Inc",
            "symbol": "AAPL",
            "exchange": "NASDAQ",
            "current_price": "255.78",
            "price_change": "-5.95",
            "percent_change": "-2.27%",
            "currency": "USD",
            "market": {
                "trading": "Closed",
                "price": "255.30",
                "extracted_price": 255.3,
                "price_movement": {
                    "percentage": 0.19,
                    "movement": "Up"
                }
            },
            "extensions": [
                "Closed: Feb 13, 8:00:00 PM UTC-5",
                "USD",
                "NASDAQ"
            ]
        },
        "key_stats": {
            "previous_close": "$261.73",
            "day_range": "$255.45 - $262.23",
            "year_range": "$169.21 - $288.61",
            "market_cap": "3.76T USD",
            "avg_volume": "53.72M",
            "pe_ratio": "32.36",
            "dividend_yield": "0.41%",
            "primary_exchange": "NASDAQ",
            "climate_change": {
                "score": "A",
                "link": "https://cdp.net/..."
            },
            "stats": [],
            "tags": []
        },
        "about": {
            "description": "Apple Inc. is an American multinational technology company...",
            "ceo": "Tim Cook",
            "founded": "Apr 1, 1976",
            "headquarters": "Cupertino, California",
            "employees": "166,000",
            "website": null,
            "info": []
        },
        "financials": [
            {
                "title": "Income Statement",
                "results": [
                    {
                        "date": "Dec 2025",
                        "period_type": "Quarterly",
                        "table": [
                            {
                                "title": "Revenue",
                                "description": "The total amount...",
                                "value": "143.76B",
                                "change": "15.65%"
                            },
                            {
                                "title": "Net income",
                                "description": "Company earnings...",
                                "value": "42.10B",
                                "change": "15.87%"
                            }
                        ]
                    }
                ]
            }
        ],
        "news": [
            {
                "title": "Here's Why Apple (AAPL) is a Great Momentum Stock to Buy",
                "link": "https://www.nasdaq.com/...",
                "source": "Nasdaq",
                "date": "1 day ago",
                "iso_date": "2025-02-13T12:00:00+00:00",
                "thumbnail": "https://..."
            }
        ],
        "discover_more": [
            {
                "title": "You may be interested in",
                "items": [
                    {
                        "stock": "AMZN:NASDAQ",
                        "name": "Amazon.com Inc",
                        "price": "$198.79",
                        "extracted_price": 198.79,
                        "currency": "USD",
                        "price_movement": {
                            "percentage": 0.41,
                            "movement": "Up"
                        }
                    }
                ]
            }
        ]
    }
}

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.

Related Endpoints

Google Finance API FAQ

Answers for developers evaluating Google Finance quote data, stock market data APIs, and ticker enrichment workflows.

What does the Google Finance quote API return?

The quote endpoint returns structured JSON for a ticker, including current price fields, market status, key statistics, company profile data, financial statement rows, recent news, and related ticker suggestions when Google Finance exposes them.

When should I use quote instead of historical or intraday data?

Use the quote endpoint for the latest ticker profile and summary data. Use the historical endpoint for daily price and volume history, and the intraday endpoint when your application needs minute-level graph points.

Do I need the exchange code for a stock quote request?

Passing the exchange code, such as NASDAQ for AAPL, is recommended because it avoids ambiguity and reduces lookup latency. If you only know a company name or symbol, use Search Financial Instruments first.

Try It Live

Test this endpoint in our interactive playground with real data.