Three ways in. One API key: REST and MCP on every plan, bulk Parquet on Quant.
The REST API from curl, Python or any HTTP client; a native MCP server for AI agents; and bulk Parquet files for local analysis on the Quant plan. There is no package to install: the REST API and the MCP server are the product, and every snippet on this page works today, as written.
Python (requests)
Nothing of ours to install: requests and the REST API. Pass as_of for a point-in-time read.
import requests
r = requests.get(
"https://synapsediscovery.io/api/v1/fundamentals/AAPL",
params={"as_of": "2019-06-30", "periods": 1},
headers={"X-API-Key": "YOUR_API_KEY"},
)
print(r.json()["data"][0]["revenue"])
REST API
Any language, any stack. Authenticate with an API-key header.
curl -H "X-API-Key: YOUR_API_KEY" \
https://synapsediscovery.io/api/v1/entity/AAPL
MCP server
Your agent queries directly: 30 tools, responses built for LLMs. Keyless to try; add your key for your plan's limits. Setup for each client is on the setup page.
{
"mcpServers": {
"synapse": {
"url": "https://synapsediscovery.io/mcp/jsonrpc",
"headers": { "X-API-Key": "YOUR_API_KEY" }
}
}
}
Bulk Parquet
Pull datasets as Parquet for local analysis: prices, fundamentals, macro vintages and more. Read the manifest, sign a path, download, query.
BASE = "https://synapsediscovery.io/api/v1"
H = {"X-API-Key": "YOUR_API_KEY"}
m = requests.get(f"{BASE}/export/manifest",
params={"universe": "sp500"}, headers=H).json()
p = m["data"]["datasets"]["fundamentals"]["file_list"][0]["path"]
u = requests.get(f"{BASE}/export/signed-url",
params={"path": p}, headers=H).json()["data"]["url"]
open("part.parquet", "wb").write(requests.get(u).content)
Bulk export is included on the Quant plan and above.