https://api.filingreader.comContents
Introduction
Welcome to FilingReader's API! This guide will help you quickly get started with accessing stock exchange filings, company information, and financial news through our API.
Getting Started
- Obtain Your API Key
Every request to the API requires an API key. You can view our API plans and generate a free trial API key.
- Make Your First Request
Once you have your API key, try a simple test request:
curl -H "X-API-KEY: your_api_key" https://api.filingreader.com/health
Authentication
Include your API key in the X-API-KEY header with every request:
curl -H "X-API-KEY: your_api_key" https://api.filingreader.com/v1/companies
If you receive a 401 Unauthorized error, double-check that:
- Your API key is correct
- Your API key is active
- You've included the header properly
API Plans
We offer different API plans to meet your needs:
| Feature | Trial | Basic | Premium |
|---|---|---|---|
| Results per page | Up to 5 | Up to 20 | Up to 100 |
| Requests per hour | 10 | 1,000 | 10,000 |
| Downloads per day | 5 | 3,000 | Unlimited |
| Historical data | 1 year | 5 years | Full archive |
Contact info@filingreader.com to upgrade your plan.
Core Endpoints
Available Endpoints
Company Endpoints
GET /v1/companies- List companiesGET /v1/companies/exchange/:exchangeCode- List companies for a specific exchangeGET /v1/companies/:stockCode- Get company by stock code
Filing Endpoints
GET /v1/filings- List filingsGET /v1/filings/exchange/:exchangeCode- List filings for a specific exchangeGET /v1/filings/exchange/:exchangeCode/filing-type/:typeName- List filings for a specific exchange filtered by typeGET /v1/filings/company/:stockCode- List filings for a specific companyGET /v1/filings/company/:stockCode/filing-type/:typeName- List filings for a specific company filtered by typeGET /v1/filings/:bulletinId- Get filing details by bulletin IDGET /v1/filings/:bulletinId/download- Get filing download URL
Filing Type Endpoints
GET /v1/filing-types- List all filing typesGET /v1/filings/filing-type/:typeName- Filter filings by type name
News Endpoints
GET /v1/news- List news storiesGET /v1/news/id/:id- Get news storyGET /v1/news/company/:stockCode- Get company news
Company Endpoints
/v1/companiesList companies with filters and pagination
Parameters:
name(string)Search by company name
sector(string)Filter by business sector
page(integer)Page number (default: 1)
limit(integer)Results per page (default: 20, maximum depends on your plan)
Request Examples:
curl -H "X-API-KEY: your_api_key" "https://api.filingreader.com/v1/companies"
Example Response:
{
"status": "success",
"data": [
{
"name": {
"en": "Bank of China",
"zh": "中国银行"
},
"stockCode": "HKEX:0001",
"sector": "Financial Services",
"country": "CN"
}
],
"pagination": {
"currentPage": 1,
"totalPages": 5,
"totalItems": 42
}
}/v1/companies/exchange/:exchangeCodeList companies from a specific exchange
Parameters:
exchangeCode(string)requiredExchange code (e.g., HKEX, SSE, SZSE, BSE, NSE, SET, JSE, TSE, NZX, IDX, LSE, OSL)
name(string)Search by company name
sector(string)Filter by business sector
region(string)Filter by region/country
page(integer)Page number (default: 1)
limit(integer)Results per page (default: 20, maximum depends on your plan)
Request Examples:
curl -H "X-API-KEY: your_api_key" "https://api.filingreader.com/v1/companies/exchange/exampleexchangeCode"
Example Response:
{
"status": "success",
"data": [
{
"name": {
"en": "Bank of China",
"zh": "中国银行"
},
"stockCode": "HKEX:0001",
"sector": "Financial Services",
"country": "CN"
},
{
"name": {
"en": "China Construction Bank",
"zh": "中国建设银行"
},
"stockCode": "HKEX:0939",
"sector": "Financial Services",
"country": "CN"
}
],
"pagination": {
"currentPage": 1,
"totalPages": 3,
"totalItems": 54
}
}/v1/companies/:stockCodeGet details for a specific company by stock code
Parameters:
stockCode(string)requiredStock code including exchange prefix (e.g., HKEX:0001)
Request Examples:
curl -H "X-API-KEY: your_api_key" "https://api.filingreader.com/v1/companies/examplestockCode"
Example Response:
{
"status": "success",
"data": {
"id": "c789",
"name": {
"en": "Bank of China",
"zh": "中国银行"
},
"stockCodes": [
"HKEX:0001",
"SSE:601988"
],
"exchanges": [
"HKEX",
"SSE"
],
"country": "CN",
"sector": "Financial Services"
}
}Filing Endpoints
/v1/filingsList filings with filters and pagination
Parameters:
keyword(string)Search by keyword in filing content
startDate(string)Start date (YYYY-MM-DD)
endDate(string)End date (YYYY-MM-DD)
page(integer)Page number
limit(integer)Results per page
Request Examples:
curl -H "X-API-KEY: your_api_key" "https://api.filingreader.com/v1/filings"
Example Response:
{
"status": "success",
"data": [
{
"title": "2024 Annual Report",
"company": "Bank of China",
"stockCode": "HKEX:0001",
"exchange": "HKEX",
"filingDate": "2024-03-20",
"language": "en",
"filingTypes": [
{
"id": 1,
"name": "annual",
"description": "Annual financial reports including Chinese 年度报告"
}
],
"url": "https://api.filingreader.com/v1/filings/BULL12345/download"
}
],
"pagination": {
"currentPage": 1,
"totalPages": 50,
"totalItems": 998
}
}/v1/filings/exchange/:exchangeCodeList filings for a specific exchange
Parameters:
exchangeCode(string)requiredExchange code (e.g., HKEX, SSE, SZSE, BSE, NSE, SET, JSE, TSE, NZX, IDX, LSE, OSL)
keyword(string)Search by keyword in filing content
startDate(string)Start date (YYYY-MM-DD)
endDate(string)End date (YYYY-MM-DD)
page(integer)Page number
limit(integer)Results per page
Request Examples:
curl -H "X-API-KEY: your_api_key" "https://api.filingreader.com/v1/filings/exchange/exampleexchangeCode"
Example Response:
{
"status": "success",
"data": [
{
"title": "2024 Annual Report",
"company": "Bank of China",
"stockCode": "HKEX:0001",
"exchange": "HKEX",
"filingDate": "2024-03-20",
"language": "en",
"filingTypes": [
{
"id": 1,
"name": "annual",
"description": "Annual financial reports including Chinese 年度报告"
}
],
"url": "https://api.filingreader.com/v1/filings/BULL12345/download"
},
{
"title": "Q1 2024 Results Announcement",
"company": "China Construction Bank",
"stockCode": "HKEX:0939",
"exchange": "HKEX",
"filingDate": "2024-04-15",
"language": "en",
"filingTypes": [
{
"id": 3,
"name": "quarterly",
"description": "Quarterly financial reports (季度报告)"
}
],
"url": "https://api.filingreader.com/v1/filings/BULL54321/download"
}
],
"pagination": {
"currentPage": 1,
"totalPages": 25,
"totalItems": 487
}
}/v1/filings/:bulletinIdGet details for a specific filing by bulletin ID
Parameters:
bulletinId(string)requiredBulletin ID of the filing
Request Examples:
curl -H "X-API-KEY: your_api_key" "https://api.filingreader.com/v1/filings/examplebulletinId"
Example Response:
{
"status": "success",
"data": {
"bulletinId": "BULL12345",
"title": "2024 Annual Report",
"company": "Bank of China",
"stockCode": "HKEX:0001",
"exchange": "HKEX",
"filingDate": "2024-03-20",
"publishDate": "2024-03-20",
"language": "en",
"fileType": "PDF",
"fileSize": 2457891,
"filingTypes": [
{
"id": 1,
"name": "annual",
"description": "Annual financial reports including Chinese 年度报告"
}
],
"fileInfo": {
"fileSize": 2457891,
"pageCount": 35,
"hasText": true,
"isScanned": false,
"isBroken": false
}
}
}/v1/filings/:bulletinId/downloadGet a secure download URL for a filing
Parameters:
bulletinId(string)requiredBulletin ID of the filing
Request Examples:
curl -H "X-API-KEY: your_api_key" "https://api.filingreader.com/v1/filings/examplebulletinId/download"
Example Response:
{
"status": "success",
"data": {
"url": "https://filingreader-public.s3.ap-east-1.amazonaws.com/filings/f12345.pdf?signature=abc123...",
"expiresAt": "2024-03-24T14:35:00Z"
}
}/v1/filings/company/:stockCodeGet filings for a specific company by stock code
Parameters:
stockCode(string)requiredStock code (e.g., HKEX:0001)
startDate(string)Start date (YYYY-MM-DD)
endDate(string)End date (YYYY-MM-DD)
keyword(string)Search by keyword in filing content
page(integer)Page number
limit(integer)Results per page
Request Examples:
curl -H "X-API-KEY: your_api_key" "https://api.filingreader.com/v1/filings/company/examplestockCode"
Example Response:
{
"status": "success",
"data": [
{
"bulletinId": "BULL12345",
"title": "2024 Annual Report",
"stockCode": "HKEX:0001",
"timestamp": "2024-03-20T10:30:00Z",
"createdDate": "2024-03-20",
"filingTypes": [
{
"id": 1,
"name": "annual",
"description": "Annual financial reports including Chinese 年度报告"
}
],
"fileInfo": {
"fileSize": 2457891,
"pageCount": 35,
"hasText": true,
"isScanned": false,
"isBroken": false
}
}
],
"pagination": {
"currentPage": 1,
"totalPages": 3,
"totalItems": 28
}
}Filing Type Endpoints
/v1/filing-typesList all available filing types for filtering filings
Request Examples:
curl -H "X-API-KEY: your_api_key" "https://api.filingreader.com/v1/filing-types"
Example Response:
{
"status": "success",
"data": [
{
"id": 1,
"name": "annual",
"description": "Annual financial reports including Chinese 年度报告"
},
{
"id": 2,
"name": "interim",
"description": "Half-year financial reports (半年度报告)"
},
{
"id": 3,
"name": "quarterly",
"description": "Quarterly financial reports (季度报告)"
}
]
}/v1/filings/filing-type/:typeNameFilter filings by a specific filing type name (e.g., 'annual', 'interim')
Parameters:
typeName(string)requiredName of the filing type (e.g., 'annual', 'interim', 'quarterly')
page(integer)Page number (default: 1)
limit(integer)Results per page (default: 20, maximum depends on your plan)
startDate(string)Start date (YYYY-MM-DD)
endDate(string)End date (YYYY-MM-DD)
Request Examples:
curl -H "X-API-KEY: your_api_key" "https://api.filingreader.com/v1/filings/filing-type/exampletypeName"
Example Response:
{
"status": "success",
"data": [
{
"title": "2024 Annual Report",
"company": "Bank of China",
"stockCode": "HKEX:0001",
"exchange": "HKEX",
"filingDate": "2024-03-20",
"language": "en",
"filingTypes": [
{
"id": 1,
"name": "annual",
"description": "Annual financial reports including Chinese 年度报告"
}
],
"url": "https://api.filingreader.com/v1/filings/BULL12345/download"
}
],
"pagination": {
"currentPage": 1,
"totalPages": 50,
"totalItems": 998
}
}/v1/filings/company/:stockCode/filing-type/:typeNameGet filings for a specific company filtered by filing type name
Parameters:
stockCode(string)requiredStock code (e.g., HKEX:0001)
typeName(string)requiredName of the filing type (e.g., 'annual', 'interim', 'quarterly')
page(integer)Page number (default: 1)
limit(integer)Results per page (default: 20, maximum depends on your plan)
startDate(string)Start date (YYYY-MM-DD)
endDate(string)End date (YYYY-MM-DD)
Request Examples:
curl -H "X-API-KEY: your_api_key" "https://api.filingreader.com/v1/filings/company/examplestockCode/filing-type/exampletypeName"
Example Response:
{
"status": "success",
"data": [
{
"bulletinId": "BULL12345",
"title": "2024 Annual Report",
"stockCode": "HKEX:0001",
"timestamp": "2024-03-20T10:30:00Z",
"createdDate": "2024-03-20",
"filingTypes": [
{
"id": 1,
"name": "annual",
"description": "Annual financial reports including Chinese 年度报告"
}
],
"fileInfo": {
"fileSize": 2457891,
"pageCount": 35,
"hasText": true,
"isScanned": false,
"isBroken": false
}
}
],
"pagination": {
"currentPage": 1,
"totalPages": 3,
"totalItems": 5
}
}/v1/filings/exchange/:exchangeCode/filing-type/:typeNameFilter filings by exchange and filing type
Parameters:
exchangeCode(string)requiredExchange code (e.g., HKEX, SSE, SZSE, BSE, NSE, SET, JSE, TSE, NZX, IDX, LSE, OSL)
typeName(string)requiredName of the filing type (e.g., 'annual', 'interim', 'quarterly')
page(integer)Page number (default: 1)
limit(integer)Results per page (default: 20, maximum depends on your plan)
startDate(string)Start date (YYYY-MM-DD)
endDate(string)End date (YYYY-MM-DD)
Request Examples:
curl -H "X-API-KEY: your_api_key" "https://api.filingreader.com/v1/filings/exchange/exampleexchangeCode/filing-type/exampletypeName"
Example Response:
{
"status": "success",
"data": [
{
"title": "2024 Annual Report",
"company": "Bank of China",
"stockCode": "HKEX:0001",
"exchange": "HKEX",
"filingDate": "2024-03-20",
"language": "en",
"filingTypes": [
{
"id": 1,
"name": "annual",
"description": "Annual financial reports including Chinese 年度报告"
}
],
"url": "https://api.filingreader.com/v1/filings/BULL12345/download"
}
],
"pagination": {
"currentPage": 1,
"totalPages": 15,
"totalItems": 142
}
}News Endpoints
/v1/newsList news stories with filters and pagination
Parameters:
category(string)Filter by news category (e.g., earnings, mergers, regulation)
startDate(string)Start date (YYYY-MM-DD)
endDate(string)End date (YYYY-MM-DD)
page(integer)Page number
limit(integer)Results per page
Request Examples:
curl -H "X-API-KEY: your_api_key" "https://api.filingreader.com/v1/news"
Example Response:
{
"status": "success",
"data": [
{
"id": "n5678",
"title": "Bank of China Reports Strong Q2 Growth",
"storyDate": "2024-03-22",
"category": "earnings",
"companies": [
{
"name": "Bank of China",
"stockCode": "HKEX:0001"
}
],
"teaser": "Bank of China reported Q2 earnings above analyst expectations with revenue up 12% YoY...",
"url": "https://api.filingreader.com/v1/news/id/n5678"
}
],
"pagination": {
"currentPage": 1,
"totalPages": 35,
"totalItems": 683
}
}/v1/news/id/:idGet a specific news story by ID
Parameters:
id(string)requiredNews ID
Request Examples:
curl -H "X-API-KEY: your_api_key" "https://api.filingreader.com/v1/news/id/exampleid"
Example Response:
{
"status": "success",
"data": {
"id": "n5678",
"title": "Bank of China Reports Strong Q2 Growth",
"storyDate": "2024-03-22",
"category": "earnings",
"companies": [
{
"name": "Bank of China",
"stockCode": "HKEX:0001"
}
],
"teaser": "Bank of China reported Q2 earnings above analyst expectations with revenue up 12% YoY...",
"content": "Bank of China today announced its second-quarter earnings...",
"source": "FilingReader News Service",
"sourceUrl": "https://news.filingreader.com/123456"
}
}/v1/news/company/:stockCodeGet news for a specific company
Parameters:
stockCode(string)requiredStock code including exchange prefix (e.g., HKEX:0001)
limit(integer)Results per page
Request Examples:
curl -H "X-API-KEY: your_api_key" "https://api.filingreader.com/v1/news/company/examplestockCode"
Example Response:
{
"status": "success",
"data": [
{
"id": "n5678",
"title": "Bank of China Reports Strong Q2 Growth",
"storyDate": "2024-03-22",
"category": "earnings",
"companies": [
{
"id": "c789",
"name": "Bank of China",
"stockCode": "HKEX:0001"
}
],
"teaser": "Bank of China reported Q2 earnings above analyst expectations with revenue up 12% YoY..."
}
],
"pagination": {
"currentPage": 1,
"totalPages": 3,
"totalItems": 26
}
}Common Parameters
Pagination
Most list endpoints support pagination:
page: Page number (default: 1)limit: Results per page (default: 20, maximum depends on your plan)
Example:
curl -H "X-API-KEY: your_api_key" "https://api.filingreader.com/v1/companies?page=2&limit=10"
Date Filtering
Many endpoints support date filtering:
startDate: Start date (YYYY-MM-DD)endDate: End date (YYYY-MM-DD)
Result Sorting
Filings are automatically sorted by timestamp in descending order (newest first). There is currently no option to change this sorting behavior.
Example:
curl -H "X-API-KEY: your_api_key" "https://api.filingreader.com/v1/filings?startDate=2023-01-01&endDate=2023-12-31"
Response Format
All API responses come in a consistent JSON format:
{
"status": "success",
"data": {
"/* The data you requested */": null
},
"pagination": {
"/* Pagination details (for list endpoints) */": null
}
}Error responses look like:
{
"status": "error",
"message": "Error details here"
}Code Examples
Get Recent Filings for a Company
# Get filings for a specific company curl -H "X-API-KEY: your_api_key" "https://api.filingreader.com/v1/filings/company/HKEX:0001" # Get filings for a specific company within a date range curl -H "X-API-KEY: your_api_key" "https://api.filingreader.com/v1/filings/company/HKEX:0001?startDate=2023-01-01&endDate=2023-12-31" # Get filings from the last quarter (assuming current date is in 2023-Q3) curl -H "X-API-KEY: your_api_key" "https://api.filingreader.com/v1/filings/company/HKEX:0001?startDate=2023-04-01&endDate=2023-06-30" # Get details for a specific filing curl -H "X-API-KEY: your_api_key" "https://api.filingreader.com/v1/filings/BULL12345" # Download a specific filing curl -H "X-API-KEY: your_api_key" "https://api.filingreader.com/v1/filings/BULL12345/download" # Get all filing types curl -H "X-API-KEY: your_api_key" "https://api.filingreader.com/v1/filing-types" # Get filings filtered by type name (annual reports) curl -H "X-API-KEY: your_api_key" "https://api.filingreader.com/v1/filings/filing-type/annual" # Get company filings by type name with date filtering curl -H "X-API-KEY: your_api_key" "https://api.filingreader.com/v1/filings/company/HKEX:0001/filing-type/interim?startDate=2022-01-01" # Get filings from a specific exchange (Hong Kong) curl -H "X-API-KEY: your_api_key" "https://api.filingreader.com/v1/filings/exchange/HKEX" # Get annual reports from a specific exchange (Shanghai) curl -H "X-API-KEY: your_api_key" "https://api.filingreader.com/v1/filings/exchange/SSE/filing-type/annual" # Get companies from a specific exchange (Hong Kong) curl -H "X-API-KEY: your_api_key" "https://api.filingreader.com/v1/companies/exchange/HKEX"
Search Companies by Sector
curl -H "X-API-KEY: your_api_key" "https://api.filingreader.com/v1/companies?sector=Technology&limit=5"
Troubleshooting
Common Issues
| Error | Possible Cause | Solution |
|---|---|---|
| 401 Unauthorized | Invalid API key | Check your API key is correct and active |
| 403 Forbidden | Plan limitations | Your plan doesn't allow this operation |
| 429 Too Many Requests | Rate limit exceeded | Slow down your requests or upgrade plan |
Rate Limit Headers
Each response includes rate limit headers:
X-RateLimit-Limit: 1000 X-RateLimit-Remaining: 986 X-RateLimit-Reset: 1616799429
If you're approaching your limit, slow down your requests or consider upgrading your plan.
Getting Help
If you need assistance with the API:
- Email: support@filingreader.com
- Status Page: https://status.filingreader.com