Skip to content

Product

From filing to sourced table, before you sit down.

Basis reads the document, extracts every figure with a citation, and assembles the comparison. The gathering is done. The judgment is yours.

01How Basis reads

Three steps, in order, every time.

The process is the same whether the source is a 10-K, an earnings call, or an 8-K filed after market. Ingest, extract, draft.

  1. 01

    Ingest the sources

    Point Basis at a ticker, a filing, a transcript, or a PDF. It reads the whole document, tables and footnotes included, and holds the raw text alongside the extraction.

  2. 02

    Extract with citations

    Every figure it pulls is linked to the exact line it came from. Revenue, margins, segment data, covenants, guidance. Each one clicks back to its source. Nothing is invented.

  3. 03

    Draft the analysis

    Basis assembles the comparable table, flags what changed since last quarter, and drafts the write-up. You edit the judgment. The gathering is already done.

Basis reads the entire document: inline body text, tables, footnotes, and attached exhibits. Every table is parsed as structure, not as an image. Every number that leaves the extraction step carries the line it came from.

02The citation graph

Every extracted figure links to the exact source line.

The extraction step does not summarize. It reads each sentence, identifies a figure, records the line that produced it, and stores the link. The graph is queryable and it travels when you export.

Source: Q3 FY2025 earnings call · CFO prepared remarks

L1

Revenue for the third quarter was $1.42 billion, up 11.4% from $1.275 billion a year ago.

L2

Gross margin expanded 140 basis points year over year to 38.6%.

MetricValueSrc
Revenue$1.42BL1
Gross margin38.6%L2

The source chip on each row is not cosmetic. Click it and the document opens at that line. The citation travels when you export the table, so a colleague who did not read the call can verify any figure in one step.

When a figure appears in more than one location in a filing (a revenue number in the MD&A and again in the segment table, for instance), Basis records both instances and flags the primary source. Discrepancies between instances are surfaced rather than silently resolved.

When a value is ambiguous in the source ("approximately", "roughly", or a range stated without a midpoint), Basis preserves the verbatim language and does not substitute a point estimate.

03Across documents

The same extraction layer, across every source type.

Annual report, earnings call, material event. The extraction schema adapts to the document. The citation model is the same.

Extracted fieldValueSource
Total revenue$5.41B10-K p. 48
Gross profit$2.09B10-K p. 48
Operating income$874M10-K p. 49
Freight segment contribution$623M10-K p. 54
Logistics segment contribution$251M10-K p. 54
Adjusted EBITDA (non-GAAP)$1.13B10-K p. 61 Note 7
Net leverage (debt / adj. EBITDA)2.4×10-K p. 63
FY guidance (revenue)$5.6–5.8B10-K p. 37

Illustrative extraction from fictional NWFS annual filing. Basis reads every table in the filing, including non-GAAP reconciliation footnotes. Each row links to the page and paragraph it came from.

04Comparable tables

Normalize the periods. Reconcile the non-GAAP. Show the work on every cell.

Basis does not ask you to trust the table. Every cell links to the source line, and every non-GAAP adjustment is traced to the reconciliation footnote that produced it.

Period normalization

Companies report on fiscal years that do not align with the calendar. When you compare NWFS (fiscal year ends March) to a peer on a December calendar, Basis identifies the mismatch, aligns the periods to the closer fiscal quarter, and notes the adjustment in the table header. It does not silently stack mismatched periods.

Non-GAAP reconciliation

Every company runs a different bridge. Basis reads the reconciliation footnote and traces each adjustment line by line. When two companies include different items in their adjusted EBITDA definition, the table flags the line where definitions diverge and shows what each company excludes.

What the cell shows

Each cell carries the raw extracted value, the period, the source line reference, and any normalization note. When a figure required a reconciliation step, the cell shows the as-reported value and the adjusted value separately. You can switch between the two.

Peer comparison

