FINRA short interest
One ticker settlement date, with short positions and days to cover.
One row is
One ticker settlement date, with short positions and days to cover
Example response
Trimmed real output. No key needed.
GET /v1/datasets/short-interest/sample
Dates reflect the example, not current coverage.
{
"data": {
"symbol": "AAPL",
"issueName": "Apple Inc. Common Stock",
"points": [
{
"settlementDate": "2026-01-15",
"sharesShort": 113576032,
"previousSharesShort": 112730000,
"averageDailyVolume": 43772789,
"daysToCover": 2.59,
"changePercent": 0.75,
"revised": true
},
{
"settlementDate": "2026-02-13",
"sharesShort": 133373267,
"previousSharesShort": 116854414,
"averageDailyVolume": 59148111,
"daysToCover": 2.25,
"changePercent": 14.14,
"revised": false
}
]
},
"meta": {
"dataset": "short-interest",
"asOf": "2026-02-13",
"source": [
{
"id": "short-interest",
"attribution": "Public short interest reports",
"licence": "Use subject to Gloom Datasets terms"
}
],
"historyStarts": "2026-01-15",
"coverage": {
"observations": 2
},
"lastUpdated": null
}
}Routes
Base URL https://api.gloom.sh. Send a key with each call; the key's account needs a plan.
GET /v1/short-interest/{symbol}2 credits
Settlement-date short interest and days to cover. Reads the existing dataset service and needs a key on an account with a plan; every plan reads every live dataset in full. Cached market reads can refresh their source data. Unknown, empty and repeated parameters are rejected. History and coverage metadata are null when the stored service cannot establish them.
- Parameter
symbol- In
path, required
- Type
string
^[A-Za-z0-9.:-]{1,32}$- Notes
Company symbol; normalized to uppercase.
- Parameter
years- In
query
- Type
integer 1 to 10
- Parameter
limit- In
query
- Type
integer 1 to 1000
| Parameter | In | Type | Notes |
|---|---|---|---|
| path, required | string | Company symbol; normalized to uppercase. |
| query | integer 1 to 10 | |
| query | integer 1 to 1000 |
- Credits: 2 (history x1)
- Plans: Basic, Desk, Enterprise
Meta fields
- Field
dataset- Here
The dataset id
- In the example
"short-interest"
- Field
asOf- Here
The observation date established by the service; otherwise null
- In the example
"2026-02-13"
- Field
source- Here
Attribution and usage terms of each source
- In the example
1 source
- Field
historyStarts- Here
Earliest stored history when established by the service; otherwise null.
- In the example
"2026-01-15"
- Field
coverage- Here
Service-established coverage; null when unavailable.
- In the example
{"observations":2}
- Field
lastUpdated- Here
The source update time established by the service; otherwise null
- In the example
null
| Field | Here | In the example |
|---|---|---|
| The dataset id |
|
| The observation date established by the service; otherwise null |
|
| Attribution and usage terms of each source | 1 source |
| Earliest stored history when established by the service; otherwise null. |
|
| Service-established coverage; null when unavailable. |
|
| The source update time established by the service; otherwise null | null |
Sources
- Source
Public short interest reports
- Usage terms
Use subject to Gloom Datasets terms
| Source | Usage terms |
|---|---|
Public short interest reports | Use subject to Gloom Datasets terms |
Errors
These routes can answer 400, 401, 402, 403, 404, 429, 503. See Errors for the codes.
Gloom Datasets reads stored data only: a call never starts a collection.