Build a Small-Cap Dilution Dashboard — Float, Warrants & Financing Capacity
Use AskEdgar’s dashboard starter or combine API endpoints for float, warrants, convertibles, and shelf/ATM capacity. For individual traders, small-cap hedge funds, and investment banks.
Bring share supply and financing research into one view
AskEdgar’s small-cap stock data API helps individual traders, small-cap hedge funds, and investment banks build research tools around dilution, float, and financing capacity. Combine warrants, pre-funded warrants, convertible notes, convertible preferred securities, audited share counts, registrations, and offering-risk ratings in a single ticker dashboard.
Use this guide to start from an existing research site or design a panel for your own system. Add your price, chart, or backtesting data to study how share structure and financing events relate to trading activity.
Start with the public dashboard
The AskEdgar dilution dashboard starter includes company profiles, dilution, offerings, news and filings, corporate actions, ownership, watchlists, and charts. Follow the repository’s README and setup guide with your AI coding assistant to create and customize your own copy.
You’ll use your own AskEdgar API key and credits, with data access based on your API plan. The repository documents its supported setup and hosting options. Its default embedded TradingView charts require no separate market-data API key, and its caching helps reuse repeated data requests.
Start with one ticker, then adapt the layout for a trading watchlist, a hedge-fund research process, or an investment-bank financing workflow. The endpoint mapping below helps you choose what to add or customize.
Choose an API for the question you need to answer
| Research question | AskEdgar API | What to use it for |
|---|---|---|
| What is the stock's float and share count? | Float & Shares Outstanding | Current share structure, market cap, and ownership context for a low-float watchlist. |
| What warrants or convertibles remain? | Dilution Data | Remaining instrument balances, exercise or conversion prices, and price-protection labels. |
| Who holds the instruments, and can the terms change? | Dilution Data Advanced | Disclosed holders, financing banks, full price-protection clauses, and dated update notes. |
| What shelf or ATM capacity is available? | SEC Registrations | Registration status, financing capacity, baby-shelf information, remaining ATM amounts, and source filings. |
| How does the company's financing risk compare? | Dilution Rating | Overall offering risk, cash need, offering ability, financing frequency, and supporting explanations. |
| What financing activity has already been reported? | Offerings | Capital raises, reported ATM sales, and financing history. |
Connect four research panels
Whether you customize the starter or build your own app, organize the research into share structure, warrants and convertibles, registrations, and offering risk. The endpoint mapping below is a design for your combined panel; use it to add or adapt features in your own copy. Link each summary to its source records for deeper review.
1. Start with float and shares outstanding
Use /v1/float-outstanding to display float, outstanding, and market_cap_final. Float and shares outstanding answer different questions; label them separately.
AskEdgar scans filings daily for share-count and ownership changes, with updates available through the API within 12–24 hours of a new filing. We track reported counts and changes implied by exercises, conversions, and ATM sales, plus ownership, resale, lockup, and capital-structure changes. See the float endpoint reference for the calculation details. Display last_updated when available, and distinguish the data's update time from your app's fetch time.
Audited numeric coverage focuses on companies below $1 billion in market cap. Affected fields for larger companies can return null; preserve the response's message and show unavailable values explicitly. Ownership fields are decimal fractions: 0.125 means 12.5%.
2. Add warrants and convertible securities
Use /v1/dilution-data for the core instrument view. Important fields include warrants_remaining, warrants_exercise_price, convertible_debt_remaining, underlying_shares_remaining, and conversion_price. Use derivative_type to distinguish warrants, pre-funded warrants, convertible debt, and convertible preferred securities.
Keep dollar balances and share counts separate. Remaining convertible debt is a dollar amount; underlying shares remaining is a share count. Remaining amounts describe potential share supply; outstanding shares describe shares already issued.
AskEdgar maintains these records through daily filing scans for exercises, conversions, repricings, and changes to adjustment terms. This matters when small-cap financing terms change after the original deal.
For a deeper view, request /v1/dilution-data-advanced. Its owners, bank, and pp_clause fields add disclosed participants, full terms, and dated update notes. Use the simpler, lower-cost basic endpoint for the initial panel and load advanced detail when a user opens an instrument. Notes in pp_clause preceded by **YYYY-MM-DD document changes, helping researchers place a repricing or other update alongside a stock move. Combine participant names with your own price history to study recurring financing relationships.
3. Add shelf and ATM context
Use /v1/registrations to inspect registrations and financing arrangements. The example below sets effective_status=true for a focused view of effective registrations; omit that filter when researching pending or other statuses.
Show registration dates, effective_status, expiration_date, is_atm, amount_remaining_atm, and applicable baby-shelf information alongside document_url and transaction details. AskEdgar updates capacity calculations nightly. Use calculated_raisable_amount for what the company can currently raise after applicable baby-shelf limits and prior sales; show the original registration size separately.
Separate shareholder resale registrations from primary company fundraising. Review related shelf and ATM records together before aggregating them, since an ATM may use capacity from a shelf. Label financing capacity in dollars and share supply in shares.
4. Add offering-risk context
Use /v1/dilution-rating to display overall_offering_risk with cash need, offering ability, offering frequency, and dilution assessments. Show the available _desc explanations and cash_remaining_months alongside the grades.
High, Medium, and Low summarize the documented offering-risk factors. Link each rating to its explanations, instrument records, and registration detail so users can investigate the drivers. The grades describe research assessments rather than the probability or timing of a future offering.
Optional developer example: fetch the four datasets in Python
Follow the Quick Start to get an API key. Save the code below as ticker_panel.py, set ASKEDGAR_API_KEY in your server environment, and run python ticker_panel.py YOUR_TICKER. It uses Python's standard library.
The example makes paid data requests and follows pagination. Estimate usage first, set the key in your server environment, and replace the default example ticker, DVLT, with the company you want to research.
import json
import os
import sys
from urllib.parse import urlencode
from urllib.request import Request, urlopen
BASE_URL = "https://eapi.askedgar.io"
def get_all(endpoint, ticker, api_key, **filters):
results, messages = [], []
for page in range(1, 11): # Fail visibly if this example's page cap is reached.
params = {"ticker": ticker, "page": page, "limit": 100, **filters}
url = f"{BASE_URL}/v1/{endpoint}?{urlencode(params)}"
request = Request(url, headers={"API-KEY": api_key})
with urlopen(request, timeout=30) as response:
payload = json.load(response)
if payload.get("status") != "success":
raise RuntimeError(f"{endpoint}: {payload.get('message')}")
results.extend(payload["results"])
if payload.get("message"):
messages.append(payload["message"])
if not payload.get("has_more"):
return {"results": results, "messages": messages}
raise RuntimeError(f"{endpoint}: page cap reached; results are incomplete")
def build_panel(ticker, api_key):
return {
"ticker": ticker,
"share_structure": get_all("float-outstanding", ticker, api_key),
"instruments": get_all("dilution-data", ticker, api_key),
"effective_registrations": get_all(
"registrations", ticker, api_key, effective_status="true"
),
"offering_risk": get_all("dilution-rating", ticker, api_key),
}
if __name__ == "__main__":
ticker = sys.argv[1].upper() if len(sys.argv) > 1 else "DVLT"
print(json.dumps(build_panel(ticker, os.environ["ASKEDGAR_API_KEY"]), indent=2))The example combines four API responses into your app’s share_structure, instruments, effective_registrations, and offering_risk sections. Each section preserves results and messages. It follows up to ten pages per endpoint and reports a request error or page-cap condition for your app to handle.
For production, add caching and bounded retry behavior appropriate to the Rate Limits and Error Handling guidance. Choose a refresh schedule for each dataset so chart updates can reuse your cached research.
Estimate usage before expanding a watchlist
The Estimate Cost endpoint is free and needs no API key. For example:
curl "https://eapi.askedgar.io/estimate?endpoint=dilution-data&ticker=DVLT"Estimate each endpoint you plan to use, then account for the number of tickers and refreshes. Prefer actual ticker symbols over a generic ticker count when possible. Match record limits and supported date ranges to your planned requests. Actual charges depend on returned data; see Pricing & Credits for the billing model.
For dilution endpoints, show_in_play=true can significantly reduce response cost by selecting records that meet the documented remaining-size, pricing, and registration-age criteria. Exercise dates, expiration/maturity dates, and full resale terms are separate record details to review. Provide a broader-record view when needed. On the advanced endpoint, pair this option with a ticker or another supported filter and follow its documented access limits.
Extend the panel for your workflow
- Individual traders and short sellers: Add a low-float screener, filing headlines, and a watchlist view to research active small-cap names.
- Small-cap hedge funds: Add Offerings Advanced and advanced dilution participants to compare recurring investors and banks. Enrich backtests with Historical Float and Historical Dilution Rating, choosing dates according to each endpoint’s methodology. Use the historical endpoints for past-date research; advanced instrument filing-date filters select records whose balances and terms are maintained as updates arrive.
- Investment banks: Add Agreements for restrictions on company issuances, exemptions, and Variable Rate Transaction provisions. Add Right of First Refusal & Tail Financing for bank rights and tail terms. These agreement endpoints require enterprise access.
Build with an AI coding assistant
Give your assistant this guide, the endpoint references, and the dashboard repository. For example:
Customize my copy of AskEdgar’s dilution dashboard with a ticker research panel for my workflow. Use float and shares outstanding, remaining warrants and convertibles, shelf and ATM capacity, and offering-risk explanations. Link source documents and show update times. Load advanced participant and repricing details when I open a record. Follow the existing setup and caching approach, keep the API key in server-side secrets, and estimate requests before adding recurring refreshes. Ask whether I want an individual-trader, hedge-fund, or investment-bank layout.
These workflows use the REST API with the API-KEY header. AskEdgar’s public MCP endpoint supports API discovery and endpoint documentation. See Build with AI & MCP for current AI-building workflows.
To get started, follow the Quickstart or manage keys and credits in the API Platform.
Updated 6 days ago