Skip to content

mimobytes/WebtoonsWrapper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Webtoon API

A fast, lightweight Go Webtoon scraper & REST API built with Colly.

This project scrapes Webtoon directly and exposes a clean JSON API for searching series, browsing genres, retrieving details, listing episodes, extracting chapter images, and more.

To improve performance, Trending and Popular pages are cached in memory and automatically refreshed every 10 minutes, allowing most requests to be served instantly without scraping Webtoon again.

Features

  • 🕷️ Powered by Colly
  • 🔍 Search Webtoons
  • 🎯 Search autocomplete suggestions
  • 📚 Browse categories & genres
  • 📈 Trending Webtoons endpoint
  • 🔥 Popular Webtoons endpoint
  • 📖 Detailed series information
  • 📑 Complete episode listings
  • 🖼️ Chapter image extraction
  • 🌐 Built-in image proxy
  • 🚀 In-memory caching
  • 📦 JSON-friendly responses

Requirements

  • Go 1.26 or later

Installation

Clone the repository:

git clone https://github.com/rorabyte/Webtoons.git
cd Webtoons

Download dependencies:

go mod download

Building

cd cmd/webtoon
go build .

This builds the API server executable.

Running

cd cmd/webtoon
go run .

The service listens on:

http://localhost:3000

API Endpoints

GET /

Health check endpoint.

Example:

curl http://localhost:3000/

GET /routify

Constructs a valid Webtoon URL from title information.

Parameters

Name Description
title Webtoon title
id Webtoon title ID
genre Genre slug

Example

curl "http://localhost:3000/routify?title=Example&id=123&genre=action"

GET /immediate

Returns search autocomplete suggestions from Webtoon.

Parameters

Name Description
query Search keyword

Example

curl "http://localhost:3000/immediate?query=hero"

GET /search

Searches Webtoon and returns matching series.

Parameters

Name Description
query Search keyword

Example

curl "http://localhost:3000/search?query=magic"

GET /categories

Returns all available Webtoon categories.

Example

curl "http://localhost:3000/categories"

GET /category

Returns Webtoons belonging to a category.

Parameters

Name Description
id Category slug
sortOrder Optional sort order (MANA, UPDATE, LIKEIT)

Sort Orders: MANA = By Popularity UPDATE=By Date LIKEIT=By Likes

Example

curl "http://localhost:3000/category?id=action&sortOrder=MANA"

GET /trending

Returns currently trending Webtoons.

Cache

  • Cached in memory
  • Automatically refreshed every 10 minutes

Example

curl "http://localhost:3000/trending"

GET /popular

Returns popular Webtoons.

Cache

  • Cached in memory
  • Automatically refreshed every 10 minutes

Example

curl "http://localhost:3000/popular"

GET /details

Returns detailed information about a Webtoon series.

Parameters

Name Description
url Full Webtoon URL

Example

curl "http://localhost:3000/details?url=https://www.webtoons.com/en/action/example/list?title_no=123"

GET /episodes

Returns episode metadata for a Webtoon.

Parameters

Name Description
url Full Webtoon URL

Example

curl "http://localhost:3000/episodes?url=https://www.webtoons.com/en/action/example/list?title_no=123"

GET /chapter

Returns all image URLs from a chapter page.

Parameters

Name Description
url Full chapter URL

Example

curl "http://localhost:3000/chapter?url=https://www.webtoons.com/en/action/example/viewer?title_no=123&episode_no=1"

GET /proxy-image

Webtoon image servers require a valid Referer header before serving images.

This endpoint automatically handles the required headers and returns the image directly.

Useful for:

  • Mobile applications
  • Desktop applications
  • Downloaders
  • Image viewers
  • Thumbnail generation

Parameters

| Name | Description | | - | | | url | Original image URL |

Example

curl "http://localhost:3000/proxy-image?url=https://..."

Example Workflow

Search for a series:

curl "http://localhost:3000/search?query=omniscient"

Get details:

curl "http://localhost:3000/details?url=SERIES_URL"

Fetch episodes:

curl "http://localhost:3000/episodes?url=SERIES_URL"

Retrieve chapter images:

curl "http://localhost:3000/chapter?url=CHAPTER_URL"

Performance

Trending and Popular endpoints are cached in memory and refreshed every 10 minutes.

Benefits:

  • Faster response times
  • Reduced scraping frequency
  • Lower load on Webtoon
  • Better scalability for clients

Notes

  • This project uses scraping and does not rely on an official Webtoon API.
  • The scraper depends on Webtoon's current HTML structure.
  • If Webtoon changes its website layout, scraper updates may be required.

License

Use responsibly and respect Webtoon's Terms of Service.

About

A Go Wrapper & API that scrapes webtoons.com pages and exposes several endpoints for search, categories, details, chapters, etc

Topics

Resources

Stars

Watchers

Forks

Contributors