API Documentation

Free API for personal and educational use only. All endpoints are read-only and rate-limited.

Interactive API Reference

Explore and test all API endpoints directly in your browser

Getting Started

Base URL

https://api.asxshort.app/api/v1

Rate Limits

  • Standard endpoints: 100 requests/hour
  • Analytics endpoints: 50 requests/hour

Authentication

No authentication required - free for personal and educational use

Market Endpoints

GET
/market/overview

Get market-wide statistics including average short percentage, most shorted stock, top sector and industry

Example Response

{
  "date": "2024-11-19",
  "total_stocks": 2145,
  "average_short_percentage": 3.45,
  "most_shorted": {
    "code": "PDL",
    "name": "Pendal Group Ltd",
    "percentage": 34.21
  },
  "top_sector": {
    "sector": "Financials",
    "average_short_percentage": 5.67,
    "stock_count": 234
  },
  "top_industry": {
    "industry": "Asset Management",
    "average_short_percentage": 12.34,
    "stock_count": 45
  }
}
GET
/market/sectors

Get sector breakdown with average short percentages and stock counts

Example Response

{
  "sectors": [
    {
      "sector": "Financials",
      "stock_count": 234,
      "avg_short_percentage": 5.67,
      "max_short_percentage": 34.21,
      "min_short_percentage": 0.12
    }
  ]
}
GET
/market/trend

Get historical market trend data

Parameters

daysinteger - Number of days (default: 30)

Example Response

{
  "trend": [
    {
      "date": "2024-11-19",
      "average_short_percentage": 3.45,
      "total_stocks": 2145
    }
  ]
}

Stock Endpoints

GET
/stocks/top-shorted

Get the most shorted stocks on the ASX, sorted by short percentage

Parameters

limitinteger - Number of results (max: 200, default: 50)

Example Response

{
  "date": "2024-11-19",
  "stocks": [
    {
      "rank": 1,
      "code": "PDL",
      "name": "Pendal Group Ltd",
      "sector": "Financials",
      "industry": "Asset Management",
      "market_cap": 1234567890,
      "short_percentage": 34.21,
      "short_position": 123456789
    }
  ]
}
GET
/stocks/movers

Get stocks with the biggest changes in short interest

Parameters

periodstring - Time period: day, week, or month (default: week)
limitinteger - Number of results (default: 20)

Example Response

{
  "period": "week",
  "date": "2024-11-19",
  "gainers": [
    {
      "code": "BHP",
      "name": "BHP Group Ltd",
      "sector": "Materials",
      "current_percentage": 5.23,
      "previous_percentage": 3.45,
      "change_absolute": 1.78,
      "change_percentage": 51.6
    }
  ],
  "losers": []
}
GET
/stocks/{code}

Get detailed information for a specific stock including current short position, fundamentals, and latest price

Parameters

codestring *- ASX stock code (e.g., BHP, CBA)

Example Response

{
  "code": "BHP",
  "name": "BHP Group Ltd",
  "sector": "Materials",
  "industry": "Metals & Mining",
  "market_cap": 185000000000,
  "current_price": 42.5,
  "short_position": {
    "percentage": 5.23,
    "shares": 456789012,
    "liability_aud": 19413333010,
    "report_date": "2024-11-15"
  },
  "fundamentals": {
    "pe_ratio": 12.5,
    "roe": 0.18,
    "dividend_yield": 5.2,
    "debt_to_equity": 0.45,
    "52_week_high": 48.9,
    "52_week_low": 38.2,
    "description": "BHP Group Limited operates as a resources company..."
  }
}
GET
/stocks/{code}/history

Get historical short position data for a stock

Parameters

codestring *- ASX stock code
daysinteger - Number of days of history (default: 90)

Example Response

{
  "code": "BHP",
  "history": [
    {
      "report_date": "2024-11-15",
      "short_percentage": 5.23,
      "short_position": 456789012,
      "change_from_previous": 0.12
    }
  ]
}
GET
/stocks/{code}/combined-history

Get combined price and short interest history for charting

Parameters

codestring *- ASX stock code
periodstring - Time period: 1M, 3M, 6M, 1Y, or 2Y (default: 3M)

