Kitsu Anime Manga Scraper avatar

Kitsu Anime Manga Scraper

Pricing

from $2.99 / 1,000 results

Go to Apify Store
Kitsu Anime Manga Scraper

Kitsu Anime Manga Scraper

Search the Kitsu catalog for any anime or manga and get one clean row per title — slug, synopsis, rating, popularity rank, dates, and more. Search by title, pull trending anime, or look up titles by id. Export to JSON, CSV, or Excel. Auto-retries, skips duplicates, and runs without an account

Pricing

from $2.99 / 1,000 results

Rating

0.0

(0)

Developer

B2B Lead Generation

B2B Lead Generation

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

10 days ago

Last modified

Categories

Share

Kitsu Anime & Manga Scraper: Anime and manga search

Kitsu Anime & Manga Scraper

Kitsu Anime & Manga Scraper searches the public Kitsu catalog and saves one dataset row per anime or manga title. Export the run as JSON, CSV, or Excel.

Use cases

  • Watchlist research: search a few titles and keep slug, rating, and rank in one table
  • Catalog export: pull trending anime on a schedule and download CSV
  • Manga lookup: search Berserk, or request manga id 8, and keep the synopsis with the rest of the attributes
  • Id check: pass a list of numeric ids and get either the title or a single error row when Kitsu returns 404
  • Shared dataset: hand the Apify export to someone who does not want to page through Kitsu

Input

ParameterTypeDefaultDescription
searchQueriesarray["naruto"]Title text, one per line. Used when trending is off and record ids are empty.
typestringanimeanime or manga. Trending only requests anime.
trendingbooleanfalseLoad trending anime and skip search and ids.
recordIdsarrayemptyNumeric Kitsu ids. Non-numeric values become error rows and are not requested.
maxItemsinteger100Cap on successful rows. Maximum 1000.
requestDelaySecsnumber0.5Pause between requests. Minimum 0.5 seconds.
timeoutSecsinteger300Stop the run after this many seconds and keep rows already saved.
requestTimeoutSecsinteger30Per-request timeout.
proxyConfigurationobject{"useApifyProxy": false}Optional. Leave the proxy off unless you need one.
{
"searchQueries": ["naruto"],
"type": "anime",
"trending": false,
"recordIds": [],
"maxItems": 100,
"requestDelaySecs": 0.5,
"timeoutSecs": 300,
"requestTimeoutSecs": 30,
"proxyConfiguration": { "useApifyProxy": false }
}

What data does this actor extract?

Each successful row is one Kitsu resource. The JSON:API type field is stored as mediaType so the dataset schema stays valid. attributes still holds the full object from Kitsu, including the long synopsis.

{
"id": "1555",
"mediaType": "anime",
"slug": "naruto-shippuden",
"canonicalTitle": "Naruto: Shippuuden",
"averageRating": "84.06",
"popularityRank": 28,
"startDate": "2007-02-15",
"mode": "anime_search",
"source_url": "https://kitsu.io/api/edge/anime?filter[text]=naruto&page[limit]=2&page[offset]=0",
"scraped_at": "2026-10-12T00:00:00+00:00"
}
FieldTypeDescription
idstringResource id from Kitsu.
mediaTypestringanime or manga.
slugstringSlug from attributes.
canonicalTitlestringCanonical title from attributes.
synopsisstringSynopsis from attributes.
averageRatingstringRating string from the source.
popularityRankintegerPopularity rank, or null.
linksobjectLinks object. Relative API paths are made absolute.
attributesobjectFull attributes object.
relationshipsobjectRelationship links. Those URLs are not fetched.
modestringanime_search, manga_search, trending, or detail.
source_urlstringRequest URL for the row.
scraped_atstringUTC time the row was saved.
errorstringSet on a failed input, with input and status.

A failed id or a bad response is one error row (error, input, status). The run continues with the next input.

How it works

  1. Read the input and pick one mode: trending anime, numeric ids, or title search.
  2. Request only the public anime, manga, and trending anime catalog pages, plus a single title looked up by its numeric id.
  3. Identify the client politely and wait at least requestDelaySecs between calls.
  4. On 429, 5xx, or a timeout, wait using Retry-After when it is present, otherwise 2^attempt seconds (cap 60), up to 5 tries. If a rate-limit remaining header is 0, wait for the reset value too.
  5. Follow links.next only when the next page stays within the same anime or manga catalog. List pages request at most 20 rows. Duplicate ids are dropped. The run stops at maxItems or timeoutSecs.

FAQ

How fresh is the data? Each run calls Kitsu at request time. scraped_at is when that row was saved, not when Kitsu last edited the title. attributes.updatedAt is Kitsu's own timestamp when the payload includes it.

What happens if the search is empty? An empty query list, with trending off and no ids, finishes successfully and saves nothing. A search that returns no titles logs a warning and moves on.

What if an id is wrong? A 404 becomes one error row with that id and status. Later ids still run. A slug is not requested, because only numeric ids are supported. It is saved as an error row instead.

Can I export CSV? Yes. Apify datasets export to JSON, CSV, and Excel.

Trademark Notice

Kitsu Anime & Manga and related names, logos, and trademarks belong to their respective owners. Their use in this documentation is solely to identify the source of the data and does not imply affiliation, sponsorship, endorsement, or partnership.

Disclaimer

Disclaimer: This Actor is an independent tool and is not affiliated with, endorsed by, sponsored by, or otherwise officially associated with Kitsu Anime & Manga or its owners. All data is collected from publicly available sources. Users are responsible for complying with the source's terms of use, rate limits, and attribution or licensing requirements.

This Actor only collects publicly available data from Kitsu Anime & Manga, mostly through its public API or feed, without logging in or bypassing any access controls. Scraping public data is generally legal, but how you use it matters:

  • Personal data: If the results include personal data (for example names, emails, or profile details), laws such as the GDPR in the EU and the CCPA in California may apply. Only collect and store personal data when you have a legitimate reason.
  • Copyright: Some content (articles, images, descriptions) may be protected by copyright. Do not republish full copyrighted content without permission.
  • Terms of use: Respect the source terms, stated rate limits, and any attribution or non-commercial-use requirements listed in Limits and terms.
  • Legal advice: This is general information, not legal advice. If you're unsure, consult a lawyer.

To learn more, read Apify's guide: Is web scraping legal?