Tony Wang6 Min. LesezeitSo scrapst du Manga-Daten 2026 (API & Python)
Manga-Katalogdaten 2026 scrapen — Titles, Scores, Genres und Rankings aus AniLists Datenbank — DIY, No-Code oder eine strukturierte API.
Am schnellsten scrapst du Manga-Katalogdaten 2026, indem du eine strukturierte API aufrufst, die Title, Score, Genre und Ranking-Daten als normalisiertes JSON zurückgibt — statt HTML zu parsen oder dich selbst um einen ratenbegrenzten GraphQL-Endpoint zu kümmern. Dieser Guide deckt DIY, No-Code und eine strukturierte API ab und ist ehrlich darüber, woher die Daten wirklich kommen und wie schmal die Oberfläche ist.
Warum Manga-Daten scrapen?
- Discovery- und Empfehlungs-Apps — kanonische Title-, Score- und Genre-Daten an einen Manga-Tracker oder ein „was als Nächstes lesen"-Feature anhängen.
- Reading-List- und Katalog-Tools — eine persönliche oder App-weite Library mit normalisierten Title-Metadaten anreichern, statt sie von Hand einzutippen.
- Markt- und Trend-Recherche — Rankings nach Popularität oder Score beobachten, um zu sehen, was in einem Genre oder Format gerade durchstartet.
- Fan-Community-Tools — einen Discord-Bot, ein Wiki oder eine Fan-Site mit konsistenten Title-Daten betreiben, statt Fan-Wikis zu scrapen.
- AI-/LLM-Pipelines — einen Chatbot oder ein Empfehlungsmodell mit echten Title-, Genre- und Score-Daten grunden, statt mit einem veralteten Trainingsdaten-Snapshot.
Ist es legal, Manga-Daten zu scrapen?
Option 1: DIY in Python (und warum das scheitert)
AniList stellt einen öffentlichen GraphQL-Endpoint bereit, ein DIY-Skript heißt hier also, eine GraphQL-Query zu POSTen, statt HTML zu parsen:
import requests
query = """
query ($search: String) {
Media(search: $search, type: MANGA) {
id
idMal
title { romaji native }
averageScore
genres
}
}
"""
resp = requests.post(
"https://graphql.anilist.co",
json={"query": query, "variables": {"search": "Berserk"}},
)
data = resp.json()["data"]["Media"]
Es funktioniert in der Demo und geht dann in Produktion kaputt:
- Aktuell ein Deckel von 30 Requests pro Minute. AniLists normales Limit liegt bei 90/Minute, aber die API läuft aktuell in einem degradierten Zustand mit 30/Minute-Deckel — jeder Batch-Job, der gegen die höhere Zahl geschrieben ist, wirft bald
429 Too Many Requests. - Nutzungsbedingungen verbieten Massensammlung ausdrücklich. „Data-Hoarding oder Massensammlung von Daten" und „die API als Backup- oder Storage-Service nutzen" sind beide explizit verboten — ein naives Crawl-alles-Skript verletzt die ToS schon, bevor es überhaupt ans Rate-Limit stößt.
- GraphQL-Query-Design ist selbst ein Wartungsaufwand. Jedes gewünschte Feld muss in der Query ausbuchstabiert werden; verschachtelte Felder (Characters, Staff, Relations) brauchen eigene Sub-Selections, und ein Tippfehler lässt den ganzen Request scheitern, statt nur einen Teil zu übergehen.
- Kein Massen-Export-Pfad. Es gibt keinen Bulk-Download- oder Dump-Endpoint — jeder Title muss per id oder Suchanfrage einzeln geholt werden, innerhalb des Rate-Limits.
Option 2: No-Code / fertige Tools
Ein paar No-Code-Scraper-Marktplätze und Browser-Extensions bieten fertige AniList-/Manga-Templates für einen einmaligen Export — brauchbar, um eine persönliche Reading-List oder eine kleine Menge Titles in eine Tabelle zu holen. Sie laufen umständlich nach Zeitplan, liefern keinen stabilen Datenvertrag zum Bauen und müssen darunter trotzdem denselben Deckel von 30–90 Requests/Minute und dieselben ToS-Beschränkungen respektieren, weil sie dieselbe öffentliche API aufrufen.
Option 3: Eine strukturierte Manga-API
Für einen wiederholbaren Workflow ohne GraphQL-Query-Bauen oder Rate-Limit-Buchhaltung liefert die Manga API normalisiertes JSON über drei Endpoints: Search, Title-Detail und Rankings. Suche einen Title, um seine id zu bekommen:
curl "https://api.crawlora.net/api/v1/manga/search?query=Berserk" \
-H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"query": "Berserk",
"page": 1,
"per_page": 10,
"total": 50,
"has_next_page": true,
"results": [
{
"id": 30002,
"id_mal": 2,
"type": "MANGA",
"title": { "romaji": "Berserk" },
"format": "MANGA",
"status": "RELEASING",
"average_score": 92,
"genres": ["Action", "Adventure", "Fantasy", "Horror"],
"site_url": "https://anilist.co/manga/30002"
}
]
}
}
Hole dann den vollen Title-Datensatz per id in Python:
import requests
h = {"x-api-key": "YOUR_API_KEY"}
base = "https://api.crawlora.net/api/v1/manga"
hits = requests.get(f"{base}/search", headers=h, params={"query": "Berserk"}).json()["data"]["results"]
manga_id = hits[0]["id"]
title = requests.get(f"{base}/title/{manga_id}", headers=h).json()["data"]
Title-Detail (echte Felder — prüfe die docs):
{
"code": 200,
"msg": "OK",
"data": {
"id": 30002,
"id_mal": 2,
"type": "MANGA",
"title": { "romaji": "Berserk", "native": "ベルセルク" },
"format": "MANGA",
"status": "RELEASING",
"average_score": 92,
"favourites": 60000,
"genres": ["Action", "Adventure", "Drama", "Fantasy", "Horror", "Psychological"],
"site_url": "https://anilist.co/manga/30002"
}
}
/manga/rankings liefert ein sortierbares, paginiertes Chart statt eines einzelnen Titles:
curl "https://api.crawlora.net/api/v1/manga/rankings?sort=POPULARITY_DESC&format=MANGA&page=1&per_page=20" \
-H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"sort": "POPULARITY_DESC",
"format": "MANGA",
"page": 1,
"per_page": 20,
"total": 5000,
"has_next_page": true,
"results": [
{
"id": 105398,
"title": { "romaji": "Chainsaw Man" },
"format": "MANGA",
"average_score": 84
}
]
}
}
Blättere nach Zeitplan durch rankings, um das Popularitäts-Chart eines Genres oder Formats über die Zeit zu verfolgen, oder löse id_mal bei jedem Ergebnis auf, um diesen Katalog gegen einen MAL-gekeyten Datensatz zu joinen.
Was du sammeln kannst
- Suchergebnisse — id, MAL-Cross-Reference-id, Title (Romaji/Native), Format, Status, Average Score, Genres, Source-URL.
- Title-Detail — dieselben Felder plus Favourites-Zahl.
- Rankings — ein paginiertes, sortierbares Chart (nach Popularität, Score oder Trend), filterbar nach Format, Genre und Status.
Grenzen
- Wirklich schmale Oberfläche. Das sind drei Endpoints — Search, Title-Detail, Rankings — keine volle Katalog-API. Es gibt keine Chapter-Liste, keinen Volume-/Chapter-Text, keine Character- oder Staff-Daten und keinen Recommendations-Endpoint (die verwandte Anime API deckt Characters, Staff und Empfehlungen für Anime-Titles ab, aber Manga hat diese Tiefe hier nicht).
- Gar keine User-Daten. Keine Reading-Listen, kein Lesefortschritt, keine Reviews, keine Kommentare — das ist reine Katalog-Metadata.
- Erbt das Upstream-Rate-Limit. Die zugrunde liegende Quelle ist aktuell auf 30 Requests/Minute gedeckelt; rechne damit, dass dieser Deckel für jeden Batch-Job mit hohem Volumen gilt.
- Kein Bulk-Export. Jeder Title kommt aus einer Suche oder einem id-Lookup — es gibt keinen Dump oder Full-Catalog-Download.
- Nur öffentliche Daten. Das liefert, was AniLists öffentlicher Katalog bereits zeigt — nie ein Weg, um an Chapter-Bilder oder urheberrechtlich geschützten Manga-Text selbst heranzukommen.
Wo das eingesetzt wird
- Manga-Discovery- und Tracker-Apps — kanonische Title-, Score- und Genre-Daten an eine Reading-List oder ein Empfehlungsfeature anhängen.
- Trend- und Rankings-Dashboards — beobachten, wie sich Popularitäts- oder Score-Charts nach Format und Genre über die Zeit bewegen.
- Fan-Community-Bots und Wikis — einen Discord-Bot oder Wiki-Lookup mit konsistenten Title-Daten betreiben, statt einer handgepflegten Liste.
Sources
Leg los mit dem Sammeln
Probier es zuerst kostenlos aus: jage eine beliebige öffentliche URL durch den Free Web Scraper oder prüfe mit dem Anti-Bot Checker, ob eine Seite Bots blockiert — ohne Anmeldung.
Teste die Search-, Title- und Rankings-Endpoints im Playground, sieh dir das Schema in den API docs an und wirf einen Blick aufs pricing. Manga ist das Muster „kreatives Werk + Katalog-Metadata" für Reading-Daten — dasselbe Muster, das Goodreads für Bücher abdeckt und Discogs für Musik-Releases. Siehe auch is web scraping legal.
Häufig gestellte Fragen
Woher stammen Crawloras Manga-Daten?
Die Katalogfelder — eine id_mal-Cross-Reference-id, Romaji-/Native-Titles, average_score und eine site_url, die auf anilist.co zeigt — passen zu AniLists öffentlicher GraphQL-Manga-Datenbank, die selbst wiederum MyAnimeList (MAL) ids referenziert. Es ist kein proprietärer Katalog.
Wie scrape ich Manga-Daten mit einer API?
Rufe GET /manga/search mit einer Query auf, um eine id und id_mal zu bekommen, dann GET /manga/title/{id} für das volle Detail, oder GET /manga/rankings für ein paginiertes, sortierbares Popularitäts- oder Score-Chart. Alle drei liefern normalisiertes JSON mit einem x-api-key-Header.
Deckt diese API Chapters, Chapter-Text oder einen Reader ab?
Nein. Das ist eine wirklich schmale 3-Endpoint-Oberfläche — nur Search, Title-Detail und Rankings. Es gibt keine Chapter-Liste, keinen Chapter- oder Volume-Text, keine Character-/Staff-Daten und keinen Recommendations-Endpoint.
Kann ich die MyAnimeList (MAL) id eines Manga über diese API bekommen?
Ja. Sowohl Search- als auch Title-Detail-Ergebnisse liefern id_mal, sodass du diesen AniList-basierten Katalog gegen einen MAL-gekeyten Datensatz joinen kannst.
Gibt es ein Rate-Limit für Manga-Daten?
Die zugrunde liegende AniList-API ist normal auf 90 Requests/Minute gedeckelt und läuft aktuell in einem degradierten Zustand bei 30 Requests/Minute. Ihre Nutzungsbedingungen verbieten außerdem, die API als Backup-/Storage-Service zu nutzen oder Daten massenhaft zu hoarden — behandle das also als Katalogzugriff in vernünftigem Volumen, nicht als vollen Datenbank-Spiegel.
Kann ich User-Reading-Listen oder Reviews über diese API bekommen?
Nein. Das liefert nur öffentliche Katalog-Metadata — Title, Score, Genre, Format, Popularität. Es gibt keine Reading-List-, Lesefortschritt-, Review- oder Comment-Daten.
Ist es legal, Manga-Katalogdaten zu scrapen?
Das Sammeln öffentlich zugänglicher Manga-Katalog-Metadata (Titles, Scores, Genres) ist grundsätzlich zulässig, wenn du die Nutzungsbedingungen und Rate-Limits der Quelle respektierst. AniLists Bedingungen erlauben kostenlose nicht-kommerzielle und kleine kommerzielle Nutzung, verbieten aber massenhaftes Data-Hoarding — das ist keine Rechtsberatung; siehe is web scraping legal für den generellen Rahmen.