Skip to main content
POST

Overview

This endpoint answers borrowability for a batch of symbols against today’s easy-to-borrow list. Use it rather than fetching the whole list when you only care about a handful of symbols. It is a POST rather than a GET because a symbol list has no practical URL-length limit.

Normalization and duplicates

Symbols are uppercased and trimmed before the lookup, and duplicates collapse. Asking for ["aapl", " AAPL ", "AAPL"] returns one entry:
Because duplicates collapse, count can be lower than the number of symbols you sent. Read answers out of results by uppercase key — never by zipping results against your request array by index. This is the single easiest thing to get wrong when integrating.

Limits

Errors

All errors share one envelope:
There is no 404. A symbol that is not on the list is a valid false answer, not a missing resource. A query of only blanks — {"symbols": ["", " "]} — is a 400 rather than a 200 with empty results, so an unusable request is never answered with something that looks like a real result.

Interpreting the result

A false answer means the symbol is hard to borrow: it is not on today’s list, and shares must be located before a short sale. Treat it as “this needs a locate first”, not “this cannot be shorted at all”. Requesting a locate is not currently supported through the API. This endpoint reads the same underlying set as GET /v1/etb, so the two can never disagree. The set is replaced once per trading day before market open and does not change intraday — see Freshness.

Authorizations

Authorization
string
header
required

OAuth2 Bearer token: obtain an access token from the token endpoint and send it in the Authorization header.

FlowAuthorization Code
Authorization URL
https://app.aries.com/oauth2/authorize
Token URL
https://api.aries.com/v1/oauth2/token
Refresh URL
https://api.aries.com/v1/oauth2/token
FlowClient Credentials
Token URL
https://api.aries.com/v1/oauth2/token
Refresh URL
https://api.aries.com/v1/oauth2/token
Scopes1
market:information
Access live and historical market data

Body

application/json

The symbols to check. 1–1000 entries, case-insensitive, whitespace-trimmed.

Batch borrowability query. Symbols are uppercased and trimmed before the lookup, and duplicates that normalize to the same symbol collapse into a single entry in the response.

symbols
string[]
required

Symbols to check. Case-insensitive and whitespace-trimmed, so aapl, AAPL, and AAPL are the same symbol and return one entry. A request of only blank strings is rejected with 400 MISSING_SYMBOLS rather than answered with an empty result.

Required array length: 1 - 1000 elements
Example:

Response

Borrowability answers keyed by normalized (uppercase) symbol. There is no 404: a symbol that is not on the list is a valid false answer, not a missing resource.

Borrowability answers keyed by normalized (uppercase) symbol.

count
integer

Number of entries in results. This can be lower than the number of symbols you sent, because duplicates collapse after normalization.

results
object

One entry per distinct normalized symbol. true means easy to borrow (a short sale needs no extra step); false means hard to borrow (the symbol is not on today's list and needs a locate first). Read answers out of this object by uppercase key — do not match them against your request array by index, because normalization collapses duplicates.

Example: