Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.
get_api_artifactsOne API's artifacts, grouped by type.
get_openapiThe primary OpenAPI for this API.
find_similar_apisAPIs that look like this one.
apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
resolveTurn a domain, URL or GitHub org into the provider it belongs to.
find_cohortsEvery scored population of providers in the catalog.
All 92 tools
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/socialcrawl-google-finance-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no email required.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: SocialCrawl Google Finance API
version: 1.0.0
description: 'Unified social media data API - one API key, one consistent response format, 50 platforms, 400 endpoints. Power AI agents with clean social data.
Slim variant: inline examples removed and the shared error responses hoisted into components. The full annotated spec is at https://www.socialcrawl.dev/openapi.json.'
contact:
name: SocialCrawl
url: https://www.socialcrawl.dev
email: support@socialcrawl.dev
servers:
- url: https://www.socialcrawl.dev/v1
description: Production
security:
- ApiKeyAuth: []
tags:
- name: google_finance
description: Google_finance endpoints
paths:
/google_finance/quote:
get:
summary: Get a financial instrument quote
description: 'Returns ONE rich, unified Quote for a financial instrument keyed by its `keyword` (`TICKER:EXCHANGE` for stocks/ETFs/indices, e.g. ''GOOGL:NASDAQ'' / ''VOO:NYSEARCA'' / ''.INX:INDEXSP'', or a forex/crypto pair, e.g. ''EUR-USD'' / ''BTC-USD''). A single call bundles the live price + intraday graph, fundamentals (market cap, P/E, dividend yield, 52-week range, volumes), the company profile (CEO, founded, HQ, employees), quarterly + annual financials (equities), and peer instruments: all on ONE canonical shape across stocks, ETFs, indices, crypto, and forex, distinguished by `quote.type`. Forex/crypto pairs populate `quote.pair` (base/quote symbols) and have a null `ticker`. Get the exact `keyword` from /v1/google_finance/ticker-search. Sourced live from DataForSEO''s Google Finance SERP (~5-10s).'
tags:
- google_finance
operationId: get_google_finance_quote
security:
- ApiKeyAuth: []
x-credit-tier: advanced
x-credit-cost: 5
parameters:
- name: keyword
in: query
required: true
description: 'Instrument identifier: TICKER:EXCHANGE for stocks/ETFs/indices (''GOOGL:NASDAQ'', ''.INX:INDEXSP'') or a forex/crypto pair (''EUR-USD'', ''BTC-USD''). Use the `id` returned by ticker-search.'
schema:
type: string
- name: language
in: query
required: false
description: Language as a DFS name ('English') or 2-letter code ('en'). Defaults to English.
schema:
type: string
- name: location
in: query
required: false
description: Location as a DFS name ('United States') or numeric code ('2840'). Defaults to the US.
schema:
type: string
- name: Cache-Control
in: header
required: false
description: Send `no-cache` to bypass the response cache and force a live fetch. Billed at the normal endpoint cost; the fresh result is written back to cache for the next caller. Only the `no-cache` directive triggers this. See the Response Schema guide for details.
schema:
type: string
- name: Idempotency-Key
in: header
required: false
description: 'Optional UUID that makes the request safely retriable. A replay keeps the cached payload immutable except for billing metadata: `credits_used` becomes 0, `idempotent_replay` becomes true, and `credits_remaining` is refreshed to the current balance. A known current balance appears in both the body and `X-Credits-Remaining` header; no balance row resolves to 0. On a transient lookup failure, body `credits_remaining` is null and `X-Credits-Remaining` is omitted. Scoped per account with a 24-hour TTL.'
schema:
type: string
responses:
'200':
description: Successful response
headers:
X-Credits-Used:
description: Net credits charged for this response. Idempotency replays report 0.
schema:
type: integer
minimum: 0
X-Credits-Remaining:
description: Current balance when known. On an idempotency replay, this header is omitted when the balance lookup fails; body `credits_remaining` is null instead.
schema:
type: integer
minimum: 0
X-Idempotent-Replay:
description: Present with value `true` only when this response replays a settled idempotency record.
schema:
type: string
enum:
- 'true'
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
description: Whether the request succeeded
platform:
type: string
description: Platform name
endpoint:
type: string
description: API endpoint path
data:
type: object
description: Platform-specific response data
properties:
id:
type: string
description: 'Instrument identifier: re-feed into /v1/google_finance/quote ("GOOGL:NASDAQ" | ".INX:INDEXSP" | "EUR-USD")'
ticker:
type:
- string
- 'null'
description: Ticker symbol (null for forex/crypto asset pairs)
exchange:
type:
- string
- 'null'
description: Primary exchange / market identifier
name:
type:
- string
- 'null'
description: Display name (e.g. 'Alphabet Inc Class A')
type:
type: string
description: 'Instrument class: stock | etf | index | crypto | forex | futures | fund | unknown'
url:
type:
- string
- 'null'
description: String at quote.url
currency:
type:
- string
- 'null'
description: Price currency (null for asset pairs)
pair:
type:
- object
- 'null'
description: Forex/crypto base+quote symbols (null for stocks/indices)
properties:
base_symbol:
type:
- string
- 'null'
description: String at quote.pair.base_symbol
quote_symbol:
type:
- string
- 'null'
description: String at quote.pair.quote_symbol
base_display_name:
type:
- string
- 'null'
description: String at quote.pair.base_display_name
quote_display_name:
type:
- string
- 'null'
description: String at quote.pair.quote_display_name
price:
type: object
description: Price block (current, previous_close, delta, ranges, trend)
properties:
current:
type:
- integer
- 'null'
description: Numeric at quote.price.current
previous_close:
type:
- integer
- 'null'
description: Numeric at quote.price.previous_close
delta:
type:
- integer
- 'null'
description: Numeric at quote.price.delta
percentage_delta:
type:
- integer
- 'null'
description: Numeric at quote.price.percentage_delta
trend:
type:
- string
- 'null'
description: Leaf at quote.price.trend
day_low:
type:
- integer
- 'null'
description: Numeric at quote.price.day_low
day_high:
type:
- integer
- 'null'
description: Numeric at quote.price.day_high
year_low:
type:
- integer
- 'null'
description: Numeric at quote.price.year_low
year_high:
type:
- integer
- 'null'
description: Numeric at quote.price.year_high
timestamp:
type:
- string
- 'null'
description: String at quote.price.timestamp
metrics:
type:
- object
- 'null'
description: Fundamentals (market_cap, pe_ratio, dividend_yield, expense_ratio, …); null on thin rows
properties:
market_cap:
type:
- integer
- 'null'
description: Numeric at quote.metrics.market_cap
volume:
type:
- integer
- 'null'
description: Numeric at quote.metrics.volume
avg_volume:
type:
- integer
- 'null'
description: Numeric at quote.metrics.avg_volume
pe_ratio:
type:
- integer
- 'null'
description: Numeric at quote.metrics.pe_ratio
dividend_yield:
type:
- integer
- 'null'
description: Numeric at quote.metrics.dividend_yield
ytd_return:
type:
- integer
- 'null'
description: Numeric at quote.metrics.ytd_return
expense_ratio:
type:
- integer
- 'null'
description: Numeric at quote.metrics.expense_ratio
net_assets:
type:
- integer
- 'null'
description: Numeric at quote.metrics.net_assets
yield:
type:
- integer
- 'null'
description: Numeric at quote.metrics.yield
open_interest:
type:
- integer
- 'null'
description: Numeric at quote.metrics.open_interest
category:
type:
- string
- 'null'
description: String at quote.metrics.category
metrics_currency:
type:
- string
- 'null'
description: String at quote.metrics.metrics_currency
about:
type:
- object
- 'null'
description: Company profile (description, CEO, HQ, employees); equities
properties:
description:
type:
- string
- 'null'
description: String at quote.about.description
description_source_url:
type:
- string
- 'null'
description: String at quote.about.description_source_url
ceo:
type:
- string
- 'null'
description: String at quote.about.ceo
founded:
type:
- string
- 'null'
description: String at quote.about.founded
headquarters:
type:
- string
- 'null'
description: String at quote.about.headquarters
website:
type:
- string
- 'null'
description: String at quote.about.website
employees:
type:
- integer
- 'null'
description: Numeric at quote.about.employees
graph:
type:
- array
- 'null'
description: Intraday price series ({ timestamp, value, volume })
items:
type: object
description: Intraday price series ({ timestamp, value, volume })
properties:
timestamp:
type: string
description: String at quote.graph.timestamp
value:
type: integer
description: Numeric at quote.graph.value
volume:
type:
- integer
- 'null'
description: Numeric at quote.graph.volume
financials:
type:
- object
- 'null'
description: Quarterly + annual fundamentals (equities only; null otherwise)
properties:
quarterly:
type:
- array
- 'null'
description: Array at quote.financials.quarterly
items:
type: string
description: Leaf at quote.financials.quarterly
annual:
type:
- array
- 'null'
description: Array at quote.financials.annual
items:
type: string
description: Leaf at quote.financials.annual
peers:
type:
- array
- 'null'
description: Related instruments (compare_to)
items:
type: object
description: Related instruments (compare_to)
properties:
id:
type: string
description: String at quote.peers.id
ticker:
type:
- string
- 'null'
description: String at quote.peers.ticker
exchange:
type:
- string
- 'null'
description: String at quote.peers.exchange
name:
type:
- string
- 'null'
description: String at quote.peers.name
type:
type: string
description: Leaf at quote.peers.type
url:
type:
- string
- 'null'
description: String at quote.peers.url
currency:
type:
- string
- 'null'
description: String at quote.peers.currency
pair:
type:
- object
- 'null'
description: 'Nested object: quote.peers.pair'
properties:
base_symbol:
type:
- string
- 'null'
description: String at quote.peers.pair.base_symbol
quote_symbol:
type:
- string
- 'null'
description: String at quote.peers.pair.quote_symbol
base_display_name:
type:
- string
- 'null'
description: String at quote.peers.pair.base_display_name
quote_display_name:
type:
- string
- 'null'
description: String at quote.peers.pair.quote_display_name
price:
type: object
description: 'Nested object: quote.peers.price'
properties:
current:
type:
- integer
- 'null'
description: Numeric at quote.peers.price.current
previous_close:
type:
- integer
- 'null'
description: Numeric at quote.peers.price.previous_close
delta:
type:
- integer
- 'null'
description: Numeric at quote.peers.price.delta
percentage_delta:
type:
- integer
- 'null'
description: Numeric at quote.peers.price.percentage_delta
trend:
type:
- string
- 'null'
description: Leaf at quote.peers.price.trend
day_low:
type:
- integer
- 'null'
description: Numeric at quote.peers.price.day_low
day_high:
type:
- integer
- 'null'
description: Numeric at quote.peers.price.day_high
year_low:
type:
- integer
- 'null'
description: Numeric at quote.peers.price.year_low
year_high:
type:
- integer
- 'null'
description: Numeric at quote.peers.price.year_high
timestamp:
type:
- string
- 'null'
description: String at quote.peers.price.timestamp
metrics:
type:
- object
- 'null'
description: 'Nested object: quote.peers.metrics'
properties:
market_cap:
type:
- integer
- 'null'
description: Numeric at quote.peers.metrics.market_cap
volume:
type:
- integer
- 'null'
description: Numeric at quote.peers.metrics.volume
avg_volume:
type:
- integer
- 'null'
description: Numeric at quote.peers.metrics.avg_volume
pe_ratio:
type:
- integer
- 'null'
description: Numeric at quote.peers.metrics.pe_ratio
dividend_yield:
type:
- integer
- 'null'
description: Numeric at quote.peers.metrics.dividend_yield
ytd_return:
type:
- integer
- 'null'
description: Numeric at quote.peers.metrics.ytd_return
expense_ratio:
type:
- integer
- 'null'
description: Numeric at quote.peers.metrics.expense_ratio
net_assets:
type:
- integer
- 'null'
description: Numeric at quote.peers.metrics.net_assets
yield:
type:
- integer
- 'null'
description: Numeric at quote.peers.metrics.yield
open_interest:
type:
- integer
- 'null'
description: Numeric at quote.peers.metrics.open_interest
category:
type:
- string
- 'null'
description: String at quote.peers.metrics.category
metrics_currency:
type:
- string
- 'null'
description: String at quote.peers.metrics.metrics_currency
ext:
type:
- string
- 'null'
description: Leaf at quote.ext
_warnings:
type: array
description: 'Non-fatal notices about this response (field-map drift, clamped computed values). Advisory only: its presence never means the request failed. Omitted entirely when there is nothing to report, so treat absent as ''no warnings''.'
items:
type: string
description: One advisory notice.
credits_used:
type: integer
description: Number of credits consumed
credits_remaining:
type:
- integer
- 'null'
description: Current account balance. Null only when an idempotency replay succeeds but its transient balance lookup fails.
request_id:
type: string
description: Unique request identifier for support
cached:
type: boolean
description: Whether the response was served from cache
idempotent_replay:
type: boolean
description: True only when this response is an idempotency replay
required:
- success
- platform
- endpoint
- data
- credits_used
- credits_remaining
- request_id
- cached
'400':
$ref: '#/components/responses/Error400'
'401':
$ref: '#/components/responses/Error401'
'402':
$ref: '#/components/responses/Error402'
'404':
$ref: '#/components/responses/Error404'
'405':
$ref: '#/components/responses/Error405'
'409':
$ref: '#/components/responses/Error409'
'413':
$ref: '#/components/responses/Error413'
'422':
$ref: '#/components/responses/Error422'
'429':
$ref: '#/components/responses/Error429'
'500':
$ref: '#/components/responses/Error500'
'502':
$ref: '#/components/responses/Error502'
'503':
$ref: '#/components/responses/Error503'
/google_finance/ticker-search:
get:
summary: Search financial instruments by name
description: 'Searches Google Finance for financial instruments matching a name and returns a unified QuoteList: each row carries the `id` (e.g. ''AAPL:NASDAQ'', ''.INX:INDEXSP'', ''EUR-USD'') to feed into /v1/google_finance/quote, plus the ticker, display name, exchange, live price, and `type` discriminator. Spans stocks, ETFs, indices, and forex/crypto pairs (asset pairs populate `quote.pair`, with a null `ticker`). Filter by instrument class with `category`. Sourced live from DataForSEO''s Google Finance SERP (~2-3s).'
tags:
- google_finance
operationId: get_google_finance_ticker_search
security:
- ApiKeyAuth: []
x-credit-tier: standard
x-credit-cost: 1
parameters:
- name: keyword
in: query
required: true
description: Company / instrument name to search for (e.g. 'Apple', 'Euro', 'Bitcoin').
schema:
type: string
- name: category
in: query
required: false
description: 'Restrict to one instrument class: all (default), stock, index, mutual_fund, currency, or futures. A class with no matches returns an empty list.'
schema:
type: string
enum:
- all
- stock
- index
- mutual_fund
- currency
- futures
- name: language
in: query
required: false
description: Language as a DFS name ('English') or 2-letter code ('en'). Defaults to English.
schema:
type: string
- name: location
in: query
required: false
description: Location as a DFS name ('United States') or numeric code ('2840'). Defaults to the US.
schema:
type: string
- name: Cache-Control
in: header
required: false
description: Send `no-cache` to bypass the response cache and force a live fetch. Billed at the normal endpoint cost; the fresh result is written back to cache for the next caller. Only the `no-cache` directive triggers this. See the Response Schema guide for details.
schema:
type: string
- name: Idempotency-Key
in: header
required: false
description: 'Optional UUID that makes the request safely retriable. A replay keeps the cached payload immutable except for billing metadata: `credits_used` becomes 0, `idempotent_replay` becomes true, and `credits_remaining` is refreshed to the current balance. A known current balance appears in both the body and `X-Credits-Remaining` header; no balance row resolves to 0. On a transient lookup failure, body `credits_remaining` is null and `X-Credits-Remaining` is omitted. Scoped per account with a 24-hour TTL.'
schema:
type: string
responses:
'200':
description: Successful response
headers:
X-Credits-Used:
description: Net credits charged for this response. Idempotency replays report 0.
schema:
type: integer
minimum: 0
X-Credits-Remaining:
description: Current balance when known. On an idempotency replay, this header is omitted when the balance lookup fails; body `credits_remaining` is null instead.
schema:
type: integer
minimum: 0
X-Idempotent-Replay:
description: Present with value `true` only when this response replays a settled idempotency record.
schema:
type: string
enum:
- 'true'
content:
application/json:
schema:
type: object
properties:
success:
type: boolean
description: Whether the request succeeded
platform:
type: string
description: Platform name
endpoint:
type: string
description: API endpoint path
data:
type: object
description: Platform-specific response data
properties:
# --- truncated at 32 KB (103 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/socialcrawl/refs/heads/main/openapi/socialcrawl-google-finance-api-openapi.yml