---
title: "US Equities OTC Market Compliance Data"
method: GET
path: "/v1/data/us-equity-ref/otc-market-compliance/{identifier}"
tags: ["us-equity-ref-market-structure-compliance"]
---

# US Equities OTC Market Compliance Data

`GET /v1/data/us-equity-ref/otc-market-compliance/{identifier}`

The U.S. Equities OTC Market Compliance dataset provides comprehensive reference and compliance information for the full universe of U.S. over-the-counter (OTC) equity securities, covering approximately 22,000 instruments. The dataset includes core security attributes such as ticker symbol and security name, along with key OTC-specific compliance classifications. These include penny stock status, OTC recommendation rule exemptions, OTC marketplace and tier designation, Caveat Emptor status, company reporting standard, shell company status, shares outstanding, and the number of market participants. For cross-vendor interoperability, each security is also supplemented with a FIGI identifier. This dataset is designed to support regulatory monitoring, compliance workflows, risk controls, and security master enrichment for OTC-traded equities, where regulatory attributes and disclosure status materially affect trading eligibility and risk assessment. Data is available  starting November 2024

 For more details, please refer to the dataset documentation: [US Equities OTC Market Compliance Data Guide](https://us-equity-reference-docs.s3.us-east-1.amazonaws.com/US.Equity.OTC.Market.Compliance.Data.Guide.pdf).

<details>
<summary>**Advanced Filtering**</summary>

You can provide one or multiple filter expressions based on the dataset's columns to narrow down the results. For example, `StartDate.gt=2023-01-01&StartDate.lt=2023-12-31`, `Ticker=AAPL`. 

Please refer to the <a href="https://algoseek.com/docs/rest-api/tutorial/advanced-filtering">Advanced Filtering Guide</a> for the extensive reference.
</details>

## Path parameters

- `identifier` string, required — Dataset's security identifier

## Query parameters

- `period` string, nullable — A string representing the time period for which to retrieve data. The format and accepted values depend on the dataset. If not provided, data for all available periods will be returned.
- `sort` string, nullable — Sorting criteria for the results. Provide a column name with optional prefix '+' for ascending order, or prefix with '-' for descending order. Multiple sorting fields may be supported depending on the dataset. If sort prefix is not provided, the ascending order is applied.
- `columns` string, nullable — A comma-separated list of columns to include in the response. Use this parameter to select only specific fields from the dataset. If not provided, all available columns will be returned.
- `offset` integer — Number of records to skip before returning results. To be used with the `limit` parameter for pagination. If not provided, defaults to 0.
- `limit` integer — Maximum number of records to return. Default and maximum values depend on the response format; see `format_limits` in the schema for details.
- `response_format` 'json' | 'csv' | 'csv_gzip' — Note the lowercase which is used for the consistency with other projects and tools

## Response `200`

JSON, CSV file, or gzip-compressed CSV file, depending on the value of `response_format` query parameter

- USEquitiesOTCMarketComplianceDataDataOut
  - `data` USEquitiesOTCMarketComplianceDataDataDetailsOut[], required
    - `TradeDate` string, date, nullable — File creation date
    - `SecId` integer, nullable — OTC Markets Group unique identifier for security
    - `CompId` integer, nullable — OTC Markets Group unique company identifier for security
    - `Ticker` string, nullable — US markets symbol
    - `FIGI` string, nullable — The current FIGI code of the security
    - `ShareClassFIGI` string, nullable — The current global FIGI code of the security
    - `CompanyName` string, nullable — Company Name
    - `SecurityName` string, nullable — Security Name
    - `Venue` string, nullable — US trading venue
    - `SecurityType` string, nullable — Security Type (e.g. common, unit, warrant )
    - `SecurityClass` string, nullable — Security Class
    - `CaveatEmptor` string, nullable — Caveat Emptor (Buyer Beware) Flag (Y/N)
    - `OTCTier` string, nullable — OTC Market Tier – tier details outlined in appendix
    - `OTCTierId` integer, nullable — OTC Tier identifier
    - `ReportingStandard` string, nullable — Company reporting standard
    - `SecurityStatus` string, nullable — Security Status
    - `ProprietaryQuoteEligible` string, nullable — Security is eligible for proprietary quoting under SEC Rule 15c2-11
    - `PennyStockExempt` string, nullable — Notes whether the security is exempt from being classified as a penny stock under SEC Rule 3a51-1: Y = Penny Stock exempt, N = Does not qualify for any of the exemptions under Rule 3a51-1
    - `PSPriceExemption` string, nullable — If the security has a closing inside bid price of >= $5 then the security is exempt from being classified as a penny stock. Inside bid price requires 2 priced quotes to be valid. Y = Price Exemption, N = Does not qualify for Price Exemption. If security type = Unit then the closing inside bid divided by the number of common stock within the unit must be >= $5. In addition, any warrants or rights within the unit must have an exercise price >= $5 If security type = ADR, GDR or NYRS then the inside bid divided by the DR: Ordinary ratio must be > = $ 5
    - `PreviousClosingInsideBid` number, nullable — Closing Inside Bid on previous trading day. 2 priced quotes required for a closing bid
    - `PreviousLastTrade` number, nullable — Previous Last Sale for security
    - `InvestmentCompanyExemption` string, nullable — If the issuer (company) is an investment company registered under the Investment Company Act of 1940 then the security is automatically exempt from being classified as a penny stock. Y = Investment Company Exemption, N = Does not qualify for Investment Company Exemption
    - `PSQualifiedFinancials` string, nullable — IF OTC Markets does not have access to the required financials data in order to properly note the Net Tangible Asset or Average Revenue exemptions then value = N, Y = Required Financial Data Available, N = Required Financial Data Not Available
    - `NetTangibleAssetsExemption` string, nullable — If the issuer has been in continuous operation for at least 3 years and has Net tangible assets (i.e., total assets less intangible assets and liabilities) in excess of $2,000,000, or if the issuer has been in continuous operation for less than 3 years and has Net Tangible Assets of $5,000,000 the associated securities are exempt from being classified as a penny stock. Y = Net Tangible Assets Exemption, N = Does not qualify for Net Tangible Assets. Exemption Note: Above logic depends on qualified financial data being available. See Qualified Financial Data Available Field.
    - `NetTangibleAssets` string, nullable — $ value of most recent annual Net Tangible Assets
    - `NetTangibleAssetsPED` string, date, nullable — Period End Date of NTA value
    - `AverageRevenueExemption` string, nullable — If the issuer’s mean revenue for the trailing 3 years >= $6 Million then the associated securities are exempt from being classified as a penny stock. Y = Average Revenue Exemption, N = Does not qualify for Average Revenue. Exemption: Note: Above logic depends on qualified financial data being available. See Qualified Financial Data
    - `AverageRevenue` string, nullable — $ value of Average Revenue for past 3 years
    - `OTCRecRuleExempt` string, nullable — If any of the OTC Recommendation Rule exemption = Y then value = Y ELSE value = N. Note: The exemption flag only applies to the exemptions noted below. It is possible that other exemptions noted in FINRA Rule 2114 apply (e.g. transaction level exemptions).
    - `OTCRecRulePriceExemption` string, nullable — If the security has a closing inside bid price of > = $50 then the security is exempt from the OTC. Recommendation Rule. Inside bid prices requires 2 priced quotes to be valid. Y = Price Exemption, N = Does not qualify for Price Exemption. If security type = Unit then the closing inside bid divided by the number of common stock within the unit must be > = $50. If security type = ADR, GDR or NYRS then the closing last trade or inside bid divided by the DR: Ordinary ratio must be > = $ 50 Previous Day Closing Bid Price noted above
    - `OTCRecRuleQualifiedFinancials` string, nullable — If OTC Markets does not have access to the required financials data in order to properly note Asset/Shareholder Equity exemption then value = N, Y = Required Financial Data Available, N = Required Financial Data Not Available
    - `OTCRecRuleAssetExemption` string, nullable — If the issuer has > = $50 Million in Total Assets AND > = 10 Million in Shareholder Equity for the most recent financial statements then the associated securities are exempt from the OTC recommendation rule. Y = Asset/Shareholder Equity Exemption, N = Does not qualify for Asset/Shareholder Equity Exemption
    - `TotalAssets` string, nullable — $ Value of Total Assets for most recent annual financial statement
    - `ShareholderEquity` string, nullable — $ Value of Shareholder Equity most recent annual financial statement
    - `LastBalanceSheetPED` string, date, nullable — Date of most recent annual Balance Sheet
    - `LastIncomeStatementPED` string, date, nullable — Date of most recent annual Income Statement
    - `OTCRecRuleBankExemption` string, nullable — If the issuer is a bank or insurance company, then the associated securities are exempt from the OTC recommendation rule. Y = Bank/Insurance Exemption, N = Does not qualify for Bank/Insurance Exemption
    - `144AInformationAvailable` string, nullable — If Issuer is exempt from reporting under Rule 12g3-2b or if current financial information is available for the issuer then value = Y else value = N. Y = Exempt or Required Financial Data Available, N = Required Financial Data Not Available
    - `144A12g32bExemption` string, nullable — Y = Exempt under Riule 12g3-2b, N = Not Exempt under Rule 12g3-2b
    - `144AFinancialDataExemption` string, nullable — If current Financial information is available then value = Y else value = N. Y = Current Financial Information Available, N = Current Financial Information Not Available
    - `LastAnnualBalanceSheetPED` string, date, nullable — Date of most recent annual Balance Sheet
    - `FiscalYearEnd` integer, nullable — Fiscal year end data in format of ddmm
    - `FilingCycle` string, nullable — Filing cycle of company
    - `LastReportDate` string, nullable — Date of last 10K, Q, 8K or Alternative Report
    - `LastReportType` string, nullable — Type of last reportType of last report
    - `12g32bExemptStatus` string, nullable — Flag noting whether company is exempt from SEC Reporting under Rule 12g3-2b
    - `Bankruptcy` string, nullable — Flag noting whether company is in bankruptcy
    - `Shell` string, nullable — Flag noting whether the company is a shell company
    - `BankThrift` string, nullable — Flag noting whether the company is either a bank/thrift or non-bank regulated company (e.g. insurance)
    - `AuditedFinancials` string, nullable — Flag noting whether the companys financials are Audited
    - `MarketParticipants` integer, nullable — Number of broker-dealers quoting the security
    - `20DayAvgVolume` integer, nullable — Mean share volume for past 20 trading days
    - `30DayAvgVolume` integer, nullable — Mean share volume for past 30 trading days
    - `LastSplitDate` string, date, nullable — Last date of forward or reverse share dividend (split)
    - `LastSplitRatio` number, nullable — Share amount per 1 share of stock pre-split. Numbers > 1 = forward split. Number < 1 = reverse split.
    - `LastSplitComments` string, nullable — Text comments relating to respective split
    - `PreviousSplitDate` string, date, nullable — Previous date of forward or reverse share dividend (split)
    - `PreviousSplitRatio` number, nullable — Share amount per 1 share of stock pre-split.
    - `PreviousSplitComments` string, nullable — Text comments relating to previous split
    - `HomeMarketTradingTicker` string, nullable — Home market symbol for foreign securities (e.g. F shares, ADRs)
    - `HomeMarketTradingVenue` string, nullable — Home market trading venue for foreign securities
    - `HomeMarketTradingVenueTier` string, nullable — Home market trading venue tier. A venue tier is a subset of the main venue. For example the LSE AIM market.
    - `SharesOutstanding` string, nullable — Shares outstanding for respective security
    - `SharesOutstandingAsOfDate` string, date, nullable — Shares outstanding as of date
    - `TransferAgentVerified` string, nullable — Flag noting if shares outstanding data is received directly from Transfer Agent
    - `CompanyProfileVerified` string, nullable — Flag noting if company profile data (e.g. description, officers, directors etc) is verified by the issuer. Verified data may not be more than six months old. See Company Profile Verified as of date field.
    - `CompanyProfileVerifiedAsOfDate` string, date, nullable — Profile verification as of date
    - `TransferAgent` string, nullable — Transfer Agent(s) associated with security. If multiple transfer agents are associated with security they will be separated by a semi-colon.
    - `TierAbbreviation` string, nullable — The tier abbreviation field supplies the 2 letter abbreviation associated with respective securitys OTC Tier
    - `UNSQuoteOnly` string, nullable — Notes whether the security may only be quoted Unsolicited on OTC Link ATS (Y/N Flag)
    - `OTCLinkECNEligibleFlag` string, nullable — Notes whether the security is eligible for OTC Link ECN (Y/N)
    - `DisclosureStatus` string, nullable — Issuer Disclosure Status
    - `ProprietaryQuoteEligibleEntryReasonCodes` string, nullable — Notes 15c-211 compliance basis for Proprietary Quote Eligibility. Multiple reason codes (integer(s)) are possible and will be delimited with a semi-colon (;). See Table 6 for Reason Code mapping and descriptions and applicable rule sections
    - `DeterminationDates` string, nullable — Notes determination date(s) for Proprietary Quote Eligibility Reason Code(s). Multiple dates are possible and will be delimited with a semi-colon(;). Dates will correlate to order of PQE Reason Codes.
    - `GracePeriod` string, nullable — Notes if security is in Grace Period for Rule 15c-211 compliance
    - `GracePeriodAnticipatedEndDate` string, date, nullable — Notes anticipated final date of Grace Period for Rule 15c-211. If no change to 15c-211 compliance status prior to end date the security will lose Proprietary Quote Eligible status on following trading day.
    - `211ShellFlag` string, nullable — Notes if issuer is a shell company under rule 15c2-11
    - `211ShellAsOfDate` string, date, nullable — Date of initial proprietary quote for security (regardless of shell status). As of date is basis for 18 month limited application of piggyback exemption. Post 18 month timeframe (and continued 211 Shell flag = Y) the security will not qualify for piggyback exemption and may lose proprietary quote eligibility
    - `211ShellDaysRemaining` string, nullable — Number of days remaining on 18 month shell timeframe for piggyback exemption. If 18 month shell timeframe for piggyback exemption has expired, then value will be null
  - `pagination` PaginationDetailsOut, required
    - `offset` integer — The number of records skipped to fetch the current page
    - `limit` integer, required — The maximum number of records in the current page
    - `next_offset` integer, nullable — The number of records to skip to fetch the next page

## Other responses

- `403` — Forbidden
- `422` — Validation Error
- `429` — Request rejected because the identity or team exceeded a configured monthly or per-minute usage quota. When available, the response includes rate-limit headers describing the current quota.

---

[API](https://skmtc.net/algoseek/apis/datasets-api.md) · [All operations](https://skmtc.net/algoseek/apis/datasets-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/algoseek/datasets-api/revisions/1c983de099e2/schema)
