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 hasstatus: "pending" and every analysis field set to null: screens, revenue, purification, stability and filing.
Detect pending
Branch ondetermination.status, and treat pending as “not analyzed yet”, not as an error.
- Node.js
- Python
- React
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 withPOST /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:
"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’spending 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.
