Documentation

hSoft
REST API

Akses data anime, jadwal tayang, episode, dan stream video melalui API informal AnimeIn. Semua endpoint menggunakan metode GET dengan respons JSON.

● REST / JSON GET Only No Auth Required v3.2
⚡
Semua request wajib menyertakan headers berikut agar server merespons dengan benar. Tanpa headers ini, request mungkin akan ditolak atau mengembalikan respons kosong.
Required Headers (semua endpoint)
HeaderValue
User-Agent Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Mobile Safari/537.36 OPR/95.0.0.0
Origin https://hsoft.eu.cc
Referer https://hsoft.eu.cc/
maxContentLength Infinity
maxBodyLength Infinity
Accept application/json
Content-Type application/json
🔗
Base URL:
https://api.hsoft.eu.cc/api
GET

Home Data

Mengambil data lengkap halaman utama: anime hot, tayang hari ini, populer, slider banner, trailer, waiting list, dan random picks.

GET /home/data?day=SELASA&limit=16
Query Parameters
ParameterTypeDescription
day required string Hari dalam seminggu (Bahasa Indonesia). Nilai: SENIN, SELASA, RABU, KAMIS, JUMAT, SABTU, MINGGU
limit optional integer Jumlah item per kategori. Default: 16
Response · 200 OK
{
  "status": 200,
  "error": false,
  "data": {
    "fyp": [],
    "hot": [ /* array of movie objects */ ],
    "today": [ /* anime tayang hari ini */ ],
    "popular": [ /* anime paling populer */ ],
    "slider": [ /* banner/slider images */ ],
    "trailer": [ /* video trailer upcoming */ ],
    "waiting": [ /* anime belum tayang */ ],
    "random": [ /* rekomendasi acak */ ],
    "setup_fyp_flag": "N",
    "setup_fyp_name": "..."
  }
}
Movie Object Fields
id
string
ID unik anime
title
string
Judul anime
synopsis
string
Sinopsis (Bahasa Indonesia)
synonyms
string
Judul alternatif/alias
image_poster
string (URL)
URL gambar poster
image_cover
string (URL)
URL gambar cover/banner
type
string
Tipe: SERIES, ONA, OVA, MOVIE
status
string
ONGOING, FINISHED, WAITING
year
string
Tahun tayang
day
string
Hari tayang dalam seminggu
views
string (number)
Total penonton
favorites
string (number)
Jumlah yang memfavoritkan
aired_start
string (date)
Tanggal mulai tayang
genre
string
Genre dipisah koma
GET

Schedule

Mengambil daftar anime yang tayang pada hari tertentu beserta status tayang terbaru.

GET /schedule/data?day=selasa&limit=16
Query Parameters
ParameterTypeDescription
day required string Hari dalam seminggu, huruf kecil. Nilai: senin, selasa, rabu, kamis, jumat, sabtu, minggu
limit optional integer Jumlah item per request. Default: 16
Response · 200 OK
{
  "status": 200,
  "error": false,
  "data": {
    "movie": [
      {
        "id": "6324",
        "title": "Higeki no Genkyou...",
        "type": "SERIES",
        "status": "ONGOING",
        "time": "new !!",         // "new !!" jika baru
        "key_time": "2026-04-28 21:00:10"  // waktu rilis terbaru
      }
    ]
  }
}
💡
Field time berisi "new !!" jika episode baru sudah tersedia. Field key_time adalah timestamp rilis episode terbaru.
GET

Explore / Search Anime

Mencari dan memfilter anime berdasarkan keyword, genre, dan sorting. Mendukung paginasi.

GET /explore/movie?page=0&sort=views&keyword=One+Piece&genre_in=22
Query Parameters
ParameterTypeDescription
page required integer Nomor halaman, dimulai dari 0
sort optional string Urutan hasil. Nilai: views, favorites, aired_start, title
keyword optional string Kata kunci pencarian judul anime. Gunakan + untuk spasi
genre_in optional integer Filter berdasarkan ID genre. Lihat endpoint Genre List untuk daftar ID
Response · 200 OK
{
  "status": 200,
  "error": false,
  "data": {
    "movie": [
      {
        "id": "426",
        "title": "One Piece",
        "key_status": "active"
        // ... movie object fields
      }
    ]
  }
}
GET

Genre List

