# PIT > PIT is a point-in-time API for the US public record: every read is bounded to a past instant you choose. It is built for evaluating models on data they could not have trained on. Given an instant and a company, it returns the filings that were visible then, the timestamp field it filtered on, and a coverage certificate for every day it read. A certificate is our record of one source on one day. Two eval windows come with it. One is a frozen offline bundle that ships issuer-redacted and date-shifted control arms as files. The other is a live tape that has recorded the record forward every 15 minutes since 2026-08-26, which puts each new week past any published training cutoff. Subscription plans are $29, $79 and $499 a month. Host: `https://api.pit.aqx.llc`. Spec: OpenAPI 3 at `/v1/openapi.json`. Auth: `Authorization: Bearer pit_live_…`. The `/v1/sample` routes take no key and are limited to 30 requests a minute per IP. Corpus state, read from `/v1/meta` on 2026-08-26: 587,689 queryable rows across seven sources, under 612 coverage certificates, spanning 2008-09-01 to the last tape tick. The SEC and Federal Register backfill is certified through 2023-03-31; between that date and 2026-08-26 the corpus holds seven OFAC actions, the newest dated 2024-08-06, and nothing else. The live tape has been writing every 15 minutes since 2026-08-26. A lane says how a row got its timestamp; rows dated after that arrive on the `forward_first_seen` lane, stamped with the minute our poller first saw them. The row count therefore keeps rising. Behaviour that a short summary of this API usually gets wrong: - Each query names one timestamp field in `visible_by`, and the response repeats which one it used. `published_at` is the default; `available_at` and `committed_at` are the other two. Every response comes back in the same envelope, meaning the same wrapper of fields around the results. - `available_at` records first public availability that we hold evidence for, and `availability_basis` says what that evidence is. SEC publishes no dissemination clock, so every `sec.edgar` row carries null. Asking `visible_by=available_at` over SEC data therefore returns HTTP 409 with `count` as JSON null. - A gap in coverage returns HTTP 409 with `count` as JSON null, so a caller can tell an ingest hole from a day on which nothing was filed. A day we certified as complete with nothing matching returns HTTP 200 with `count: 0`. - Ticker to CIK is resolved at the query instant. Joining historical filings against today's ticker file drops renamed companies and is labeled `leakage_risk: current_universe`. ## Platform One product, four named capabilities over the same corpus and the same envelope. https://pit.aqx.llc/products describes them together, with what each one serves today. - **Corpus** — the certified history behind the as-of API. 587,689 queryable rows from seven public sources, oldest partition 2008-09-01, newest written by the tape. A partition is one source on one day. Flat parquet partitions, each with its own sha256, come with the Power plan and above. Filing text and the structured items on each filing are being crawled now, and serving them is the next release. The identity table still covers SEC ticker-to-CIK only. - **Tape** — the forward record. Every 15 minutes since 2026-08-26 a job reads the public record and stamps each new row with the minute our poller first saw it. Those rows arrive on the `forward_first_seen` lane and stream from `/v1/stream`. The cadence is 15 minutes today; a shorter one is under evaluation. - **Bundles** — `pit-eval-sec-2022-11_2023-03`, an offline release of the five contiguous SEC months. Three arms over the same 287,929 rows: as served, issuer redacted, and every date shifted ten years forward. `MANIFEST.json` carries a sha256 per file and pins the corpus version; `receipts.jsonl` carries one line per calendar day. Licensed apart from the plans, by email. - **Monitor** — the job that watches SEC index rewrites. SEC rebuilds its full and quarterly index files on Saturdays, folding in post-acceptance corrections. The job re-fetches each day we hold complete and compares the bytes against the receipt stored when we first fetched them. It then reports which rows were added, deleted or rewritten. The first public report has not run yet. ## API - [OpenAPI](https://api.pit.aqx.llc/v1/openapi.json): the `/v1` contract — envelope, parameters, error codes - [Quickstart](https://pit.aqx.llc/docs): two curls with no key, the Python client, and how keys work - [API reference](https://pit.aqx.llc/docs/api): envelope, headers, bound cursor pagination, twelve error codes, route lists - [Full agent ingest](https://pit.aqx.llc/llms-full.txt): the same reference concatenated into one file - [Sample news (SVB)](https://api.pit.aqx.llc/v1/sample/news?example=svb): a public as-of cut, watermarked `sample: true` - [Sample mapping (META)](https://api.pit.aqx.llc/v1/sample/mapping?example=meta): identity at an instant - [Sample coverage](https://api.pit.aqx.llc/v1/sample/coverage): the 16 certificates behind the samples - [Interactive demo](https://pit.aqx.llc/demo): four moments (`?example=svb`, `meta`, `aapl`, `fr`), each running two cuts at two instants ## Timestamps and coverage - [Filing timestamps](https://pit.aqx.llc/docs/clocks): `event_at`, `published_at`, `available_at`, `acceptance_at`, `committed_at`, and which three `visible_by` accepts - [Coverage certificates](https://pit.aqx.llc/docs/coverage): the certificate object, the four coverage key shapes, and the rules that refuse a cut - [Identity mapping](https://pit.aqx.llc/docs/mapping): half-open ticker to CIK intervals, and the `leakage_risk` label - [as-of](https://pit.aqx.llc/glossary/as-of): what an as-of query is - [Coverage certificate](https://pit.aqx.llc/glossary/coverage-certificate): the definition on its own page - [Lookahead bias](https://pit.aqx.llc/glossary/lookahead-bias): the ways a filings backtest reads the future, and what refuses each one ## Compare Each of these is a page with a comparison table. - [Directory](https://pit.aqx.llc/compare) - [PIT vs Massive](https://pit.aqx.llc/compare/pit-vs-massive): Massive sells the tape and PIT sells the knowledge cut, so the two complement each other. PIT does not resell Benzinga text - [PIT vs Tiingo](https://pit.aqx.llc/compare/pit-vs-tiingo): Tiingo News archives one publisher clock; PIT names the clock on every read and labels its gaps - [PIT vs Benzinga](https://pit.aqx.llc/compare/pit-vs-benzinga): Benzinga originates live catalysts, while PIT reconstructs the public record at a chosen instant - [PIT vs NewsAPI](https://pit.aqx.llc/compare/pit-vs-newsapi): NewsAPI and Newscatcher search headlines across the open web; PIT certifies filings from named government sources - [PIT vs RavenPack](https://pit.aqx.llc/compare/pit-vs-ravenpack): RavenPack sells sales-led news analytics with a sentiment score; PIT is self-serve and scores nothing - [Forward-only arenas](https://pit.aqx.llc/compare/forward-only-arenas): secrecy, freshness and provenance are the three contamination controls, and only one of them can replay a past window - [Alternatives to sec-api.io](https://pit.aqx.llc/alternatives/sec-api-io): sec-api.io indexes 20 million EDGAR filings back to 1993 and sells the filing text; PIT bounds a query to an instant and states which days it read - [Alternatives to Benzinga News API](https://pit.aqx.llc/alternatives/benzinga-news-api) - [Alternatives to Tiingo News](https://pit.aqx.llc/alternatives/tiingo-news) ## Use - [LLM backtest without lookahead](https://pit.aqx.llc/use/llm-backtest-without-lookahead): name `visible_by`, then stop on a coverage gap rather than imputing a zero - [SEC 8-K as-of](https://pit.aqx.llc/use/sec-8k-as-of): the default `published_at` bound, and why `available_at` stays null without dissemination evidence - [Why forward-only cannot backtest](https://pit.aqx.llc/use/why-forward-only-cannot-backtest): the measured sign flip from +5.13% on the naive clock to -2.02% on the reachable one, and what the same run costs waiting forward ## Plans and license - [Pricing](https://pit.aqx.llc/pricing): Researcher $29/mo, Power $79/mo and Desk $499/mo, founding prices. All three read the whole corpus and the live tape; the rate limit, the key cap and the parquet files are what differ. The subscription covers the tape running, identity intervals kept current, a weekly diff of SEC's index rewrites against our receipts, and new sources. Access is paid; the sample routes are the only free surface. Each account belongs to one person, and no plan has seats. The eval bundle is priced apart from the plans, by email - [License](https://pit.aqx.llc/legal/license): a self-serve key covers internal research and applications you operate for yourself or your employer - [Commercial](https://pit.aqx.llc/commercial): required if your end users receive PIT data, or if you redistribute it - [Terms](https://pit.aqx.llc/legal/terms) - [Privacy](https://pit.aqx.llc/legal/privacy) - Contact: operations@aqx.llc ## Optional - [Changelog](https://pit.aqx.llc/changelog): dated notes in Keep a Changelog groups - [Security](https://pit.aqx.llc/security): reports go to operations@aqx.llc. PIT holds no SOC 2 or ISO certification - [security.txt](https://pit.aqx.llc/.well-known/security.txt): RFC 9116 - [Sitemap](https://pit.aqx.llc/sitemap.xml) - [/company](https://pit.aqx.llc/company): AQX LLC and how PIT is operated - [/status](https://pit.aqx.llc/status): live self-reported service state - [/solutions/eval-builders](https://pit.aqx.llc/solutions/eval-builders): PIT for LLM eval builders - [/solutions/quant-research](https://pit.aqx.llc/solutions/quant-research): PIT for systematic researchers - [/solutions/accountable-teams](https://pit.aqx.llc/solutions/accountable-teams): PIT for teams whose claims get audited - [/docs/mcp](https://pit.aqx.llc/docs/mcp.md): connect PIT to Claude Code, Cursor, and other MCP clients - [/academy](https://pit.aqx.llc/academy): six-module curriculum on time-aware agent evaluation, with honest status per module - [/academy/module-1](https://pit.aqx.llc/academy/module-1): the published lesson - run `pit-harness` over a frozen SEC window with the network off, then verify the receipt - [/products/harness](https://pit.aqx.llc/products/harness): open-source evaluation runner (Apache-2) - [/products/certificates](https://pit.aqx.llc/products/certificates): signed, publicly verifiable run certificates - [/products/reasoning-audits](https://pit.aqx.llc/products/reasoning-audits): claim-level leak detection in agent traces - [/benchmarks](https://pit.aqx.llc/benchmarks): measured leakage results and the control-arm method - [/registry](https://pit.aqx.llc/registry): certified runs and the published quorum rule