# Annualreports — Wrapped API

> **You are on:** `https://api.paywithlocus.com/api` | [llms.txt](https://paywithlocus.com/llms.txt) | [docs](https://docs.paywithlocus.com)
>
> Locus runs on multiple environments -- make sure every URL you call matches your expected environment.
> | Environment | Landing | API | Docs |
> |---|---|---|---|
> | Production | paywithlocus.com | api.paywithlocus.com | docs.paywithlocus.com |
> | Beta | beta.paywithlocus.com | api.beta.paywithlocus.com | docs.paywithlocus.com |
> | Stage | stage.paywithlocus.com | api.stage.paywithlocus.com | docs.paywithlocus.com |
>
> If the API URL above doesn't match your expected environment, re-fetch this file from the correct domain.

> Search for and access thousands of international company annual reports in PDF and HTML formats, while filtering by ticker, exchange, industry, sector, company size, and location. Browse company profiles and financial documents across different markets and industries to find the information you need.

**Category:** Finance & Markets | **Website:** [annualreports.com/](https://annualreports.com/) | **Docs:** [parse.bot/marketplace/669d01dd-0233-49c4-9777-38755abc915b/annualreports-com-api](https://parse.bot/marketplace/669d01dd-0233-49c4-9777-38755abc915b/annualreports-com-api)

Pay-per-use API proxy. Each call is automatically billed to your wallet in USDC.

## Access

**Base URL:** `https://api.paywithlocus.com/api/wrapped/parse-annualreports-com-api-669d01dd/`
**Auth:** `Authorization: Bearer <LOCUS_API_KEY>`

## Endpoints

### browse_exchanges

List all stock exchanges available for filtering companies. Returns exchange name, full name, numeric ID, and logo URL. Use the returned IDs with search_companies exchange_id parameter.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-annualreports-com-api-669d01dd/browse_exchanges \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### browse_industries

List all industries grouped by sector. Each sector contains an array of industries with their IDs for use in search_companies filtering. Returns the complete taxonomy of sectors and industries.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-annualreports-com-api-669d01dd/browse_industries \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### get_companies_by_program

Retrieve companies in a featured index program. Returns all companies belonging to the specified program with their name, slug, industry, and sector. Known programs: 9 (REIT), 14 (Russell 1000), 15 (Russell 2000), 16 (Russell Microcap).

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `program_id` | string | Yes | Program ID: 9 (REIT), 14 (Russell 1000), 15 (Russell 2000), or 16 (Russell Microcap) |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-annualreports-com-api-669d01dd/get_companies_by_program \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"program_id":"<string>"}'
```

### get_company_profile

Retrieve a full company profile including metadata (ticker, exchange, industry, sector, employees, headquarters, description, website, rating) and all available annual reports with PDF and HTML links. The slug identifier comes from search_companies results.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `slug` | string | Yes | Company slug from search_companies results (e.g. 'apple-inc') |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-annualreports-com-api-669d01dd/get_company_profile \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"slug":"<string>"}'
```

### search_companies

Search for companies by name, ticker, or using filters for exchange, industry, sector, or first letter. Returns matching companies with basic metadata including name, slug, industry, sector, and premium status. At least one filter parameter should be provided. Results are not paginated — the full matching set is returned.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `alpha` | string | No | First letter of company name (A-Z or # for numeric) |
| `exchange_id` | string | No | Exchange ID for filtering (use browse_exchanges to get available IDs) |
| `industry_id` | string | No | Industry ID for filtering (use browse_industries to get available IDs, e.g. 'i1') |
| `query` | string | No | Search keyword (company name or ticker symbol) |
| `sector_id` | string | No | Sector ID for filtering |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-annualreports-com-api-669d01dd/search_companies \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"alpha":"<string>","exchange_id":"<string>","industry_id":"<string>","query":"<string>","sector_id":"<string>"}'
```
