HentiTH API Developer Portal

v1.0.0 Online

คู่มือการเชื่อมต่อ API สำหรับส่งต่อข้อมูลมังงะ, เฮนไต, โดจิน, หมวดหมู่ และระบบดึงลิงก์สตรีมมิ่งตรง

Base URL:http://localhost:3000
กลับหน้าแรก
ระบบทดสอบ Demo Sandbox (ควบคุมด้วย API Key) ต้องกรอก Key เพื่อทดลองยิง API
API Keys ถูกควบคุมสิทธิ์และจัดการจากระบบหลังบ้าน (Admin Dashboard)

การเข้าถึงและระบบยืนยันตัวตน (Authentication & Quick Start)

API ทุกเส้นทางในเวอร์ชันนี้เชื่อมต่อด้วยระบบ Client API Key เพื่อความปลอดภัยและความเสถียร โดยสามารถส่งคีย์ผ่าน HTTP Header x-api-key: YOUR_KEY หรือพารามิเตอร์ ?api_key=YOUR_KEY และรองรับการเชื่อมต่อจากทั้ง Front-end Browser (CORS Enabled: *) และ Back-end Application

Format: JSON (UTF-8)
Header: x-api-key
CORS: Supported (*)
GET/api/v1

API Overview & System Status

ตรวจสอบสถานะระบบ สถิติจำนวนข้อมูลทั้งหมด (เฮนไต, มังงะ, โดจิน, หมวดหมู่) และสารบัญ Endpoints

curl -X GET "https://domain.com/api/v1" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Accept: application/json"
ดูตัวอย่าง JSON Response (Sample Schema)
{
  "success": true,
  "code": 200,
  "data": {
    "name": "HentiTH Content & Streaming API",
    "version": "1.0.0",
    "status": "operational",
    "documentation": "https://domain.com/docs",
    "serverTime": "2026-09-12T12:00:00.000Z",
    "statistics": {
      "totalHentai": 1022,
      "totalDoujins": 1485,
      "totalMangas": 557,
      "totalCategories": 192
    }
  }
}
GET/api/v1/hentai

รายการเฮนไต (H-Anime List)

ดึงรายการเฮนไตทั้งหมด พร้อมระบบค้นหา ฟิลเตอร์หมวดหมู่ แท็ก การเรียงลำดับ และการแบ่งหน้า

