annualreports.com APIannualreports.com ↗
Access thousands of company annual reports, PDF/HTML links, and company profiles filtered by exchange, industry, sector, or ticker via the AnnualReports.com API.
curl -X GET 'https://api.parse.bot/scraper/1e417564-2412-4b67-ad27-9ddb3d1b8000/search_companies?query=Apple' \ -H 'X-API-Key: $PARSE_API_KEY'
Search for companies by name, ticker, or using filters for exchange, industry, sector, or first letter. Returns matching companies with basic metadata. At least one filter parameter should be provided.
| Param | Type | Description |
|---|---|---|
| alpha | string | First letter of company name (A-Z or # for numeric) |
| query | string | Search keyword (company name or ticker symbol) |
| sector_id | string | Sector ID for filtering |
| exchange_id | string | Exchange ID for filtering (use browse_exchanges to get available IDs) |
| industry_id | string | Industry ID for filtering (use browse_industries to get available IDs, e.g. 'i1') |
{
"type": "object",
"fields": {
"total": "integer count of companies returned",
"companies": "array of company objects with name, slug, industry, sector, and is_premium fields"
},
"sample": {
"data": {
"total": 1,
"companies": [
{
"name": "Apple Inc.",
"slug": "apple-inc",
"sector": "Technology",
"industry": "Consumer Services",
"is_premium": true
}
]
},
"status": "success"
}
}About the annualreports.com API
The AnnualReports.com API provides access to annual report documents and company profiles across thousands of international companies through 5 endpoints. Use search_companies to filter by ticker, exchange, industry, or sector and retrieve matched companies with metadata. Use get_company_profile to pull a full profile including report listings with direct PDF and HTML download URLs, ticker, exchange, sector, industry, employee data, and company description.
What the API Covers
The API surfaces annual report data and company metadata from AnnualReports.com, a directory of investor-facing documents for publicly listed companies worldwide. It includes 5 endpoints covering company search, profile retrieval, exchange and industry browsing, and program-based company lists. Core response fields include report PDFs and HTML versions, year labels, ticker symbols, exchange names, sector and industry classifications, company descriptions, websites, and user ratings.
Searching and Filtering Companies
search_companies accepts a query parameter for name or ticker lookups, an alpha parameter to browse companies by first letter, and optional filter parameters — exchange_id, industry_id, and sector_id — to narrow results. IDs for exchanges and industries come from browse_exchanges and browse_industries respectively. browse_industries returns industries grouped by sector, each with a unique id (e.g. i1) ready for use in filters. browse_exchanges includes each exchange's name, full_name, numeric id, and logo_url.
Company Profiles and Annual Reports
get_company_profile takes a slug from search results and returns the full company record. The reports array contains one object per available annual report, each with title, year, pdf_url, html_url, and an is_most_recent flag. Additional profile fields include ticker, exchange, sector, industry, description, website, rating, and employees. This makes it straightforward to iterate over all historical reports for a given company.
Program-Based Company Lists
get_companies_by_program returns all companies belonging to a named financial program. Currently supported program IDs are 9 (REIT), 14 (Russell 1000), 15 (Russell 2000), and 16 (Russell Microcap). Results include each company's name, slug, industry, and sector, making it easy to build a focused list for further profile lookups.
- Build an annual report archive by iterating get_company_profile across a list of company slugs to collect all PDF and HTML report URLs.
- Filter Russell 1000 companies by industry using get_companies_by_program and browse_industries to identify sector breakdowns.
- Track annual report publication by monitoring is_most_recent flags across a portfolio of companies.
- Populate an investor research tool with company descriptions, ticker symbols, and exchange names from get_company_profile.
- Build an exchange-specific company directory by combining browse_exchanges IDs with search_companies exchange_id filtering.
- Aggregate REIT company profiles using program ID 9 for real estate investment analysis.
- Cross-reference industry classifications by pulling browse_industries sector groupings and matching them to company search results.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does AnnualReports.com have an official developer API?+
What does get_company_profile return for annual reports?+
reports array where each object includes title, year, pdf_url, html_url, and an is_most_recent boolean. This covers all historically available reports for the company, not just the most recent one.Can I retrieve financial statement data — revenue, earnings, balance sheet figures — from these endpoints?+
Are there any known limitations on company coverage or premium reports?+
is_premium field per company, indicating that some companies or reports are marked as premium on AnnualReports.com. Coverage is international but weighted toward companies that have submitted reports directly to the platform, so smaller or non-English-market companies may have limited or no report history.