Overview

Fetches a paginated list of the ONA anime as ranked on HiAnime. Use this when you need a broad, trending list to display on home pages, dashboards, or discovery screens.

Usage

index.ts
import { Hianime } from "hianime";

async function main() {
  const hianime = new Hianime();

  const result = await hianime.getONAList();
  console.log(JSON.stringify(result, null, 2));
}

main();

Response

response
{
  "page": 1,
  "totalPage": 31,
  "hasNextPage": true,
  "results": [
    {
      "id": "/fighting-for-the-throne-19833",
      "image": "https://cdn.noitatnemucod.net/thumbnail/300x400/100/520428661d081bb6a0fb7dc781bc1c81.jpg",
      "title": "Fighting for the Throne",
      "type": "ONA",
      "language": {
        "sub": "48",
        "dub": null
      },
      "dataId": "19833"
    },
    {
      "id": "/twin-martial-spirits-19830",
      "image": "https://cdn.noitatnemucod.net/thumbnail/300x400/100/c74d427ff0df122ded2ca9924e8305dc.jpg",
      "title": "Twin Martial Spirits",
      "type": "ONA",
      "language": {
        "sub": "11",
        "dub": null
      },
      "dataId": "19830"
    }
  ]
}

Response fields

  • page: number — current page index returned by the API.
  • totalPage: number — total number of pages available.
  • hasNextPage: boolean — indicates whether another page is available.
  • results: array of items containing:
    • id: string — anime identifier or path.
    • image: string — poster/thumbnail URL.
    • title: string — anime title.
    • type: string — e.g., “TV”, “Movie” (values depend on site data).
    • language.sub / language.dub: string — episode availability counts as reported by the site.
    • dataId: string — site-specific numeric identifier.

Parameters

  • page: number — page to fetch. Defaults to 1. Must be a positive integer.
    Use page together with hasNextPage and totalPage to implement pagination in your app.

Notes & limitations

  • Ordering and availability are determined by HiAnime and may change over time.
  • Pagination limits (max pages) can vary; always check hasNextPage.
  • This is an unofficial scraper-based method; site changes can break behavior without notice. Use responsibly and respect the website’s Terms of Service.