Mengambil seluruh daftar genre yang tersedia beserta ID dan gambarnya, untuk digunakan sebagai filter di endpoint explore.

GET /explore/genre
ℹ️
Endpoint ini tidak memerlukan parameter apapun.
Response · 200 OK
{
  "status": 200,
  "error": false,
  "data": {
    "genre": [
      {
        "id": "14",
        "name": "Action",
        "image": "https://animein.net/assets/images/genres/...",
        "group": "Genre"
      }// ...
    ]
  }
}
Genre Object Fields
id
string
ID genre, digunakan sebagai nilai genre_in pada explore
name
string
Nama genre (English)
image
string (URL)
URL gambar/ikon genre
group
string
Grup kategori, contoh: Genre
GET

Episode List

Mengambil daftar episode dari suatu anime berdasarkan ID movie, dengan dukungan paginasi.

GET /movie/episode/{id_movie}?page=0
Path Parameters
ParameterTypeDescription
id_movie required string ID movie dari hasil endpoint explore atau home. Contoh: 426
Query Parameters
ParameterTypeDescription
page required integer Nomor halaman, dimulai dari 0
Response · 200 OK
{
  "status": 200,
  "error": false,
  "data": {
    "episode": [
      {
        "id": "315366",       // ID episode (untuk stream)
        "index": "1158",     // Nomor episode
        "title": "Episode 1158",
        "views": "15272",
        "id_movie": "426",
        "key_time": "19 Apr 2026",
        "image": "/assets_xyz/images/movie/episode/...",
        "is_new": "1",        // "1" jika episode baru
        "is_book": 0
      }
    ]
  }
}
GET

Stream Info

Mengambil informasi streaming suatu episode, termasuk daftar server video dengan berbagai kualitas yang tersedia.

GET /episode/streamnew/{id_episode}
Path Parameters
ParameterTypeDescription
id_episode required string ID episode dari hasil endpoint episode list. Contoh: 315366
Response · 200 OK
{
  "status": 200,
  "error": false,
  "data": {
    "episode": {
      "id": "315366",
      "index": "1158",
      "title": "Episode 1158"
      // ... episode fields
    },
    "episode_next": null,  // episode berikutnya (atau null)
    "server": [
      {
        "id": "791334",
        "link": "https://storages.animein.net/One%20Piece%2F1158-360p-...",
        "quality": "360p",     // 360p / 480p / 720p / 1080p
        "name": "RAPSODI",
        "type": "direct",     // "direct" = bisa diproxy
        "server_id": "28"
      }
    ]
  }
}
Server Object Fields
id
string
ID server video
link
string (URL)
URL video langsung. Gunakan video proxy untuk mengaksesnya
quality
string
Kualitas video: 360p, 480p, 720p, 1080p
name
string
Nama server/uploader
type
string
direct = URL langsung dapat diproxy
username
string
Username uploader konten
CDN

Video Proxy

Proxy Cloudflare Worker untuk streaming video. Gunakan ini untuk memutar URL video yang diperoleh dari server stream, karena video langsung memerlukan referer yang benar.

GET https://vprx.yukikiyuctm.workers.dev/{videoUrl}
⚠️
Endpoint ini merupakan proxy eksternal yang berbeda dari base URL utama. URL video (field link) dari server stream harus di-encode dan disambungkan langsung setelah URL proxy.
Contoh Penggunaan
// Video URL dari server stream:
https://storages.animein.net/One%20Piece%2F1158-360p-1776615232616.mp4

// Akses melalui proxy:
https://vprx.yukikiyuctm.workers.dev/https://storages.animein.net/One%20Piece%2F1158-360p-1776615232616.mp4

// JavaScript - contoh integrasi:
const videoUrl = server.link;
const proxied  = `https://vprx.yukikiyuctm.workers.dev/${videoUrl}`;
videoElement.src = proxied;
💡
Pilih server dengan type: "direct" untuk digunakan dengan proxy ini. Server dengan tipe lain mungkin menggunakan embed pihak ketiga yang tidak kompatibel.
📋
Flow Penggunaan API
1 Ambil daftar anime via Explore atau Home Data
2 Gunakan id anime untuk fetch Episode List
3 Gunakan id episode untuk fetch Stream Info
4 Putar server[n].link melalui Video Proxy
hSoft API Docs · Generated 2026