Stocks, Crypto & Markets Search API
Query global and US equities, crypto, forex, ETFs, mutual funds, commodities, and US market movers from one endpoint. Pre-shaped JSON for AI-driven price lookups, market-data retrieval, and trading research.
Try Markets Search Live
Enter your API key and run a real query against the live endpoint.
Don't have an API key?
Sign in to your account to create and manage your API keys.
Integration guide
Copy a snippet, replace your API key, run. Works in any HTTP client — examples below in cURL, JavaScript, and Python.
/api/search/marketshttps://www.apipick.comSemantic search across stocks, crypto, forex, ETFs, funds, commodities, and US market movers. Returns ranked records with source URLs ready for downstream LLMs.
querystringrequiredNatural-language search query
max_num_resultsintegeroptional1–5, default 5
relevance_thresholdnumberoptional0.0–1.0 quality filter
country_codestringoptionalISO country code (e.g. US, GB)
start_datestringoptionalISO date YYYY-MM-DD
end_datestringoptionalISO date YYYY-MM-DD
curl -X POST "https://www.apipick.com/api/search/markets" \
-H "Content-Type: application/json" \
-H "x-api-key: YOUR_API_KEY" \
-d '{
"query": "Current price and market cap of Apple (AAPL)",
"max_num_results": 5,
"country_code": "US",
"start_date": "2026-01-01"
}'{
"query": "Current price and market cap of Apple (AAPL)",
"results": [
{
"title": "Example result",
"url": "https://example.com/article",
"snippet": "Short excerpt of the page content…",
"source_type": "web",
"published_at": "2026-04-15",
"score": 0.92
}
],
"result_count": 1,
"credits_used": 120,
"remaining_credits": 99
}Rate limits
Throttling is per API key, sliding 60-second window. Hit the limit and you get a clean 429 with a Retry-After header.
30req/min
Per API key, per endpoint. Sliding 60-second window.
3concurrent
Max simultaneous in-flight requests per API key.
X-RateLimit-LimitMaximum requests allowed per minuteX-RateLimit-RemainingRequests remaining in the current windowX-RateLimit-ResetSeconds until the current window resetsRetry-AfterSeconds to wait before retrying (only on 429)HTTP/1.1 429 Too Many Requests
Retry-After: 12
X-RateLimit-Limit: 30
X-RateLimit-Remaining: 0
X-RateLimit-Reset: 12
{
"error": "rate_limit_exceeded",
"message": "Rate limit exceeded: 30 requests/minute per API key. Retry after 12s.",
"retry_after": 12
}Frequently Asked Questions
Why is this 120 credits per call?
Market data — equities across 75 exchanges, crypto, forex, funds, and movers — is licensed and index-maintained, so the endpoint is priced at 120 credits (≈ $0.12 per call). Still far below a dedicated market-data API seat.
Which markets are covered?
Global and US equities, cryptocurrencies, forex pairs, ETFs, mutual funds, commodity futures, and US market movers (top gainers, losers, most active). All are queried in parallel.
Is the data real-time?
Results return the latest available data for each instrument. For point-in-time history, scope with date filters or query a specific instrument and period.
Date filtering?
Yes. Pass start_date and end_date in YYYY-MM-DD to scope to a specific window.
Tool schema for OpenAI / Claude?
GET /api/search/markets/tool-schema returns ready-to-paste OpenAI function and Claude tool-use definitions.