Add tickers to a comparable set and Basis builds the matrix from the latest filings: revenue, gross margin, operating margin, EBITDA, net leverage, free cash flow conversion. Each row is a metric. Each column is a company or period. Every number traces to its source.

05Change alerts

New filing. What moved.

When a 10-Q, 8-K, or call transcript lands for a name in your coverage, Basis reads it and reports what changed relative to the prior extraction.

Guidance revision

A changed revenue range or a raised margin guide appears as a diff against the prior quarter's extraction. Old value, new value, and the sentence where management stated the revision.

Risk-factor edit

A new or materially amended risk factor in a 10-Q is flagged with the added and removed text set side by side. Not buried in a 60-page filing.

Covenant amendment

An 8-K that amends a credit agreement is compared against the prior agreement in the library. Changed thresholds appear as a before-and-after table with citations for each version.

Alerts route to the analyst who covers that name. You set the routing in the team library. Basis does not broadcast to the desk indiscriminately. Each alert is precise: one paragraph, the changed field, the prior value, the new value, and the source line for each.

When a single filing moves multiple figures (a 10-Q that revises guidance and amends a covenant in the same document), each change is a separate item in the alert. They share a filing reference but are not collapsed together.

06Research library

Coverage is a team asset, not an individual tab.

Memos, extractions, sourced tables, and call notes in one searchable library. Every document links to its source. Every figure in a memo traces back to the extraction it came from.

What lives in the library

Every extraction Basis runs is saved automatically. Analyst memos written in Basis link their figures to the underlying extractions, so the citations are not lost when the memo is shared. A colleague who picks up the coverage reads the memo and clicks through to the source without re-running the extraction.

Tables are versioned. When a new 10-Q updates a comparable, the prior version is preserved. You can compare the Q2 and Q3 tables without rebuilding either.

Search across coverage

Search by ticker, metric, period, or keyword. Results are extractions and memos, not raw documents. If the desk covered the same name four quarters ago, the extraction is in the library and the table is already built.

Handoffs without re-reading

Coverage changes. When an analyst hands off a name, the successor inherits sourced tables and call notes, not a folder of PDFs with unexplained model cells. The research is already in a format Basis can extend from the next publication.

07Export and API

The data is yours, with provenance attached.

Export any table to Excel, Google Sheets, or your data warehouse. Run extractions programmatically over the REST API. The citations travel with the number.

Export formats

Every table exports with a source column. The Excel workbook includes a citation sheet that maps each row back to the document, page, and line it was read from. Google Sheets export follows the same schema. Warehouse export (CSV or JSON) includes the full citation payload as a nested field, so provenance is queryable alongside the figure.

REST API

The API accepts a document URL or a raw PDF and returns a structured extraction with citations. Use it to run Basis on your internal filing archive, to hydrate a model on publication, or to trigger your own alerting workflow when a figure moves. Rate limits and batch endpoints are available on Team and Enterprise plans.

See the API documentation for the full schema, available fields, and authentication.

Example: extract from a filing
curl https://api.basisresearch.tech/v1/extract \
  -H "Authorization: Bearer $BASIS_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "document": "https://www.sec.gov/Archives/edgar/\
data/1234567/000123456725000001/nwfs-10q.htm",
    "fields": ["revenue", "gross_margin", "guidance"]
  }'
Response (abridged)
{
  "ticker": "NWFS",
  "period": "Q3 FY2025",
  "extractions": [
    {
      "metric": "Revenue",
      "value": "1420000000",
      "formatted": "$1.42B",
      "period": "Q3 FY25",
      "delta": "+11.4% YoY",
      "citation": {
        "line_id": "L1",
        "text": "Revenue for the third quarter
                  was $1.42 billion...",
        "page": 4,
        "paragraph": 2
      }
    }
  ]
}
Get started

Run the teardown on your own filing.

Create a free account, paste an excerpt, and see the sourced extraction. No card required.