Quickstart
curl
curl -X POST https://api.biascoin.com/auth/signup \
-H "content-type: application/json" \
-d '{"name":"Demo User","email":"demo@example.com","password":"supersecure"}'
curl -X POST https://api.biascoin.com/auth/login \
-H "content-type: application/json" \
-d '{"email":"demo@example.com","password":"supersecure"}'
curl -X POST https://api.biascoin.com/account/api-keys \
-H "authorization: Bearer YOUR_JWT" \
-H "content-type: application/json" \
-d '{"label":"Production key"}'
curl https://api.biascoin.com/v1/company/AAPL/fundamentals/latest \
-H "x-api-key: YOUR_API_KEY" Python
import requests
base_url = "https://api.biascoin.com"
signup = requests.post(
f"{base_url}/auth/signup",
json={
"name": "Demo User",
"email": "demo@example.com",
"password": "supersecure"
}
)
login = requests.post(
f"{base_url}/auth/login",
json={
"email": "demo@example.com",
"password": "supersecure"
}
)
jwt_token = login.json()["token"]
api_key_response = requests.post(
f"{base_url}/account/api-keys",
headers={"Authorization": f"Bearer {jwt_token}"},
json={"label": "Production key"}
)
api_key = api_key_response.json()["apiKey"]
fundamentals = requests.get(
f"{base_url}/v1/company/AAPL/fundamentals/latest",
headers={"x-api-key": api_key}
)
print(fundamentals.json()) Returns the strongest recent fundamentals row for one company, choosing the best available annual or quarterly period.
Headers
| Name | Required | Description |
x-api-key | Yes | Your BiasCoin API key. Required on all public data routes. |
Parameters
| Name | In | Type | Required | Description |
symbol | path | string | Yes | Ticker symbol such as AAPL, MSFT, or JPM. |
Notes
- Best first endpoint for most integrations.
- Response includes a meta object describing completeness and missing fields.
Request example
Response example
{
"data": {
"symbol": "AAPL",
"periodType": "quarterly",
"fiscalYear": 2026,
"fiscalPeriod": "Q1",
"periodEnd": "2025-12-27",
"revenue": 143756000000,
"gross_profit": 69231000000,
"operating_income": 50852000000,
"net_income": 42097000000,
"operating_cash_flow": 53925000000,
"free_cash_flow": 51552000000
},
"meta": {
"coverage_class": "complete",
"completeness": "6/6",
"missing_fields": []
}
} Returns multiple annual fundamentals rows for one company in a single request.
Headers
| Name | Required | Description |
x-api-key | Yes | Your BiasCoin API key. Required on all public data routes. |
Parameters
| Name | In | Type | Required | Description |
symbol | path | string | Yes | Ticker symbol such as AAPL, MSFT, or JPM. |
limit | query | integer | No | Number of rows to return. Default 10, maximum 25. |
Notes
- Use this when you want multiple filings worth of normalized company data in one response.
- Rows are ranked to prefer the richest normalized period for each year.
Request example
Response example
{
"data": [
{
"symbol": "AAPL",
"periodType": "annual",
"fiscalYear": 2025,
"fiscalPeriod": "FY",
"periodEnd": "2025-09-27",
"revenue": 391035000000
}
],
"meta": {
"count": 5
}
} Returns multiple quarterly fundamentals rows for one company.
Headers
| Name | Required | Description |
x-api-key | Yes | Your BiasCoin API key. Required on all public data routes. |
Parameters
| Name | In | Type | Required | Description |
symbol | path | string | Yes | Ticker symbol such as AAPL, MSFT, or JPM. |
limit | query | integer | No | Number of rows to return. Default 10, maximum 25. |
Notes
- Useful for dashboards, time series, and quarter-over-quarter comparisons.
- Quarterly rows may contain nulls when the issuer did not expose a stable comparable SEC fact.
Request example
Response example
{
"data": [
{
"symbol": "AAPL",
"periodType": "quarterly",
"fiscalYear": 2026,
"fiscalPeriod": "Q1",
"periodEnd": "2025-12-27",
"revenue": 143756000000
}
],
"meta": {
"count": 8
}
} Returns the filing metadata history for a company, including accession numbers, form types, and filing dates.
Headers
| Name | Required | Description |
x-api-key | Yes | Your BiasCoin API key. Required on all public data routes. |
Parameters
| Name | In | Type | Required | Description |
symbol | path | string | Yes | Ticker symbol such as AAPL, MSFT, or JPM. |
Notes
- Use this when you want multiple filings for a company in one response.
- This returns filing metadata, not multiple normalized statement rows.
Request example
Response example
{
"data": [
{
"accessionNo": "0000320193-26-000012",
"formType": "10-Q",
"filingDate": "2026-01-30",
"periodEnd": "2025-12-27",
"sourceUrl": "https://www.sec.gov/Archives/..."
}
]
} Returns ratios, TTM values, and YoY changes based on the strongest recent period for that issuer.
Headers
| Name | Required | Description |
x-api-key | Yes | Your BiasCoin API key. Required on all public data routes. |
Parameters
| Name | In | Type | Required | Description |
symbol | path | string | Yes | Ticker symbol such as AAPL, MSFT, or JPM. |
Notes
- Financial institutions intentionally suppress ratios that are not meaningfully comparable.
- The meta object explains sector-limited coverage.
Request example
Response example
{
"data": {
"symbol": "JPM",
"periodEnd": "2025-12-31",
"net_margin": 0.31268259,
"roa": 0.01289249,
"roe": 0.15740071,
"revenue_yoy": 0.41766968,
"eps_yoy": 0.65591398
},
"meta": {
"coverage_class": "sector_limited",
"completeness": "5/13"
}
} Returns the latest best-available fundamentals row for multiple symbols in one request.
Headers
| Name | Required | Description |
x-api-key | Yes | Your BiasCoin API key. Required on all public data routes. |
Parameters
| Name | In | Type | Required | Description |
symbols | query | string | Yes | Comma-separated symbols. Maximum 25 per request. |
Notes
- Best for dashboards and watchlists.
- Each symbol resolves to the best available recent fundamentals row.
Request example
Response example
{
"data": [
{ "symbol": "AAPL", "periodEnd": "2025-12-27", "revenue": 143756000000 },
{ "symbol": "MSFT", "periodEnd": "2025-12-31", "revenue": 69632000000 }
],
"meta": {
"count": 2,
"requested_symbols": ["AAPL", "MSFT", "NVDA"]
}
} Returns normalized insider activity from SEC ownership forms 3, 4, and 5.
Headers
| Name | Required | Description |
x-api-key | Yes | Your BiasCoin API key. Required on all public data routes. |
Parameters
| Name | In | Type | Required | Description |
symbol | path | string | Yes | Ticker symbol such as AAPL, MSFT, or JPM. |
Notes
- Transaction rows preserve the original SEC transaction code and a friendlier transactionType value.
Request example
Response example
{
"data": [
{
"symbol": "AAPL",
"accessionNo": "0000320193-26-000012",
"formType": "4",
"filingDate": "2026-02-03",
"transactionDate": "2026-01-31",
"transactionCode": "S",
"transactionType": "sell",
"shares": 12500,
"pricePerShare": 211.34
}
],
"meta": {
"count": 1
}
} Returns the latest quarterly 13F holdings snapshot for a single manager CIK.
Headers
| Name | Required | Description |
x-api-key | Yes | Your BiasCoin API key. Required on all public data routes. |
Parameters
| Name | In | Type | Required | Description |
managerCik | path | string | Yes | Manager CIK, up to 10 digits. |
Notes
- 13F data is delayed by nature and should be treated as a quarterly snapshot, not real-time holdings.
Request example
Response example
{
"data": {
"manager": {
"cik": "0001067983",
"managerName": "Berkshire Hathaway Inc.",
"filingCount": 12,
"latestReportPeriod": "2025-12-31"
},
"holdings": [
{
"issuerName": "APPLE INC",
"issuerSymbol": "AAPL",
"valueThousands": 71234567,
"shares": 300000000
}
]
}
} Returns multiple 13F snapshots in one request, grouped by manager CIK.
Headers
| Name | Required | Description |
x-api-key | Yes | Your BiasCoin API key. Required on all public data routes. |
Parameters
| Name | In | Type | Required | Description |
managerCiks | query | string | Yes | Comma-separated manager CIKs. |
Notes
- Use this for multi-manager research views.
- Query by manager CIK, not by company symbol.
Request example
Response example
{
"data": [
{
"manager": {
"cik": "0001067983",
"managerName": "Berkshire Hathaway Inc."
},
"holdings": [
{
"issuerName": "APPLE INC",
"issuerSymbol": "AAPL"
}
]
}
],
"meta": {
"count": 1
}
} Error Format
Envelope
{
"error": {
"code": "missing_api_key",
"message": "Provide an API key using the x-api-key header."
}
} Typical errors
missing_api_key when the header is missing. invalid_api_key when the key cannot be resolved. inactive_subscription when the key does not have an active paid plan. rate_limit_exceeded when plan limits are exceeded. symbol_not_found when the company is not in the supported universe.