Screener API

8 endpoints in this group.

POST /api/screener

Run Screener

Screen the maintained ticker universe.

Rows come from the maintained tickers table joined with SEC EDGAR company_facts_snapshots (public_redistributable license tier only) plus the live quote/technical/performance snapshots. Earlier versions of this endpoint anchored on symbol_profile_snapshots and related FVW2 tables that nothing in the pipeline writes, so every screen always returned zero rows .

A few field groups are explicitly null because no approved live source exists yet: enterprise_value, forward_pe, peg, target_price_avg/target_price_high/target_price_low, and the rating_consensus/rating_count analyst fields. market_cap is computed from an approved quote price times EDGAR shares_outstanding (also null when either input is missing), never from unlicensed provider data. asset_type recognizes a maintained ETF allowlist and otherwise reports equity.

dividend_yield, annual_dividend, and ex_dividend_date are deprecated: no approved live dividend source exists, so they are excluded from GET /api/screener/filters and rejected with unsupported_field/unsupported_column if requested by key, rather than silently reporting "no matches" against a field that can never carry data.

Parameters

NameInTypeRequiredDescription
as_of_sessionquerybooleanoptional

Request body: application/json

Responses

CodeDescription
200Successful Response
422Validation Error

POST /api/screener/ai-build

Ai Build Screen

Build a screener spec from a natural-language prompt.

Gated by the master stock_screener_ai flag (503 when off). The LLM engine is a separate opt-in flag; when off/unreachable the service falls back to keyword rules and returns degraded=True.

Request body: application/json

Responses

CodeDescription
200Successful Response
422Validation Error

POST /api/screener/export.csv

Export Screener Csv

Request body: application/json

Responses

CodeDescription
200Successful Response
422Validation Error

GET /api/screener/filters

Screener Filters

Responses

CodeDescription
200Successful Response

POST /api/screener/run

Run Screener

Screen the maintained ticker universe.

Rows come from the maintained tickers table joined with SEC EDGAR company_facts_snapshots (public_redistributable license tier only) plus the live quote/technical/performance snapshots. Earlier versions of this endpoint anchored on symbol_profile_snapshots and related FVW2 tables that nothing in the pipeline writes, so every screen always returned zero rows .

A few field groups are explicitly null because no approved live source exists yet: enterprise_value, forward_pe, peg, target_price_avg/target_price_high/target_price_low, and the rating_consensus/rating_count analyst fields. market_cap is computed from an approved quote price times EDGAR shares_outstanding (also null when either input is missing), never from unlicensed provider data. asset_type recognizes a maintained ETF allowlist and otherwise reports equity.

dividend_yield, annual_dividend, and ex_dividend_date are deprecated: no approved live dividend source exists, so they are excluded from GET /api/screener/filters and rejected with unsupported_field/unsupported_column if requested by key, rather than silently reporting "no matches" against a field that can never carry data.

Parameters

NameInTypeRequiredDescription
as_of_sessionquerybooleanoptional

Request body: application/json

Responses

CodeDescription
200Successful Response
422Validation Error

GET /api/screener/saved

List Saved Screens

Responses

CodeDescription
200Successful Response

POST /api/screener/saved

Save Screen

Request body: application/json

Responses

CodeDescription
200Successful Response
422Validation Error

DELETE /api/screener/saved/{screen_id}

Delete Saved Screen

Parameters

NameInTypeRequiredDescription
screen_idpathintegerrequired

Responses

CodeDescription
200Successful Response
422Validation Error

Occasional BlitzPulse product updates and offers, sent only if you tick the box and confirm your address.

How we handle your email

Footer Disclaimer BlitzPulse is educational decision support only. Not investment, tax, or legal advice. Not a broker. Trade at your own risk.