Skip to content

Enrichment: AniList provider for anime quotes #49

Description

@DutchJaFO

Implements IEnrichmentProvider for AniList, covering anime quotes. Depends on the shared enrichment scaffold (#19); does not depend on any other provider.

The anime type exists in the Quotinator schema but currently has no enrichment source and no seeded dataset. AniList is the most accessible anime metadata API — free, no API key required, GraphQL.

API details

Property Value
Base URL https://graphql.anilist.co
Auth None required for read queries
Rate limit 90 requests per minute
Query Media query by search (title) and type: ANIME

What gets enriched

Field How
date AniList startDate.year
genres AniList genres[] → Quotinator genre tags
type Confirm anime via AniList media type

Genre mapping

AniList genre names are plain English strings. Map to Quotinator tags:

AniList genre Quotinator tag
Action action
Adventure adventure
Comedy comedy
Drama drama
Fantasy fantasy
Horror horror
Mystery mystery
Romance romance
Sci-Fi sci-fi
Thriller thriller
Psychological thriller (closest match)
Slice of Life omit — format category, not genre
Sports, Music, Ecchi, Hentai omit

Implementation checklist

  • Implement AniListEnrichmentProvider : IEnrichmentProvider in Quotinator.Enrichment
  • SupportedTypes: anime
  • GraphQL query: search by source field title, type: ANIME
  • Apply enrichment only on a confident title match (normalised, case-insensitive)
  • Map AniList genres to Quotinator tags using the table above; add new tags to CLAUDE.md if needed
  • Only fill fields that are currently null or empty — never overwrite manually curated data
  • Cache API responses in scripts/cache/anilist/
  • Respects the shared --dry-run, --no-fetch, and --provider flags from the scaffold

Notes

Activity

  1. added this to the Data Enrichment milestone on Jun 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions