Developer docs
Bluefin API
All routes return JSON, allow browser CORS, and include source provenance where upstream data was consulted. The public base URL is shown in REST basics.
Quickstart
curl -G "https://api.bluefin.dev/v1/quote" \
--data-urlencode "symbols=AAPL,MSFT"
curl -G "https://api.bluefin.dev/v1/search" \
--data-urlencode "q=apple"
curl "https://api.bluefin.dev/v1/openapi.json"
REST basics
Base URL
https://api.bluefin.devOpenAPI/v1/openapi.json
Catalog/v1/endpoints
Contact header
x-bluefin-contact: you@example.comAPI key header
authorization: Bearer <key>SDKs
npm install @bluedoor-ai/bluefin
import { Client } from "@bluedoor-ai/bluefin";
const client = new Client({
contact: "you@example.com"
});
const quote = await client.quote(["AAPL", "MSFT"]);
pip install bluefin-client
from bluefin import Client
client = Client(contact="you@example.com")
quote = client.quote(["AAPL", "MSFT"])
Discovery routes
/v1/health
/v1/sources
/v1/catalog/sources
/v1/catalog/capabilities
/v1/catalog/datasets
/v1/catalog/fields
/v1/coverage
/v1/endpoints
/v1/source-health
/v1/openapi.json
Limits
Anonymous clients get 60 requests per minute. Supplying a contact header raises the public tier to 200 requests per minute. API keys are supported for higher-volume access.
Source fanout is bounded by default so one request does not overload individual upstream services. Use debug_sources and max_sources when diagnosing source-specific behavior.