otcmarkets.com APIotcmarkets.com ↗
Access real-time OTC stock quotes, company profiles, compliance badges, news, and market advancers for 12,000+ OTC securities via the OTC Markets API.
curl -X GET 'https://api.parse.bot/scraper/ad4d4a80-010c-46dc-aa7e-eed4a2b7502b/get_company_profile?symbol=OTCM' \ -H 'X-API-Key: $PARSE_API_KEY'
Get detailed company profile for an OTC-listed company, including business description, contact information, key executives, securities details, and incorporation information.
| Param | Type | Description |
|---|---|---|
| symbolrequired | string | Stock ticker symbol (e.g., OTCM, GTII) |
{
"type": "object",
"fields": {
"city": "string, city of headquarters",
"name": "string, company name",
"phone": "string, company phone number",
"country": "string, country name",
"website": "string, company website URL",
"address1": "string, street address",
"securities": "array of security objects with symbol, cusip, tierName, outstandingShares",
"businessDesc": "string, full business description",
"premierDirectorList": "array of premier director objects with name, title, and biography"
},
"sample": {
"data": {
"id": 674812,
"city": "New York",
"name": "OTC Markets Group Inc.",
"phone": "+1 (555) 012-3456",
"country": "United States",
"website": "http://www.otcmarkets.com",
"address1": "300 Vesey Street (One North End Ave)",
"securities": [
{
"cusip": "67106F108",
"symbol": "OTCM",
"tierName": "OTCQX U.S."
}
],
"businessDesc": "OTC Markets Group Inc. (OTCQX: OTCM) operates regulated markets...",
"premierDirectorList": [
{
"name": "John Doe",
"title": "Chairman",
"boards": "Independent Director"
}
]
},
"status": "success"
}
}About the otcmarkets.com API
The OTC Markets API covers 12,000+ OTC-listed securities across 6 endpoints, returning real-time quotes, full company profiles, compliance risk badges, and market advancers. The get_stock_quote endpoint delivers bid/ask prices, EPS, P/E ratio, and market cap in a single call, while get_company_badges flags whether a company is dark, bankrupt, delinquent, or carries a caveat emptor designation.
Company Data and Quotes
The get_company_profile endpoint accepts a ticker symbol and returns the company's registered address, phone number, website, business description, outstanding shares, CUSIP, tier name, and a list of directors with biographies. get_stock_quote returns last sale price, bid and ask prices, volume, percent change, previous close, market cap, EPS, and P/E ratio — all keyed by symbol. Both endpoints require only the symbol parameter.
Compliance and Risk Flags
get_company_badges is the dedicated compliance endpoint. It returns six boolean fields per symbol: isDark, isShell, isBankrupt, isDelinquent, isCaveatEmptor, and verifiedProfile. These flags correspond directly to the designations OTC Markets publishes on company pages and are useful for filtering out high-risk securities before further analysis.
News, Advancers, and Symbol Discovery
get_company_news accepts a required symbol parameter plus optional page and page_size for pagination. Each record in the records array includes the article ID, title, release date, source description, and associated symbol; totalRecords tells you how many items exist across all pages. get_advancers returns top-gaining stocks for a specific tier — QX, QB, DQ, or ALL — sorted by pctChange descending, with each record including symbol, price, share volume, and tier name. list_symbols requires no parameters and returns the full universe of OTC-listed securities as an array of objects with symbol (s), company name (c), venue (v), and tier ID (t).
- Screen for top OTC gainers by tier using
get_advancerswith thetierparameter set to QX, QB, or DQ - Flag high-risk holdings in a portfolio by batch-calling
get_company_badgesand filtering onisCaveatEmptororisDark - Build an OTC stock screener that combines real-time P/E ratios and market cap from
get_stock_quotewith compliance flags - Populate a company directory with contact details, business descriptions, and executive bios from
get_company_profile - Monitor press releases and news flow for specific OTC tickers using paginated results from
get_company_news - Enumerate the full OTC-listed universe via
list_symbolsto seed a database or reconcile a watchlist - Identify shell companies or delinquent filers across a portfolio using the boolean fields returned by
get_company_badges
| 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 OTC Markets have an official public developer API?+
What does `get_company_badges` actually return, and how is it different from a quote?+
get_company_badges returns six boolean compliance flags — isDark, isShell, isBankrupt, isDelinquent, isCaveatEmptor, and verifiedProfile — for a given symbol. It contains no price data. Quote data (last sale, bid/ask, volume, EPS, P/E) lives exclusively in get_stock_quote.Can I filter news by date range or news source?+
get_company_news supports pagination via page and page_size, and requires a symbol. It does not currently expose date-range or source-type filter parameters — results are returned in the order the endpoint provides them. You can fork the API on Parse and revise it to add a date-filtering layer on top of the paginated response.Does the API expose historical price data or OHLCV time series?+
How does `list_symbols` handle the full OTC universe, and what fields does it include?+
list_symbols takes no parameters and returns all listed OTC securities in a single response. Each object in the data array includes a short symbol (s), company name (c), venue (v), and tier ID (t). It is intended for bulk enumeration or database seeding, not per-company detail — use get_company_profile or get_stock_quote for richer per-symbol data.