Alphanume

Insights

How S-3 Shelf Registrations Create Dilution Capacity

Alphanume Team · July 26, 2026

An S-3 shelf registration authorizes a framework for future securities sales. Dilution capacity exists at filing, while takedowns and actual issuance remain later, separate events.

Alphanume's Shelf Registrations dataset records S-3 and F-3 base filings, amendments, and automatic shelves. Each row identifies the filing, registered securities, stated capacity when available, primary or resale status, effectiveness, linked takedown activity, and issuer size at filing.

The legal filing creates optionality for financing. It does not establish that securities were sold, that the full registered amount will be used, or that common shareholders experienced immediate dilution. Research should keep registration, effectiveness, prospectus takedown, pricing, and issuance on different timestamps.

Follow the filing path

Stage

Dataset evidence

Economic meaning

Base shelf

shelf_type equals new

New registration framework

Amendment

shelf_type equals amendment

Separate change filing with its own extracted capacity

Automatic shelf

shelf_type equals automatic

WKSI route effective on filing, often indeterminate capacity

Effectiveness

became_effective and effective_at

Registration can be used under its terms

Takedown

takedown_count and first_takedown_at

Linked 424B activity

Issuance

Not established by the base shelf row

Requires transaction or share evidence

The API labels is_well_known_seasoned and automatic shelves, but it is not a legal opinion on whether an issuer satisfied every eligibility condition. Use the filed form and source document as evidence of the route taken, and consult qualified counsel for a legal-eligibility conclusion.

S-3 and F-3 shelf routes differ from the S-1 registration feed, which tracks a separate registration population. A company can have more than one financing pathway, so a shelf timeline should not assume that every later dilutive filing or share-count change consumed the S-3 capacity being studied.

Keep those parallel registration records visible in the issuer timeline. Their coexistence is research context, while source-document lineage is still required before assigning a later transaction to one specific registration statement.

Read capacity without guessing

capacity_amount is registered dollar capacity when the filing states a determinate amount. Automatic and other indeterminate shelves can be null by design. Replacing null with zero says no capacity existed, while filling it with an estimate invents a number the filing did not supply.

is_resale=1 identifies selling-securityholder registrations, whose capacity is not the same as new primary proceeds for the issuer. The securities field can cover common stock, preferred stock, debt, warrants, or combinations, so a dollar amount alone is not a common-share dilution percentage.

Screen input

Valid use

Invalid interpretation

capacity_amount

Rank stated registered capacity

Cash already raised

market_cap_at_filing

Scale capacity to issuer size

Future market value

outstanding_shares_at_filing

Point-in-time share context

Final diluted share count

takedown_count

Flag linked later prospectuses

Dollars or shares issued

Query the dated ledger

The endpoint is GET /v1/capital/shelf-registrations. Pull a completed filing window and paginate with both cursor fields. Save new, amendment, automatic, resale, refused, and null-capacity rows before building a primary-capacity screen.

import os
import requests

url = "https://api.alphanume.com/v1/capital/shelf-registrations"
headers = {"X-API-Key": os.environ["ALPHANUME_API_KEY"]}
params = {"date_gte": "2026-01-01", "date_lte": "2026-06-30"}
rows = []

while True:
    response = requests.get(url, headers=headers, params=params, timeout=30)
    response.raise_for_status()
    payload = response.json()
    rows.extend(payload["data"])
    if not payload.get("has_more"):
        break
    params["cursor_date"] = payload["next_cursor"]["date"]
    params["cursor_accession"] = payload["next_cursor"]["accession_number"]

For a fresh primary screen, filter locally to shelf_type=new, is_resale=0, and non-null capacity and market cap. Store every exclusion reason. The ratio capacity_amount / market_cap_at_filing ranks potential financing capacity relative to issuer size and remains an authorization measure.

Build a timeline instead of one flag

Start the timeline with filing_timestamp, then add effective_at and first_takedown_at when present. Append separately verified pricing or issuance records without overwriting the shelf event. One shelf can support multiple transactions, and another financing can occur near the same dates.

Use file_number and source-document lineage to connect later events. Ticker plus nearest date is only a candidate match. Amendments remain separate rows, and expiry_estimate is generally three years from effectiveness rather than a guaranteed legal endpoint.

Control the major limitations
  • Authorization versus issuance. Registered capacity is possible supply.
  • Indeterminate amount. Automatic shelves can have legitimate null capacity.
  • Takedown coverage. Shelves older than the trailing 400-day refresh window can have frozen counts.
  • Extraction gaps. Refused rows are real filings with null labeled fields.
  • Outcome gap. The endpoint provides no stock returns or offering execution costs.

Free access provides the trailing 20 trading sessions after a one-trading-session delay. A full financing-cycle study needs longer history and separate transaction evidence.

Audit one shelf lifecycle

Use the Shelf Registrations field reference to pull one quarter, calculate capacity-to-market-cap only for eligible rows, and verify the top 10 against their filing URLs. Export all other filing types and nulls as denominators rather than hiding them.

Then choose five shelves with later takedown evidence and build a source-linked timeline from filing through effectiveness and prospectus activity. Add verified issuance only when another document supports it. That action shows how an S-3 creates capacity without coding the registration itself as dilution already delivered.