Shorted Public API
Programmatic access to Australian market and public-interest data: ASIC short positions for ASX-listed securities, Australian house prices and suburb metrics, ABS/RBA economic series, and the federal register of members' and senators' interests. Every endpoint is a Connect-RPC method. Call it with an HTTP POST, a JSON body, and the `Connect-Protocol-Version: 1` header. Send an identifying `User-Agent`. The edge rejects the default `curl/...` agent with a 403 (`permission_denied`), so an example without one fails on first run — which is why every sample here sets it. ```bash curl -X POST https://api.shorted.com.au/shorts.v1alpha1.StockService/GetStock \ -A 'my-app/1.0' \ -H 'Content-Type: application/json' \ -H 'Connect-Protocol-Version: 1' \ -d '{"productCode":"BHP"}' ``` Authentication is optional for public endpoints; a bearer token raises your rate limits. See https://shorted.com.au/docs/api for tiers.
Quick Start
Get up and running with our API in minutes with our cURL and SDK examples.
Authentication
Learn how to authenticate your requests using Bearer tokens or Session cookies.
Authentication
The Shorted API uses Bearer Tokens to authenticate requests. You can generate a personal access token directly from this dashboard if you are signed in.
Bearer Token
Include your API key in the Authorization header of your requests. It is optional: every endpoint in this reference answers unauthenticated at the anonymous tier. A token identifies you and raises your rate limits.
Public vs Private
Every one of the 75 endpoints in this reference is public — callable without a token, at the anonymous rate limit. This list is generated from the API's protobuf definitions, so it cannot disagree with what the server enforces.
Private methods — account and billing operations such as minting a token — are not documented here at all. If you cannot find an endpoint on this page, it is not part of the public API; there is no public endpoint that a token unlocks.
Rate Limits & Usage Policy
All API requests are subject to rate limiting. Limits vary by subscription tier and are enforced using a sliding window algorithm.
Rate Limit Tiers
These limits apply to programmatic API access (requests with API tokens). Browser access via shorted.com.au has more relaxed limits and is not subject to these caps.
| Tier | Per Minute | Per Month | Access |
|---|---|---|---|
| Anonymous | 30 | 500 | Public endpoints only, limited |
| Free (signed in) | 60 | 1,000 | All endpoints, requires API token |
| API Access ($20/mo) | 120 | 10,000 | All endpoints, priority |
| Enterprise | 300 | 50,000 | All endpoints, dedicated support |
Usage Policy
- Automated access requires a valid API token.
- Scraping without authentication is prohibited.
- Requests without valid
User-Agentheaders may be blocked. - Browser-tier rate limits only apply to requests originating from shorted.com.au.
- Abuse results in IP-level blocking.
- For bulk data access, contact [email protected].
Response Headers
All API responses include rate limit headers so you can monitor your usage programmatically.
X-RateLimit-Limit: 120 # Per-minute limit (0 = unlimited)X-RateLimit-Remaining: 115 # Requests remaining this minuteX-RateLimit-Reset: 1706918400 # Unix timestamp when minute window resetsX-RateLimit-Monthly-Limit: 10000 # Monthly request capX-RateLimit-Monthly-Used: 150 # Requests used this monthX-RateLimit-Monthly-Reset: 1709251200 # Start of next billing monthWhen rate limited, the API returns HTTP 429 Too Many Requests with a Retry-After header indicating how many seconds to wait.
Client Guides
Detailed guides for calling the Shorted API from your preferred language. All examples use standard HTTP — no SDK installation required.