Example Response

{
  "code": "BHP",
  "period": "3M",
  "data": [
    {
      "date": "2024-11-15",
      "price": 42.5,
      "volume": 12345678,
      "short_pct": 5.23
    }
  ],
  "short_change_absolute": 0.45,
  "price_change_percentage": 2.34
}
GET
/stocks/{code}/daily-short-sales

Get daily short sale transaction data showing daily net short selling activity (separate from bi-weekly aggregate positions)

Parameters

codestring *- ASX stock code
daysinteger - Number of days of history (max: 365, default: 30)

Example Response

{
  "code": "BHP",
  "name": "BHP Group Ltd",
  "days": 30,
  "data_points": 22,
  "earliest_date": "2024-10-20",
  "latest_date": "2024-11-19",
  "data": [
    {
      "trade_date": "2024-11-19",
      "short_sale_volume": 1234567,
      "total_volume": 12345678,
      "short_sale_value": 52461835,
      "short_percentage": 10
    },
    {
      "trade_date": "2024-11-18",
      "short_sale_volume": 987654,
      "total_volume": 10987654,
      "short_sale_value": 41972916,
      "short_percentage": 8.99
    }
  ]
}

Analytics Endpoints

GET
/stocks/analytics/squeeze-candidates-advanced

Get potential short squeeze candidates with multi-factor scoring

Parameters

limitinteger - Number of results (default: 50)
min_short_pctnumber - Minimum short percentage (default: 5.0)
blend_typestring - Scoring method: equal, short_biased, or momentum_biased

Example Response

{
  "date": "2024-11-19",
  "candidates": [
    {
      "code": "PDL",
      "name": "Pendal Group Ltd",
      "sector": "Financials",
      "short_percentage": 34.21,
      "blended_score": 87.5,
      "normalized_component_scores": {
        "price_resilience": 92.3,
        "short_acceleration": 85.6,
        "momentum_trap": 78.9,
        "reversal_pattern": 88.2,
        "coiled_spring": 91.4
      },
      "key_metrics": {
        "days_to_cover": 4.5,
        "momentum_20d": 12.3,
        "rsi": 45.6
      }
    }
  ]
}
GET
/stocks/analytics/sector-summary

Get aggregated short interest statistics by sector

Example Response

{
  "date": "2024-11-19",
  "sectors": [
    {
      "sector": "Financials",
      "stock_count": 234,
      "avg_short_percentage": 5.67,
      "max_short_percentage": 34.21,
      "min_short_percentage": 0.12,
      "total_short_position": 1234567890
    }
  ]
}
GET
/stocks/analytics/industry-summary

Get aggregated short interest statistics by industry

Example Response

{
  "date": "2024-11-19",
  "industries": [
    {
      "industry": "Asset Management",
      "stock_count": 45,
      "avg_short_percentage": 12.34,
      "max_short_percentage": 34.21,
      "min_short_percentage": 2.15,
      "total_short_position": 987654321
    }
  ]
}
GET
/stocks/analytics/days-to-cover

Get stocks ranked by days-to-cover ratio (short position divided by average daily volume)

Parameters

limitinteger - Number of results (default: 50)
min_short_pctnumber - Minimum short percentage (default: 2.0)

Example Response

{
  "date": "2024-11-19",
  "stocks": [
    {
      "code": "PDL",
      "name": "Pendal Group Ltd",
      "sector": "Financials",
      "short_percentage": 34.21,
      "short_position": 123456789,
      "avg_volume_30d": 2500000,
      "days_to_cover": 49.4
    }
  ]
}

Search

GET
/search/

Search for stocks by code or company name

Parameters

qstring *- Search query (minimum 2 characters)
limitinteger - Number of results (default: 20)

Example Response

{
  "results": [
    {
      "code": "BHP",
      "name": "BHP Group Ltd",
      "sector": "Materials",
      "short_percentage": 5.23
    }
  ]
}

HTTP Response Codes

200 OKRequest successful
400 Bad RequestInvalid parameters
404 Not FoundResource does not exist
429 Too Many RequestsRate limit exceeded

Free for personal and educational use only. Please use responsibly and respect rate limits.

Questions or issues? Contact us