Paginated off-exchange (TRF) prints
https://api.skylit.ai/v1/dark-pool/tradesServer-side filtered dark-pool prints from the off-exchange tape
(FINRA TRF, publisher FINN/FINC). Defaults to today (ET) with a
$1,000,000 minimum notional (the blocks-by-default rule); pass
min_notional=0 for every print of the requested tickers. Requests
without tickers need min_notional of at least 100,000. The
trade-date span is capped at 31 days per request. Prints carry
no side, BBO, or greeks.
Paging. Follow meta.nextCursor (pass it back as cursor with the
same filters) to walk any number of prints without gaps or repeats,
even while new prints arrive. order=asc always returns a cursor, so
repeating the last call picks up prints reported since. offset
(max 50,000) still works for short scrolls; it cannot be combined with
cursor.
Polling. after / before bound the trade time exactly (ISO-8601
or epoch nanoseconds), and set the trade-date range when no date
parameter is given.
Authorization
Authorization: Bearer <your API key>Required. A missing header returns 401; an invalid, revoked or expired key returns 403.
Query parameters
tickersstringComma-separated tickers to include (e.g.
AAPL,NVDA, max 50). Omit for all names.datestringdateSingle trade date (
YYYY-MM-DD, ET). Defaults to today (ET).date_startstringdateInclusive start of a trade-date range (
YYYY-MM-DD, ET). Max span 31 days.date_endstringdateInclusive end of a trade-date range (
YYYY-MM-DD, ET). Max span 31 days.time_startstringInclusive lower bound of the time-of-day window (
HH:MM, ET).time_endstringInclusive upper bound of the time-of-day window (
HH:MM, ET).min_notionalnumberdoubledefault1000000Minimum notional (USD). Defaults to 1,000,000. Pass 0 for the firehose.
max_notionalnumberdoublemin_sizeintegermin 0max_sizeintegermin 0min_pricenumberdoublemax_pricenumberdoublemin_avg_volnumberdoubleMinimum AvgVol — the print's size as a percent of the underlying's average daily volume (
pctAvgVol). Prints with no known ADV are excluded when this is set.max_avg_volnumberdoubleMaximum AvgVol (percent of average daily volume). Prints with no known ADV are excluded when this is set.
sectorsstringComma-separated GICS sectors to include.
industriesstringComma-separated GICS industries to include.
venuestringReporting venue filter. Omit for both.
FINNFINClimitintegerdefault500min 1 · max 5000Page size (server caps at 5000).
offsetintegerdefault0min 0 · max 50000Row offset for pagination.
orderstringdefaultdescDirection of
sort.ascdescsortstringdefaulttimetime(default),notionalorsize. Largest-first ranking (sort=notional) is paged withoffset;nextCursoris time-only.timenotionalsizecursorstringmeta.nextCursorfrom the previous page (time sort only).afterstringOnly prints strictly after this instant (ISO-8601 or epoch nanoseconds).
beforestringOnly prints strictly before this instant (ISO-8601 or epoch nanoseconds).
Responses
- 200
Paginated dark-pool prints for the requested filters.
- 400
Request validation failed.
- 401
Missing or invalid API key.
- 402
The account's shared Skylit credit balance is lower than this route's cost. Top up to continue. Carries
X-Credits-Remaining: 0. - 403
Unknown, revoked or expired API key (the gateway's
forbidden), the account's API access is suspended (account_suspended) or blocked (account_blocked). Not retryable. - 404
Unknown ticker or contract (
SYMBOL_NOT_FOUND), or no data for the requested window. Not charged. - 429
Either the key exceeded its requests-per-minute limit (
X-RateLimit-Limit; noRetry-After, wait untilX-RateLimit-Reset), or the account is over one of the API's own limits, such as the query budget (queries running at once, fresh queries per second):TOO_MANY_CONCURRENT_QUERIESorRATE_LIMITEDwithRetry-After. Not charged; retry after the wait. - 500
Unexpected server error (
INTERNAL_ERROR,DATABASE_ERROR). Not charged; safe to retry with exponential backoff. - 503
Underlying data source temporarily unavailable, the credit balance could not be verified (
credit_check_failed), or the API is paused for maintenance (api_paused, with aRetry-Afterheader and aretry_afterfield in seconds). Not charged; safe to retry. - 504
The request did not complete within 25 seconds. Not charged; narrow the window or retry.
Response fields
dataobject[]requiredtimestampstringdate-timerequiredTrade time, ISO-8601 UTC (millisecond precision).
tickerstringrequiredUnderlying (dotted equity symbol, e.g.
BRK.B).pricenumberdoublerequiredsizeintegerrequiredShares.
notionalnumberdoublerequiredprice × size(USD).venuestringrequiredFINRA TRF reporting venue.
FINNFINCsectorstringrequiredGICS sector of the underlying.
industrystringrequiredGICS industry of the underlying.
pctAvgVolnumber | nulldoublePrint size as a percent of the underlying's average daily volume (
size ÷ ADV × 100, e.g.15.53= 15.53% of a normal day's consolidated volume). ADV is a consolidated average daily volume, refreshed daily. Omitted when no ADV is available for the ticker (recent IPO, alternate-class symbol, or ADV not yet loaded).
metarequired
Last updated