FinBrain API Overview
This reference documents all available endpoints in the FinBrain v2 REST API. Use this documentation to integrate FinBrain data into your applications, trading systems, and research workflows.
Base URL
Section titled “Base URL”All API requests are made to:
https://api.finbrain.tech/v2/Authentication
Section titled “Authentication”The v2 API supports four authentication methods. The Authorization header is recommended.
Authorization Header (Recommended)
Section titled “Authorization Header (Recommended)”Authorization: Bearer YOUR_API_KEYX-API-Key Header
Section titled “X-API-Key Header”X-API-Key: YOUR_API_KEYQuery Parameter
Section titled “Query Parameter”?apiKey=YOUR_API_KEYLegacy Query Parameter
Section titled “Legacy Query Parameter”?token=YOUR_API_KEYSee Authentication for details.
Available Endpoints
Section titled “Available Endpoints”Discovery and Reference
Section titled “Discovery and Reference”| Endpoint | Method | Description |
|---|---|---|
/v2/tickers | GET | List available tickers |
/v2/markets | GET | List available markets |
/v2/regions | GET | List markets grouped by region |
Predictions
Section titled “Predictions”| Endpoint | Method | Description |
|---|---|---|
/v2/predictions/{type}/{symbol} | GET | Get predictions for a specific ticker |
Analysis
Section titled “Analysis”| Endpoint | Method | Description |
|---|---|---|
/v2/sentiment/{symbol} | GET | Get sentiment scores |
/v2/analyst-ratings/{symbol} | GET | Get analyst ratings |
/v2/put-call-ratio/{symbol} | GET | Get options put/call ratios |
Trading Activity
Section titled “Trading Activity”| Endpoint | Method | Description |
|---|---|---|
/v2/insider-trading/{symbol} | GET | Get insider trading data |
/v2/congress/house/{symbol} | GET | Get House trades |
/v2/congress/senate/{symbol} | GET | Get Senate trades |
Alternative Data
Section titled “Alternative Data”| Endpoint | Method | Description |
|---|---|---|
/v2/news/{symbol} | GET | Get news articles with sentiment |
/v2/linkedin/{symbol} | GET | Get LinkedIn metrics |
/v2/app-ratings/{symbol} | GET | Get mobile app ratings |
Screener (Cross-Ticker)
Section titled “Screener (Cross-Ticker)”| Endpoint | Method | Description |
|---|---|---|
/v2/screener/* | GET | Screen data across all tickers |
Recent Data
Section titled “Recent Data”| Endpoint | Method | Description |
|---|---|---|
/v2/recent/* | GET | Get most recent data entries |
Request Format
Section titled “Request Format”URL Parameters
Section titled “URL Parameters”| Parameter | Description | Example |
|---|---|---|
{symbol} | Stock or asset symbol | AAPL, TSLA, BTC-USD |
{type} | Prediction type | daily, monthly |
Query Parameters
Section titled “Query Parameters”| Parameter | Required | Description |
|---|---|---|
apiKey | Yes (if not using header auth) | Your API key |
startDate | No | Start date (YYYY-MM-DD) |
endDate | No | End date (YYYY-MM-DD) |
limit | No | Maximum number of results to return |
market | No | Filter by market (e.g., NASDAQ, S&P 500) |
region | No | Filter by region (e.g., US, Global) |
Example Request
Section titled “Example Request”curl -H "Authorization: Bearer YOUR_API_KEY" \ "https://api.finbrain.tech/v2/predictions/daily/AAPL"import requests
url = "https://api.finbrain.tech/v2/predictions/daily/AAPL"headers = {"Authorization": "Bearer YOUR_API_KEY"}
response = requests.get(url, headers=headers)data = response.json()const response = await fetch( "https://api.finbrain.tech/v2/predictions/daily/AAPL", { headers: { "Authorization": "Bearer YOUR_API_KEY" } });const data = await response.json();Response Format
Section titled “Response Format”All responses are returned as JSON using a standardized envelope.
Success Response
Section titled “Success Response”{ "success": true, "data": { // ... endpoint-specific data }, "meta": { "timestamp": "2026-01-17T12:00:00.000Z" }}Error Response
Section titled “Error Response”{ "success": false, "error": { "code": "ERROR_CODE", "message": "Human-readable message" }}HTTP Status Codes
Section titled “HTTP Status Codes”| Code | Meaning |
|---|---|
| 200 | Success |
| 400 | Bad Request - Invalid parameters |
| 401 | Unauthorized - Invalid API key |
| 403 | Forbidden - Access denied |
| 404 | Not Found - Data not found |
| 429 | Too Many Requests - Rate limit exceeded |
| 500 | Internal Server Error |
See Error Codes for detailed error documentation.
Rate Limiting
Section titled “Rate Limiting”Rate limits are enforced per API key. The following headers are included in every response:
| Header | Description |
|---|---|
X-RateLimit-Limit | Maximum requests allowed in the current window |
X-RateLimit-Remaining | Requests remaining in the current window |
X-RateLimit-Reset | Unix timestamp when the rate limit window resets |
Rate Limit Tiers
Section titled “Rate Limit Tiers”| Tier | Requests/Day | Requests/Minute |
|---|---|---|
| Free | 100 | 10 |
| Basic | 1,000 | 60 |
| Professional | 10,000 | 300 |
| Enterprise | Unlimited | Custom |
When you exceed the rate limit, the API returns a 429 Too Many Requests status. Wait until the time indicated by X-RateLimit-Reset before retrying.
SDKs and Libraries
Section titled “SDKs and Libraries”For easier integration, use our official SDK:
- Python SDK -
pip install finbrain-python - MCP Integration -
pip install finbrain-mcp
Next Steps
Section titled “Next Steps”- Authentication - Learn about API authentication
- Available Markets - Discover available markets
- Ticker Predictions - Get AI predictions
- Error Codes - Handle errors properly