Alphanume
Equity Signals & ForecastsPro

Short Locates

See when shares become more expensive to locate or harder to find before a short sale. Compare quoted locate costs and available shares for hard-to-borrow US stocks, with one row per stock and snapshot.

GET /v1/short-locatesTwo snapshots per trading day
  • Estimate the locate cost.

    Use price_per_share or cost_per_100 to estimate the fee for a planned position.

  • Check share availability.

    Read status alongside available_qty to separate available shares from missing quotes.

  • Follow changes in supply.

    Compare cost_per_100 and available_qty across date and slot for the same ticker.

Ask your agent
Prompt · MCP or REST

Which stocks have become more expensive to locate this week, and where has share availability fallen? Rank the biggest changes and show the latest quotes.

Your agent compares locate prices and available shares across snapshots using get_short_locates.

What this dataset is

The share search before a short sale.

A locate checks whether shares can be borrowed for a short sale. For hard-to-borrow stocks, that can carry a fee. This dataset records the quoted fee, how many shares were available, and whether a locate was offered.

Each row includes:

  • Stock symbol, trading date, and snapshot time.
  • Locate status and available share quantity.
  • Quoted cost per share and per 100 shares, in US dollars.

A locate quote shows a cost and available shares at one moment. It does not reserve shares or guarantee the price or availability you will get from your broker.

What you can do with it

Put locate costs into your short-selling research.

A short-sale idea can look different once locate fees are included. Multiply price_per_share by the intended share count to estimate that part of the cost, then compare the position size with available_qty.

Track the same ticker across snapshots to find rising fees or shrinking availability. In a backtest, only use a snapshot after its recorded time; an afternoon quote was not available for a morning decision.

Where the data comes from

A history of locate quotes.

History starts October 8, 2026, with no earlier backfill. Snapshots are scheduled at 11:45 and 17:30 UTC on trading days. Use snapshot_time_utc for the actual observation time, including the early snapshots taken outside that schedule.

Fields that matter

Price, quantity, and the time of the quote.

The headline fields below are a subset. Every field, with exact types and semantics, is documented in the API reference.

FieldTypeWhat it tells you
datestring (date)Snapshot trading date in America/New_York, formatted YYYY-MM-DD.
slotstringDaily snapshot: am or pm.
snapshot_time_utcstring | nullSnapshot time in UTC, formatted YYYY-MM-DD HH:MM. Shared by all rows in that snapshot; null if unavailable.
tickerstringUS stock symbol.
statusstringLocate result: offered, no_shares, threshold, unavailable, corporate_action, or error.
price_per_sharenumber | nullQuoted locate price in USD per share. Null when no price is available; a price can remain when no shares are available.
cost_per_100number | nullQuoted cost in USD to locate 100 shares: price_per_share multiplied by 100. Null when unpriced.
available_qtyinteger | nullShares available at the snapshot. Zero for no_shares; null when no quantity was returned.
Query it in one call

Find quotes costing at least $5 per 100 shares.

One key works across the REST API, the hosted MCP server, and this dashboard. Every response is JSON with a { count, data } envelope.

Python
import requests

url = "https://api.alphanume.com/v1/short-locates"
params = {"date": "2026-10-15", "slot": "am", "status": "offered", "min_cost_per_100": 5}
headers = {"X-API-Key": "YOUR_API_KEY"}
r = requests.get(url, params=params, headers=headers)
r.raise_for_status()
print(r.json())
cURL
curl "https://api.alphanume.com/v1/short-locates?date=2026-10-15&slot=am&status=offered&min_cost_per_100=5" \
  -H "X-API-Key: YOUR_API_KEY"
Example response
{
  "count": 1,
  "has_more": false,
  "next_cursor": null,
  "data": [
    {
      "date": "2026-10-15",
      "slot": "am",
      "snapshot_time_utc": "2026-10-15 11:45",
      "ticker": "EXAMPLE",
      "status": "offered",
      "price_per_share": 0.075,
      "cost_per_100": 7.5,
      "available_qty": 12000
    }
  ]
}
Honest limitations

What this data does not claim.

  • Quotes are specific to the available inventory and can differ across brokers. They are not market-wide prices, annual borrow rates, or the full cost of holding a short position.
  • Coverage is limited to the hard-to-borrow stocks tracked by this dataset. A missing stock or null price does not mean a free locate. Changes between snapshots are not captured.
  • The response uses a fictional ticker and illustrative values, not a live quote.
Common questions

Asked by researchers, answered plainly.

Can I filter for stocks with no shares available?

Yes. Use status=no_shares to select snapshots that returned zero available shares. Other unpriced results have separate statuses, such as unavailable for a missing quote.

Does the minimum cost filter include unpriced stocks?

No. min_cost_per_100 keeps only rows with a quoted cost at or above your chosen dollar amount. Leave it unset when studying refusals or missing quotes.

Can I get locate data through an AI assistant?

Yes. The hosted MCP tool get_short_locates supports the same filters as the REST endpoint. Access requires Pro or Enterprise; this dataset has no public row preview.

Start querying

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.

Dataset license: Alphanume Terms of Service. Personal or commercial use is subject to your subscription tier. Redistribution requires written consent.