Buybacks

API TraderAPI QuantAPI Developer

API to retrieve executed share buybacks for a given ticker on a given exchange.

This API returns what a company actually spent repurchasing its own stock, per fiscal quarter, together with the number of shares repurchased and how much repurchase authorization remains. Figures are read from the company's own filings.

This is executed activity, not an announcement. A buyback authorization is a statement of intent, and a large share of announced programmes are never fully executed, so a company with a large announced programme may appear here with little or no spend. Announced programmes are served by the Corporate Actions events endpoint.

Available Data Points:

  • Period Date: The last day of the fiscal quarter the repurchase happened in (YYYY-MM-DD format).
  • Published At: When the figure first became public — the date the filing carrying it was filed. Use this rather than the period date when testing a strategy: US buyback figures arrive with the quarterly report, typically 40 to 45 days after the quarter ends.
  • Value: Cash spent repurchasing the company's own stock during the quarter, in the company's reporting currency.
  • Shares: Number of shares repurchased during the quarter, where reported.
  • Remaining Authorization: The value the company may still repurchase under its announced programmes, at the quarter end. A large announced programme with nothing left authorized is finished.
  • Source Ref: The filing accession the figure came from, and whether it was derived by differencing consecutive year-to-date totals.

Coverage and frequency

US filers, from roughly 2009. Figures are quarterly, because that is the finest granularity US disclosure provides: the SEC rule that would have required daily repurchase data was vacated by the Fifth Circuit in December 2023 and has not been re-proposed. Companies report these amounts cumulatively from the start of their fiscal year, so each quarter after the first is the difference between consecutive year-to-date totals; the source reference says which rows those are.

Filtering

Use from_date and to_date to bound the period-date window. When no dates are supplied the full history is returned. Results are ordered by period date, most recent first.

Try it out! You can test the API with the trial key TEST. Simply include it in your request headers; either here, or add the header "Ortex-Api-Key": "TEST" to your http request.

Trial key restrictions: Trial keys may be limited to a specific date range and set of regions. Requests outside the allowed regions or entirely outside the allowed date range are rejected; a date window that partially overlaps the allowed range is trimmed to it, reported in meta.restriction.

Get full access! Get a key at app.ortex.com/apis

Path Params
string
required

Where to find the instrument: a venue (exchange symbol, MIC or ISO-2 country) or an identifier scheme (tid, sid, cid, isin, figi). See Identifying an instrument.

string
required

The ticker on that venue, or the value in that scheme. An ISIN, sid, cid or share-class FIGI answers for the main listing only; reference/listings lists the others. See Identifying an instrument.

Query Params
date
required

Inclusive start of the returned date window. Format: YYYY-MM-DD.

Also selects the instrument: the ticker resolves to the listing that held it on the exchange in the URL path on this date. To retrieve a delisted or renamed company, use its former exchange and ticker with a from_date from when it was listed. An identifier path (/stock/isin|figi|sid|cid/<value>/…) resolves at this date too. The instrument block in the response names the company the data belongs to.

date

Inclusive end of the returned date window (defaults to today). Format: YYYY-MM-DD.

integer

Page number within the paginated result set. Must be >= 1. Defaults to 1.

integer

Number of rows per page. The default and the maximum allowed depend on the API tier; a value above the tier maximum is rejected with 400 invalidPageSize.

string
enum
Defaults to json

Response format. "json" (default) or "csv".

Allowed:
Headers
string
enum
Defaults to application/json

Generated from available response content types

Allowed:
Responses

Language
Credentials
Header
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json
text/csv