Skip to main content

Overview

When you request /compliance for an instrument we haven’t analyzed yet, the API returns a normal response with determination.status: "pending" and the analysis fields set to null. It doesn’t return an error, and reading it doesn’t start an analysis. On the Plus or Developer plan, you can request one.
All 12 sandbox instruments are analyzed, so no sandbox stock comes back pending. You’ll meet pending on a live key, against the full universe, and in an ETF’s holdings.

What a pending response looks like

A pending instrument has status: "pending" and every analysis field set to null: screens, revenue, purification, stability and filing.
A pending response doesn’t start an analysis and has no retry_after. Fetching the same symbol again in a loop won’t change the result, and every request counts against your rate limit. (retry_after appears only on 429 errors.)

Detect pending

Branch on determination.status, and treat pending as “not analyzed yet”, not as an error.

Pending in a portfolio screen

POST /screen returns compliance_status: "pending" for any symbol we haven’t analyzed yet. Split the results by status:

What to show users

Request an analysis

On the Plus or Developer plan, you can ask us to analyze a pending stock with POST /analysis-requests. If someone has already asked, you join that analysis instead of starting a second one. Poll the request until it’s complete, then read the result from /compliance:
Each new request counts against your account’s on-demand analysis allowance: 10 a day on the Plus and Developer plans, with up to 3 running at once. Add "notify": true to the request if you’d also like an email when we publish the result. The endpoint reference has the full list of refusals, such as a stock with no filings we can screen from.

When a pending symbol gets a result

A symbol that’s pending today may return a full result later, once we analyze it. Cache the results you’ve fetched, check pending symbols again from time to time (for example, the next time a user opens that stock), and show the neutral state until then. Don’t block a page on a pending symbol or treat pending as an error.