• Stocks
  • Etfs
  • Chat
  • Docs
  • Dataset Showcase
CoverageBlog

Documentation

Artifacts

Artifacts

  • Overview

Company

  • Beneficial ownership
  • Officers and directors

Financial

  • Debt instruments
  • Income flow
  • Income flow interpretation
  • Share repurchase

Business

  • Acquisitions
  • Customer concentration
  • Physical properties
  • Products, services, and brands

Legal

  • Legal proceedings

Artifacts

  • Overview

Company

  • Beneficial ownership
  • Officers and directors

Financial

  • Debt instruments
  • Income flow
  • Income flow interpretation
  • Share repurchase

Business

  • Acquisitions
  • Customer concentration
  • Physical properties
  • Products, services, and brands

Legal

  • Legal proceedings
Loading docs…

The infrastructure layer for financial AI

PricingUse casesBlogContactPrivacy PolicyTerms of Service

© 2026 Lucy AI. All rights reserved.

Use casesResponse schemaExample datasetPlayground
Developers›Docs›Share repurchase

Share repurchase

Repurchase program metadata and period rows reported in the issuer-purchases table.

Category
Financial
Forms
10-K
Use casesResponse schemaExample datasetPlayground

Use cases#

  • Inspect recent repurchase activity by reported period.
  • Review authorization details alongside the repurchase rows.

Response schema#

Fields 38

Field pathTypeDescription
disclosure_status#
required
object

3-state repurchase disclosure status with evidence.

disclosure_status.value#
required
string

'disclosed' = the filing discloses repurchase activity and/or a program (populate rows[] and/or programs[]). 'explicitly_none' = the filing explicitly states no shares were repurchased in the period (e.g. 'No shares were repurchased', 'There were no purchases of equity securities'). 'not_disclosed' = no Item 5 repurchase content is present.

disclosure_status.evidence#
required
object

Evidence object. Never null.

disclosure_status.evidence.quote#
required
string| null

Verbatim excerpt (text or table cells) proving this entry. Shortest contiguous source span; no ellipsis, no translation. null when there is no textual basis.

disclosure_status.evidence.reasoning#
required
string

How the quote maps to the values. For null decisions, explain the basis (Not disclosed / Not applicable / Indeterminable).

programs#
required
array| null
items: object

Repurchase program metadata (usually from the table footnotes / surrounding narrative): the board authorization date and authorized amount (currency in its unit) of each announced repurchase program. One entry per distinct program. null when no program detail is disclosed.

programs[].authorization_date#
required
string| null

The date the board authorized/announced the program, ISO 8601 (full or partial). null when not stated.

programs[].authorized_amount#
required
object

The authorization size as printed. When the filing prints only an increase ('increased the authorization by $5.00 billion'), record that printed figure and say in evidence.reasoning that it is an increase — never add it to an earlier authorization.

programs[].authorized_amount.value#
required
number| null

The figure as written, in the units of unit and magnitude of scale. null when blank.

programs[].authorized_amount.unit#
required
string| null

Currency code ('USD', ...) when the figure is a money amount ('Approximate Dollar Value of Shares That May Yet Be Purchased', '$10.0 billion authorized'); the literal 'shares' when the source denominates it in shares instead ('Maximum Number of Shares That May Yet Be Purchased', 'increased the authorization by 25 million shares'). Take the denomination from the column header / sentence — never convert one into the other. null when undeterminable.

programs[].authorized_amount.scale#
required
string| null

Canonical plural magnitude only — 'thousands' / 'millions' / 'billions' (never singular, e.g. not 'billion') or null when absolute. Apply the table header ('in millions'); for a narrative '$1.0 billion' use 'billions'.

programs[].evidence#
required
object

Evidence object. Never null.

programs[].evidence.quote#
required
string| null

Verbatim excerpt (text or table cells) proving this entry. Shortest contiguous source span; no ellipsis, no translation. null when there is no textual basis.

programs[].evidence.reasoning#
required
string

How the quote maps to the values. For null decisions, explain the basis (Not disclosed / Not applicable / Indeterminable).

rows#
required
array| null
items: object

One entry per period row the table PRINTS (typically the three monthly rows of the most recent fiscal quarter, plus a total row only when the table prints one). For a narrative (non-table) disclosure, capture whatever periodized figures are stated. null when disclosure_status is 'explicitly_none' or 'not_disclosed' (no empty array).

rows[].period#
required
object

The row's reporting period as a date range. For a 'Total' row, start and end are null. The verbatim 'Period' cell text is preserved separately in period_caption.

rows[].period.type#
required
string

Type

rows[].period.start#
required
string| null

Range start, ISO 8601 (full or partial). null when not stated/derivable (e.g. a Total row).

rows[].period.end#
required
string| null

Range end, ISO 8601 (full or partial). null when not stated/derivable.

rows[].period_caption#
required
string| null

The 'Period' cell verbatim ('October 1 – October 31, 2025', 'Month #1', 'Total'). Topic-specific caption; the dated range lives in period. null only if the row has no period cell.

rows[].total_shares_purchased#
required
object

A count of shares. value is the number as written; scale applies the table header magnitude.

rows[].total_shares_purchased.value#
required
number| null

Number of shares as written, in the magnitude of scale. null when the cell is blank/'—'.

rows[].total_shares_purchased.unit#
required
string| null

'shares' when a count is present; null otherwise.

rows[].total_shares_purchased.scale#
required
string| null

Canonical plural magnitude only — 'thousands' / 'millions' (never singular) or null when the count is absolute. Apply the table header (e.g. 'shares in thousands').

rows[].average_price_per_share#
required
object

Average price paid per share (per-share, no scale).

rows[].average_price_per_share.value#
required
number| null

Average price paid per share as written (e.g. 245.31). null when the cell is blank — never a computed weighted average.

rows[].average_price_per_share.unit#
required
string| null

Currency code ('USD', 'EUR',...), inferred from the symbol/reporting currency. null when undeterminable, and null when value is null (a blank cell denominates nothing).

rows[].shares_purchased_under_plans#
required
object

A count of shares. value is the number as written; scale applies the table header magnitude.

rows[].shares_purchased_under_plans.value#
required
number| null

Number of shares as written, in the magnitude of scale. null when the cell is blank/'—'.

rows[].shares_purchased_under_plans.unit#
required
string| null

'shares' when a count is present; null otherwise.

rows[].shares_purchased_under_plans.scale#
required
string| null

Canonical plural magnitude only — 'thousands' / 'millions' (never singular) or null when the count is absolute. Apply the table header (e.g. 'shares in thousands').

rows[].value_remaining#
required
object

The last column — 'Approximate Dollar Value of Shares That May Yet Be Purchased' (money) or 'Maximum Number of Shares That May Yet Be Purchased' (shares); unit records which.

rows[].value_remaining.value#
required
number| null

The figure as written, in the units of unit and magnitude of scale. null when blank.

rows[].value_remaining.unit#
required
string| null

Currency code ('USD', ...) when the figure is a money amount ('Approximate Dollar Value of Shares That May Yet Be Purchased', '$10.0 billion authorized'); the literal 'shares' when the source denominates it in shares instead ('Maximum Number of Shares That May Yet Be Purchased', 'increased the authorization by 25 million shares'). Take the denomination from the column header / sentence — never convert one into the other. null when undeterminable.

rows[].value_remaining.scale#
required
string| null

Canonical plural magnitude only — 'thousands' / 'millions' / 'billions' (never singular, e.g. not 'billion') or null when absolute. Apply the table header ('in millions'); for a narrative '$1.0 billion' use 'billions'.

rows[].evidence#
required
object

Evidence object. Never null.

rows[].evidence.quote#
required
string| null

Verbatim excerpt (text or table cells) proving this entry. Shortest contiguous source span; no ellipsis, no translation. null when there is no textual basis.

rows[].evidence.reasoning#
required
string

How the quote maps to the values. For null decisions, explain the basis (Not disclosed / Not applicable / Indeterminable).

Example dataset#

An illustrative example for share_repurchase. Use it to see the shape of the data before running a live request.

Top-level fields in the example dataset
FieldSummary
disclosure_statusdisclosed
programs1 item
rows1 item

Playground#

← PreviousIncome flow interpretationNext →Acquisitions

Related

  • Debt instruments
  • Income flow
  • Income flow interpretation

On this page

Use casesResponse schemaExample datasetPlayground