Skip to main content
Glama

Alphanume Datasets

Buyback Announcements

get_buybacks
Read-onlyIdempotent

Buyback announcements: US-listed companies telling the market they will (or may) repurchase their own common stock, read from 8-K filings and their press releases.

One row per 8-K that announces something NEW; event_type says what: a new repurchase authorization, an increase / extension / renewal (including a raised buyback target), an accelerated share repurchase, an issuer tender offer, a Rule 10b5-1 repurchase plan, or a program being completed, terminated or suspended. event_date is the announcement date the filing states (falling back to the 8-K period of report, then the filing date); filed_at is when the 8-K reached EDGAR and is the point-in-time clock. Served per row: ticker, cik, company_name, accession_no, a one-sentence event_description, authorized_amount_usd (for an increase: the increment when the filing states one, the new total when it states only that), authorized_shares for share-denominated programs, pct_of_market_cap (announced dollars over the market cap on the last session before the filing, in percent), expiry_date, replaces_prior_program (1 replaces / 0 in addition / NULL silent), remaining_prior_amount_usd (capacity the filing says was left under the prior or existing program), confidence and last_updated.

Only first announcements are served. A later filing that restates an announcement already in the feed (the earnings release two weeks after the 8-K, an 8-K/A) and mentions of actions more than 45 days old are withheld, so a company's $50B authorization appears once, not every time it is repeated. Rows the labeler scored under 0.75 confidence are not served.

Requires an Alphanume Pro API key. There is no date clamp on this route: a Pro key sees the full history.

Honest limits, stated plainly. These are ANNOUNCEMENTS: an authorization is permission, not a commitment, and how much was actually repurchased is not in this dataset. authorized_amount_usd is NULL when the size is stated only in shares or not at all -- 10b5-1 plans and completions usually state none. pct_of_market_cap is NULL without a dollar size or market-cap history and is suppressed above 100. One event per filing: when an 8-K announces an authorization and a 10b5-1 plan under it, the authorization is the row. Not covered: issuer tender offers filed only on Schedule TO-I, foreign private issuers (6-K), and non-traded REIT / fund redemption plans (deliberately excluded -- those are investor liquidity, not buybacks). A small share of real announcements buried in long earnings releases is missed. History starts 2024-01-01.

Default order: newest event_date first, then ticker, so the first page is the most recent announcements.

Pagination: results are capped at 50,000 rows per request; when the response has has_more=true, pass next_cursor's cursor_date, cursor_ticker and cursor_id back to fetch the next page.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dateNoExact date, YYYY-MM-DD. Cannot be combined with the date range parameters.
tickerNoTicker symbol filter, e.g. 'AAPL'. Case-insensitive.
date_gtNoStart of date range, exclusive (YYYY-MM-DD).
date_ltNoEnd of date range, exclusive (YYYY-MM-DD).
date_gteNoStart of date range, inclusive (YYYY-MM-DD).
date_lteNoEnd of date range, inclusive (YYYY-MM-DD).
max_rowsNoMaximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this.
cursor_idNoPagination: the 'cursor_id' value from the previous response's next_cursor.
event_typeNoWhich action the 8-K announces: 'new_authorization' (board authorizes a new repurchase program); 'increase_or_extension' (an existing program is enlarged, extended or renewed, or the company raises its stated buyback target); 'accelerated_share_repurchase' (an ASR agreement); 'tender_offer' (issuer tender offer / Dutch auction announced or results reported); '10b5_1_plan' (a Rule 10b5-1 repurchase plan adopted under an existing authorization); 'completion_or_termination' (a program completed, terminated or suspended).
cursor_dateNoPagination: the 'cursor_date' value from the previous response's next_cursor. Send with cursor_ticker and cursor_id.
cursor_tickerNoPagination: the 'cursor_ticker' value from the previous response's next_cursor (may be an empty string).
updated_sinceNoOnly rows updated at or after this date/datetime (YYYY-MM-DD or YYYY-MM-DD HH:MM:SS) -- for incremental syncs.
min_amount_usdNoOnly rows with authorized_amount_usd >= this many dollars (e.g. 1000000000 for $1B). Share-denominated and unsized rows are excluded whenever this is set.
min_confidenceNoOnly rows with extraction confidence >= this value (0-1). Rows under 0.75 are never served, so values below that have no effect.
min_pct_of_market_capNoOnly rows where the announced dollar size is at least this percent of the issuer's market cap (0-100). Rows with no ratio are excluded whenever this is set.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Even with readOnlyHint, openWorldHint, idempotentHint, and destructiveHint already true/non-destructive, the description adds substantial behavioral detail beyond annotations: only first announcements are served, event_date fallback logic, 0.75 confidence cutoff, no date clamp on Pro, one event per filing, null behavior for authorized_amount_usd and pct_of_market_cap, and history starting 2024-01-01. This far exceeds what annotations convey.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long but every sentence earns its place. It is logically organized: definition, row semantics, deduplication, access requirements, honest limits, ordering, pagination. The key scoping sentence is front-loaded, and the 'Honest limits, stated plainly' section condenses edge cases without fluff. The length is justified by the tool's complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, so the description carries full responsibility for return semantics—and it delivers. It enumerates all served fields, their types and meanings, null behavior, dedup rules, ordering, pagination, and data-start date. An agent can correctly invoke the tool, interpret results, and paginate without additional documentation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, but the description enriches parameter meaning considerably. For example, it clarifies that authorized_amount_usd for an increase can be an increment or new total depending on the filing, that min_amount_usd excludes share-denominated and unsized rows, that min_confidence below 0.75 has no effect because of the global threshold, and how cursor_date/cursor_ticker/cursor_id are used together. These are semantics no schema alone provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb+resource: 'Buyback announcements: US-listed companies telling the market they will (or may) repurchase their own common stock, read from 8-K filings and their press releases.' This unambiguously identifies the data domain and source, and none of the 30 sibling tools cover buybacks. The title 'Buyback Announcements' matches but is expanded with concrete scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear operational context: what is served, deduplication rules, Pro API key requirement, default ordering, pagination, and filter semantics. It also states exclusions ('Not covered: issuer tender offers filed only on Schedule TO-I, foreign private issuers (6-K), and non-traded REIT / fund redemption plans'). However, it never explicitly names alternative tools or says 'use this when X,' so it stops short of full alternative routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources