Stock Buybacks
See which companies announce plans to buy back stock, how large those plans are, and when they change or end. Each row captures a new buyback action from an SEC 8-K filing, with the stated amount and its size relative to the company when available.
Find new buyback plans.
Use event_type and event_date to separate new programs from increases, extensions, and endings.
Compare the size of each plan.
Use authorized_amount_usd and pct_of_market_cap to see which announcements are large relative to the company.
Check what changed.
Read event_description and replaces_prior_program to see whether a company is adding capacity or replacing an earlier plan.
Find companies that recently announced large stock buyback plans relative to their size. Rank them and explain whether each plan is new or changes an existing one.
Your agent filters the announcements by date and type, then compares their stated size with company market value.
What changed in the company's buyback plans?
A stock buyback is when a company purchases its own shares. This feed tracks announcements about those purchases: new programs, increases or extensions, accelerated repurchases, tender offers, trading plans, and program completions or endings.
Each row represents one new action disclosed in an 8-K, the SEC filing companies use to report significant events. Repeated mentions of an earlier announcement and routine reports of quarterly purchases are excluded.
Each row includes:
- Company, ticker, and source filing ID.
- Type of action and a short description.
- Announced dollars or shares, and percentage of market cap when available.
- Announcement date, filing time, and any stated expiry.
- Whether the action replaces an earlier program and any reported remaining capacity.
A buyback authorization is permission to buy shares, not a promise to spend the full amount. This dataset records announcements, not how many shares a company actually bought.
Put large buyback plans in context.
A billion-dollar plan means something different at a small company than at a large one. The percentage of market cap helps compare announcements on the same scale. Separate new programs from changes to old ones before studying the market response.
- Build a watchlist of new programs above a chosen percentage of market cap.
- Compare price behavior after new programs, increases, and suspensions using your own market data.
- Read the source filing before adding an increase to an earlier authorization.
From the filing to a dated announcement.
The source is SEC 8-K filings and their attached press releases, with history from January 2024. New filings are processed daily; the final update is scheduled for 09:05 UTC.
event_date is the announcement date stated in the filing, with the report date or filing date used when needed. filed_at records when the document reached EDGAR. For historical research, use that filing time rather than assuming the information was available on the announcement date. Historical records were backfilled, and later updates can change a row; this is not an archive of what the API showed at each moment.
The amount, timing, and terms of each buyback.
The headline fields below are a subset. Every field, with exact types and semantics, is documented in the API reference.
| Field | Type | What it tells you |
|---|---|---|
| event_type | string | new_authorization, increase_or_extension, accelerated_share_repurchase, tender_offer, 10b5_1_plan, or completion_or_termination. |
| event_date | string | Announcement date stated in the filing, otherwise the 8-K report date, then filing date. Date filters use this field. YYYY-MM-DD. |
| filed_at | string | null | When the 8-K reached EDGAR, in New York time (YYYY-MM-DD HH:MM:SS). This can be later than event_date; it is not the API publication time. |
| event_description | string | null | A short description of the announced action. |
| authorized_amount_usd | number | null | Dollar size of the action. For increases, the added amount when stated, otherwise the new total. Null for share-only or unstated amounts. |
| authorized_shares | number | null | Share count when the program is stated in shares. Null otherwise. |
| pct_of_market_cap | number | null | Announced dollars divided by market cap on the last session before filing, times 100. 5 means 5%. Null for missing inputs or values above 100%. |
| expiry_date | string | null | Stated program or plan expiry, as YYYY-MM-DD. Null for open-ended programs or an unstated expiry. |
| replaces_prior_program | integer | null | 1 means replaces the prior program; 0 means adds to it; null means the filing does not say. |
Find new plans worth at least 5% of market cap. Illustrative response.
One key works across the REST API, the hosted MCP server, and this dashboard. Every response is JSON with a { count, data } envelope.
import requests
url = "https://api.alphanume.com/v1/capital/buybacks"
params = {
"event_type": "new_authorization",
"date_gte": "2026-01-01",
"min_pct_of_market_cap": 5,
}
r = requests.get(url, params=params, headers={"X-API-Key": "YOUR_API_KEY"})
r.raise_for_status()
print(r.json())curl -G "https://api.alphanume.com/v1/capital/buybacks" \
-H "X-API-Key: YOUR_API_KEY" \
--data-urlencode "event_type=new_authorization" \
--data-urlencode "date_gte=2026-01-01" \
--data-urlencode "min_pct_of_market_cap=5"{
"count": 1,
"has_more": false,
"next_cursor": null,
"data": [
{
"record_id": 1001,
"accession_no": "0000123456-26-000042",
"ticker": "EXAMPLE",
"cik": 123456,
"company_name": "Example Industries Inc.",
"event_type": "new_authorization",
"event_date": "2026-09-10",
"filed_at": "2026-09-10 16:15:00",
"event_description": "The board authorized a new $500 million share repurchase program.",
"authorized_amount_usd": 500000000,
"authorized_shares": null,
"pct_of_market_cap": 5,
"expiry_date": null,
"replaces_prior_program": 1,
"remaining_prior_amount_usd": 25000000,
"confidence": 0.95,
"last_updated": "2026-09-19 05:05:00"
}
]
}What this data does not claim.
- For an increase, the dollar amount can be the added capacity or the new total, depending on what the filing states. Do not sum announcements without checking the wording.
- Missing amounts or ratios mean unavailable, not zero. Ratios above 100% are withheld, and minimum-size filters exclude rows with missing values.
- Only one event is retained per filing. A new authorization takes priority over an accelerated repurchase or trading plan announced alongside it.
- Some announcements buried in long earnings releases can be missed. Foreign issuer 6-K filings, tender offers disclosed only on Schedule TO-I, and fund redemption plans are outside coverage.
- Example Industries and the sample values above are fictional and illustrate the response format.
Asked by researchers, answered plainly.
What is an accelerated share repurchase?
An accelerated share repurchase, or ASR, is an agreement to buy back shares through a bank. Use accelerated_share_repurchase to find filings classified as that action.
What does a 10b5-1 buyback plan mean here?
It is a company trading plan to repurchase its own stock under an existing authorization. Insider plans to sell personal holdings are excluded.
Does a tender offer row always announce a new offer?
No. tender_offer includes both an issuer's offer to buy shares from holders and reports of the offer's results. Read event_description to distinguish them.
Can I download only buyback records that changed?
Yes. Use updated_since to filter on last_updated, then update your stored rows by record_id. This returns each row's current values, not a history of every revision.
Available with Pro. Enterprise for teams.
New REST API and MCP access requires Pro or Enterprise. Public dashboard previews are separate from a subscription. Pro includes the available historical record, current updates, REST, MCP, dashboard exports, and every standard dataset as it launches. This dataset has no public row preview; the dashboard provides a field guide and illustrative response.