Parameters
ParameterTypeInRequiredDescription
pageintegerqueryNoเลขหน้าที่ต้องการดึง (เริ่มต้น 1) (Default: 1)
limitintegerqueryNoจำนวนรายการต่อหน้า (สูงสุด 100) (Default: 24)
qstringqueryNoคำค้นหาชื่อเรื่องหรือเรื่องย่อ
categorystringqueryNoSlug หมวดหมู่ เช่น uncensored, romance
tagstringqueryNoSlug แท็ก เช่น full-color, big-breasts
orderstringqueryNoการเรียงลำดับ: latest (ล่าสุด), rating (คะแนน), year (ปี) (Default: latest)
curl -X GET "https://domain.com/api/v1/hentai?page=1&limit=24&order=latest" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Accept: application/json"
ดูตัวอย่าง JSON Response (Sample Schema)
{
  "success": true,
  "code": 200,
  "data": [
    {
      "id": 101,
      "title": "School Days Special",
      "slug": "school-days-special",
      "posterUrl": "https://example.com/poster.jpg",
      "description": "เรื่องย่ออนิเมะ...",
      "rating": "8.9",
      "episodesCount": "ตอนที่ 1-2 จบ",
      "year": "2024",
      "language": "ซับไทย",
      "type": "hentai",
      "detailUrl": "https://domain.com/api/v1/hentai/school-days-special"
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 5,
    "totalItems": 1022,
    "totalPages": 205,
    "hasNextPage": true,
    "hasPrevPage": false
  }
}
GET/api/v1/hentai/:slug

รายละเอียดเฮนไต & รายการตอน (H-Anime Detail)

ดึงรายละเอียดอนิเมะ เรื่องย่อ หมวดหมู่ แท็ก และรายการตอนทั้งหมดพร้อม Watch Slug

Parameters
ParameterTypeInRequiredDescription
slugstringpathYesSlug ของอนิเมะเฮนไต เช่น school-days-special
curl -X GET "https://domain.com/api/v1/hentai/" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Accept: application/json"
ดูตัวอย่าง JSON Response (Sample Schema)
{
  "success": true,
  "code": 200,
  "data": {
    "id": 101,
    "title": "School Days",
    "slug": "school-days-special",
    "posterUrl": "https://example.com/poster.jpg",
    "description": "เรื่องย่ออนิเมะ...",
    "rating": "8.9",
    "year": "2024",
    "status": "จบแล้ว",
    "language": "ซับไทย",
    "studio": "Bunnywalker",
    "producer": "Pink Pineapple",
    "type": "hentai",
    "categories": [
      {
        "id": 1,
        "name": "Uncensored",
        "slug": "uncensored"
      }
    ],
    "tags": [
      {
        "id": 4,
        "name": "Schoolgirl",
        "slug": "schoolgirl"
      }
    ],
    "episodesCount": 2,
    "episodes": [
      {
        "id": 1,
        "label": "ตอนที่ 01",
        "watchSlug": "school-days-special-ตอนที่-01",
        "duration": "24 นาที",
        "streamApiUrl": "https://domain.com/api/v1/links/stream?watch_slug=school-days-special-ตอนที่-01"
      }
    ]
  }
}
GET/api/v1/mangas

รายการมังงะ (Manga List)

ดึงรายการมังงะ มังฮวา (เกาหลี) มังฮัว (จีน) ทั้งหมด พร้อมระบบฟิลเตอร์และค้นหา

Parameters
ParameterTypeInRequiredDescription
pageintegerqueryNoเลขหน้าที่ต้องการดึง (Default: 1)
limitintegerqueryNoจำนวนรายการต่อหน้า (Default: 24)
qstringqueryNoคำค้นหาชื่อมังงะ
typestringqueryNoประเภท: manga (ญี่ปุ่น), manhwa (เกาหลี), manhua (จีน)
genrestringqueryNoSlug หมวดหมู่มังงะ เช่น action, fantasy
orderstringqueryNoการเรียง: latest (ล่าสุด), views (ยอดวิว) (Default: latest)
curl -X GET "https://domain.com/api/v1/mangas?page=1&limit=24&order=latest" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Accept: application/json"
ดูตัวอย่าง JSON Response (Sample Schema)
{
  "success": true,
  "code": 200,
  "data": [
    {
      "id": 55,
      "title": "Solo Leveling",
      "slug": "solo-leveling",
      "coverUrl": "https://example.com/cover.jpg",
      "type": "manhwa",
      "status": "จบแล้ว",
      "rating": "9.8",
      "views": 120500,
      "detailUrl": "https://domain.com/api/v1/manga/solo-leveling"
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 5,
    "totalItems": 557,
    "totalPages": 112,
    "hasNextPage": true,
    "hasPrevPage": false
  }
}
GET/api/v1/manga/:slug

รายละเอียดมังงะ & สารบัญตอน (Manga Detail & Chapters)

ดึงรายละเอียดมังงะ เรื่องย่อ หมวดหมู่ และรายการตอนทั้งหมดที่มี

Parameters
ParameterTypeInRequiredDescription
slugstringpathYesSlug ของมังงะ เช่น solo-leveling
curl -X GET "https://domain.com/api/v1/manga/" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Accept: application/json"
ดูตัวอย่าง JSON Response (Sample Schema)
{
  "success": true,
  "code": 200,
  "data": {
    "id": 55,
    "title": "Solo Leveling",
    "slug": "solo-leveling",
    "coverUrl": "https://example.com/cover.jpg",
    "synopsis": "เรื่องย่อ...",
    "type": "manhwa",
    "status": "จบแล้ว",
    "rating": "9.8",
    "genres": [
      {
        "id": 10,
        "name": "Action",
        "slug": "action"
      }
    ],
    "chaptersCount": 179,
    "chapters": [
      {
        "id": 1201,
        "number": 1,
        "title": "ตอนที่ 1",
        "slug": "chapter-1",
        "readerApiUrl": "https://domain.com/api/v1/manga/solo-leveling/1",
        "directImagesApiUrl": "https://domain.com/api/v1/links/manga?slug=solo-leveling&chapter=1"
      }
    ]
  }
}
GET/api/v1/manga/:slug/:chapter

อ่านมังงะรายตอน (Manga Chapter Reader)

ดึงรูปภาพทุกหน้าในตอนที่ระบุ พร้อมลิงก์รูปภาพ Proxy CDN สำหรับเปิดอ่านบนเว็บหรือแอพ

Parameters
ParameterTypeInRequiredDescription
slugstringpathYesSlug ของมังงะ
chapternumberpathYesเลขตอน เช่น 1 หรือ 1.5
curl -X GET "https://domain.com/api/v1/manga//" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Accept: application/json"
ดูตัวอย่าง JSON Response (Sample Schema)
{
  "success": true,
  "code": 200,
  "data": {
    "mangaTitle": "Silent War",
    "mangaSlug": "silent-war",
    "chapterNumber": 1,
    "totalPages": 24,
    "pages": [
      {
        "pageNumber": 1,
        "imageUrl": "https://upstream-cdn.com/page-1.jpg",
        "proxyImageUrl": "https://domain.com/media/bWFnY...hash"
      }
    ]
  }
}
GET/api/v1/doujins

รายการโดจิน (Doujinshi List)

ดึงรายการโดจินแปลไทยทั้งหมด พร้อมระบบค้นหา และฟิลเตอร์ตามหมวดหมู่/แท็ก

Parameters
ParameterTypeInRequiredDescription
pageintegerqueryNoเลขหน้าที่ต้องการดึง (Default: 1)
limitintegerqueryNoจำนวนรายการต่อหน้า (Default: 24)
qstringqueryNoคำค้นหาชื่อโดจิน
categorystringqueryNoSlug หมวดหมู่
tagstringqueryNoSlug แท็ก
curl -X GET "https://domain.com/api/v1/doujins?page=1&limit=24" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Accept: application/json"
ดูตัวอย่าง JSON Response (Sample Schema)
{
  "success": true,
  "code": 200,
  "data": [
    {
      "id": 301,
      "title": "[Artist] Sample Doujinshi Title",
      "slug": "sample-doujin-slug",
      "posterUrl": "https://example.com/doujin.jpg",
      "type": "doujin",
      "language": "แปลไทย",
      "rating": "18+",
      "pagesCount": 32,
      "detailUrl": "https://domain.com/api/v1/doujin/sample-doujin-slug",
      "directPagesUrl": "https://domain.com/api/v1/links/doujin?slug=sample-doujin-slug"
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 5,
    "totalItems": 1485,
    "totalPages": 297,
    "hasNextPage": true,
    "hasPrevPage": false
  }
}
GET/api/v1/doujin/:slug

รายละเอียดโดจิน & รูปภาพทุกหน้า (Doujin Reader)

ดึงรายละเอียดโดจิน นักวาด (Artist) กลุ่ม (Group) และรูปภาพทุกหน้าพร้อมใช้งาน

Parameters
ParameterTypeInRequiredDescription
slugstringpathYesSlug ของโดจิน
curl -X GET "https://domain.com/api/v1/doujin/" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Accept: application/json"
ดูตัวอย่าง JSON Response (Sample Schema)
{
  "success": true,
  "code": 200,
  "data": {
    "id": 301,
    "title": "Sample Doujin Title",
    "slug": "sample-doujin-slug",
    "posterUrl": "https://example.com/poster.jpg",
    "artist": "ShindoL",
    "group": "Studio FOW",
    "language": "แปลไทย",
    "totalPages": 20,
    "pages": [
      {
        "pageNumber": 1,
        "imageUrl": "https://upstream-cdn.com/01.jpg",
        "proxyImageUrl": "https://domain.com/media/bWFnY...hash"
      }
    ]
  }
}
GET/api/v1/categories

รายการหมวดหมู่ทั้งหมด (All Categories & Tags)

ดึงรายชื่อหมวดหมู่ทั้งหมดจากฐานข้อมูล พร้อมจำนวนผลงานที่มีอยู่จริง

Parameters
ParameterTypeInRequiredDescription
typestringqueryNoประเภทหมวดหมู่: all, hentai, doujin, manga (Default: all)
curl -X GET "https://domain.com/api/v1/categories?type=all" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Accept: application/json"
ดูตัวอย่าง JSON Response (Sample Schema)
{
  "success": true,
  "code": 200,
  "data": {
    "totalCategories": 192,
    "hentaiCategories": [
      {
        "id": 1,
        "name": "Uncensored (อันเซ็นเซอร์)",
        "slug": "uncensored",
        "totalCount": 145
      },
      {
        "id": 2,
        "name": "MILF (คุณแม่/หญิงสาว)",
        "slug": "milf",
        "totalCount": 88
      }
    ],
    "mangaGenres": [
      {
        "id": 10,
        "name": "Action",
        "slug": "action",
        "totalCount": 210
      }
    ]
  }
}
GET/api/v1/categories/:slug

ดึงผลงานตามหมวดหมู่ (Content by Category)

ดึงรายการผลงานทั้งหมดที่อยู่ในหมวดหมู่หรือแท็กที่ระบุ

Parameters
ParameterTypeInRequiredDescription
slugstringpathYesSlug ของหมวดหมู่ เช่น uncensored, milf, action
typestringqueryNoประเภทผลงาน: all, hentai, doujin, manga (Default: all)
pageintegerqueryNoเลขหน้า (Default: 1)
limitintegerqueryNoจำนวนรายการ (Default: 24)
curl -X GET "https://domain.com/api/v1/categories/?type=all&page=1&limit=24" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Accept: application/json"
ดูตัวอย่าง JSON Response (Sample Schema)
{
  "success": true,
  "code": 200,
  "data": {
    "category": {
      "name": "Uncensored",
      "slug": "uncensored"
    },
    "items": [
      {
        "id": 1,
        "title": "Uncensored Hentai",
        "type": "hentai"
      }
    ]
  },
  "pagination": {
    "page": 1,
    "limit": 5,
    "totalItems": 145,
    "totalPages": 29,
    "hasNextPage": true,
    "hasPrevPage": false
  }
}

รหัสสถานะการตอบกลับ (HTTP Status Codes)

ระบบส่ง Response ในรูปแบบ Standardized JSON เสมอ โดยทุก Error จะมีฟิลด์ success: false และ error: "message"

CodeStatusความหมาย
200OKดึงข้อมูลสำเร็จ ข้อมูลอยู่ในฟิลด์ data
400Bad Requestพารามิเตอร์ไม่ถูกต้อง หรือขาดพารามิเตอร์ที่จำเป็น (เช่น ขาด slug หรือ q)
401Unauthorizedไม่ได้ระบุ API Key หรือ API Key ไม่ถูกต้อง / ถูกระงับสิทธิ์การใช้งานจากระบบหลังบ้าน
404Not Foundไม่พบข้อมูลเรื่อง ตอน หรือไฟล์สตรีมที่ระบุ
500Internal Errorเกิดข้อผิดพลาดในการประมวลผลของเซิร์ฟเวอร์