Skip to content

tbdsux/kuryana

Repository files navigation

kuryana

A simple MyDramaList.com scraper api.

This scrapes on the go so it might be slow.

THIS SERVICE IS ONLY CREATED TO SATISFY THE NEED FOR AN API FOR [MYDRAMALIST.COM](https://mydramalist.com). THIS WILL BE STOPPED ONCE AN OFFICIAL API WILL BE RELEASED.

Deployment

Self Hosted - Docker

# run
docker compose up -d --build

# take down
docker compose down

dokploy.docker-compose.yml

docker compose -f ./dokploy.docker-compose.yml up -d

Make sure to set deploy/vercel as the branch.

Note

Deployed vercel project will still continue to live.

API Use

  • Search for dramas
GET /search/q/{yourquery}
  • Get DRAMA Info
GET /id/{mydramalist-slug}
  • Get DRAMA Cast
GET /id/{mydramalist-slug}/cast
  • Get DRAMA Reviews
GET /id/{mydramalist-slug}/reviews
  • Get Person(People) Info
GET /people/{people-id}
  • Get seasonal drama
GET /seasonal/{year}/{quarter}
  • Get Lists
GET /list/{id}
  • Get User Dramalist
GET /dramalist/{user_id}

API Endpoints to use

Error Messages

// mainly on all endpoints except `search`
// sample: /list/unknown-random-id
{
  "code": 400,
  "error": true,
  "description": {
    "title": "This list is private.",
    "info": "You can see this page because the URL you are accessing cannot be found."
  }
}
// could also be this (only on `/search`) endpoint
{
  "error": true,
  "code": 404,
  "description": "404 Not Found"
}

Development

  • Minimum Python Version : 3.12,

  • Make sure uv is installed in your machine, more details

  • Sync project dependencies

    uv sync

Dev Server

Start development server.

uv run fastapi dev

FastAPI CLI

Others

Note

All Requests and SCRAPED Datas are not cached by the API Endpoints.

© tbdsux