GET/companies/universe

Get a list of all available companies with basic information including ticker, company name, CIK, exchange, SIC code, and filer type.

Example Request

https://api.metricduck.com/api/v1/companies/universe?limit=100

Query Parameters

ParameterTypeDescription
tickers
stringComma-separated list of tickers to filter (e.g., "AAPL,MSFT,GOOGL"). Max 100 tickers.
limit
integerMaximum number of companies to return (max: 5000)
offset
integerNumber of companies to skip for pagination

Response

Returns an array of company objects. Each object contains:

Response Fields

FieldTypeDescription
ticker
string
Stock ticker symbol (e.g., AAPL, MSFT)
company_name
string
Full legal company name
cik
string
SEC Central Index Key (10-digit identifier)
exchange
stringnullable
Stock exchange (NYSE, NASDAQ, etc.)
sic
stringnullable
Standard Industrial Classification code (4-digit)
filer_type
stringnullable
SEC filer type: domestic_operating, foreign_private_issuer, investment_company, other

Example Response

[
  {
    "ticker": "AAPL",
    "company_name": "Apple Inc.",
    "cik": "0000320193",
    "exchange": "NASDAQ",
    "sic": "3571",
    "filer_type": "domestic_operating"
  },
  {
    "ticker": "MSFT",
    "company_name": "Microsoft Corporation",
    "cik": "0000789019",
    "exchange": "NASDAQ",
    "sic": "7372",
    "filer_type": "domestic_operating"
  },
  {
    "ticker": "GOOGL",
    "company_name": "Alphabet Inc.",
    "cik": "0001652044",
    "exchange": "NASDAQ",
    "sic": "7370",
    "filer_type": "domestic_operating"
  }
]

Code Examples

Python

import requests

API_KEY = "your_api_key_here"
BASE_URL = "https://api.metricduck.com/api/v1"

# Get all companies (first 500)
response = requests.get(
    f"{BASE_URL}/companies/universe",
    headers={"Authorization": f"Bearer {API_KEY}"},
    params={"limit": 500}
)

companies = response.json()
print(f"Found {len(companies)} companies")

# Filter to specific tickers
response = requests.get(
    f"{BASE_URL}/companies/universe",
    headers={"Authorization": f"Bearer {API_KEY}"},
    params={"tickers": "AAPL,MSFT,GOOGL,AMZN,META"}
)

companies = response.json()
for company in companies:
    print(f"{company['ticker']}: {company['company_name']}")

JavaScript

const API_KEY = 'your_api_key_here';
const BASE_URL = 'https://api.metricduck.com/api/v1';

// Get all companies (first 500)
const response = await fetch(
  `${BASE_URL}/companies/universe?limit=500`,
  {
    headers: {
      'Authorization': `Bearer ${API_KEY}`
    }
  }
);

const companies = await response.json();
console.log(`Found ${companies.length} companies`);

// Filter to specific tickers
const filteredResponse = await fetch(
  `${BASE_URL}/companies/universe?` +
  new URLSearchParams({ tickers: 'AAPL,MSFT,GOOGL,AMZN,META' }),
  {
    headers: {
      'Authorization': `Bearer ${API_KEY}`
    }
  }
);

const filteredCompanies = await filteredResponse.json();
filteredCompanies.forEach(company => {
  console.log(`${company.ticker}: ${company.company_name}`);
});

Usage Notes

  • - The universe includes all SEC-filing companies (~5,500+ companies)
  • - Use tickers parameter to filter to specific companies
  • - SIC codes can be used to filter by industry (e.g., 7372 = Software)
  • - This endpoint is useful for discovering available companies before fetching financial data