Discover/Kanshudo API
live

Kanshudo APIkanshudo.com

Access kanji details, JLPT collections, stroke order SVGs, word lookups, and component search from Kanshudo via 8 structured endpoints.

Endpoint health
verified 3d ago
get_kanji_detail
search_kanji
get_kanji_by_component
get_jlpt_kanji_collection
get_kanji_stroke_order
8/8 passing latest checkself-healing
Endpoints
8
Updated
26d ago

What is the Kanshudo API?

The Kanshudo API exposes 8 endpoints covering kanji lookups, JLPT-level collections, word details, and stroke order data from Kanshudo. The get_kanji_detail endpoint returns readings (on and kun), English meanings, stroke count, radical number, frequency rank, JLPT level, and an SVG stroke order URL for any single kanji. Companion endpoints handle component-based search, the top-100 frequency list, and a full index of curated collections.

Try it

No input parameters required.

api.parse.bot/scraper/1609b110-1059-49d5-b95d-ffd2a3c18407/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/1609b110-1059-49d5-b95d-ffd2a3c18407/get_100_most_frequent_kanji_list' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace kanshudo-com-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

from parse_apis.kanshudo_kanji_api import Kanshudo, JlptLevel

kanshudo = Kanshudo()

# Search for kanji related to "water"
for result in kanshudo.kanjis.search(query="water"):
    print(result.kanji, result.meaning)

# Get detailed info for a specific kanji
detail = kanshudo.kanjis.get(kanji="水")
print(detail.meaning, detail.stroke_order_svg)
print(detail.readings.on, detail.readings.kun)

for ex in detail.examples:
    print(ex.word, ex.reading, ex.meaning)

# Get stroke order for that kanji (instance method)
stroke = detail.stroke_order()
print(stroke.svg_url, stroke.animation_url)

# List JLPT N5 kanji using enum
for char in kanshudo.kanjis.list_by_jlpt(level=JlptLevel.N5):
    print(char)

# Get word detail
word = kanshudo.words.get(word="外国人")
print(word.reading, word.meaning)

for comp in word.kanji_components:
    print(comp)

# Browse available collections
for coll in kanshudo.collections.list():
    print(coll.title, coll.url)
All endpoints · 8 totalmissing one? ·

Retrieves the 100 most frequently used kanji characters from Kanshudo's frequency ranking. Returns an ordered array of single kanji character strings. No parameters required.

Input

No input parameters required.

Response
{
  "type": "object",
  "fields": {
    "kanji": "array of single kanji character strings, ordered by frequency"
  },
  "sample": {
    "data": {
      "kanji": [
        "人",
        "一",
        "日",
        "大",
        "年",
        "出",
        "本",
        "中",
        "子",
        "見"
      ]
    },
    "status": "success"
  }
}

About the Kanshudo API

Kanji Detail and Stroke Order

The get_kanji_detail endpoint accepts a single kanji character and returns a stats object containing strokes, radical_number, frequency, and jlpt level, alongside readings split into on and kun arrays, an English meaning string, a stroke_order_svg URL, and an examples array of words each with word, reading, and meaning fields. If you only need stroke order assets, get_kanji_stroke_order returns an svg_url pointing to the S3-hosted SVG and an animation_url for the Kanshudo animation page — no additional network lookup required beyond the kanji's Unicode code point.

Search and Component Lookup

search_kanji takes a query parameter (English keyword or Japanese text such as "water" or "水") and returns a mixed results array where kanji entries carry kanji, readings, and meaning fields, while word entries additionally include a type field. get_kanji_by_component accepts a radical or component character and returns an array of kanji strings that contain it, useful for building component-based study tools or filtering kanji by shared structure.

JLPT Collections and Word Details

get_jlpt_kanji_collection accepts a level parameter (n1 through n5) and returns the full list of kanji characters assigned to that JLPT tier. get_word_detail takes a Japanese word in kanji or kana and returns its hiragana reading, English meaning, and a kanji_components array of individual characters composing the word — useful for drilling down from vocabulary into constituent kanji.

Collections Index and Frequency List

get_kanji_collections_index returns every available kanji and word collection on Kanshudo as an array of title and url pairs, covering JLPT, textbook, and thematic groupings. get_100_most_frequent_kanji_list returns an ordered array of the 100 most common kanji by Kanshudo's frequency ranking, with no input parameters required.

Reliability & maintenanceVerified

The Kanshudo API is a managed, monitored endpoint for kanshudo.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when kanshudo.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official kanshudo.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
3d ago
Latest check
8/8 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Build a JLPT study app that pulls kanji lists for each level using get_jlpt_kanji_collection and displays readings and meanings.
  • Generate kanji flashcards with stroke order diagrams using the stroke_order_svg URL returned by get_kanji_detail.
  • Create a radical/component explorer that takes user-selected radicals and returns containing kanji via get_kanji_by_component.
  • Display vocabulary breakdowns showing individual kanji components for any Japanese word using get_word_detail's kanji_components array.
  • Seed a frequency-ranked kanji curriculum using the ordered output from get_100_most_frequent_kanji_list.
  • Index all available Kanshudo thematic and textbook collections for a lesson-planning tool using get_kanji_collections_index.
  • Implement a kanji/word search bar that accepts both English and Japanese input and renders mixed results using search_kanji.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does Kanshudo offer an official developer API?+
Kanshudo does not publish a public developer API or documented REST endpoints. Access to structured kanji and word data is provided through this Parse API.
What does `get_kanji_detail` return beyond the basic reading and meaning?+
It returns a stats object with strokes, radical_number, frequency, and jlpt; separate on and kun reading arrays; an examples array of example words each with word, reading, and meaning; and a stroke_order_svg URL. All fields are returned in one call for a single kanji character.
Does the API return kanji etymology, mnemonics, or story-based memory aids?+
Not currently. The API covers readings, meanings, stroke order, JLPT levels, frequency stats, and example words. You can fork it on Parse and revise it to add an endpoint targeting Kanshudo's mnemonic or story content.
Can I retrieve user progress data, saved collections, or account-specific content?+
Not currently. The API covers publicly accessible kanji data, word lookups, and collection indexes. User-specific or login-gated data is not exposed. You can fork it on Parse and revise it to target any publicly visible user collection pages if they exist.
Does `search_kanji` support pagination or filtering by JLPT level?+
The endpoint accepts a single query string and returns a flat results array. Pagination and JLPT-level filtering within search results are not currently supported. For level-specific kanji, use get_jlpt_kanji_collection with the desired level parameter instead. You can fork the API on Parse and revise search_kanji to add filtering behavior.
Page content last updated . Spec covers 8 endpoints from kanshudo.com.
Related APIs in EducationSee all →
dwds.de API
Look up German words with detailed definitions, pronunciations, and usage examples, or explore curated word lists organized by proficiency level. Search vocabulary, discover random entries, and learn the featured word of the day to build your German language skills.
aniwatchtv.to API
Extract all
jgw.aynu.edu.cn API
Search and explore ancient oracle bone inscriptions and characters from the Yinqi Wenyuan database, discovering detailed information about individual characters, collections, and radical components. Access a comprehensive font database of historical Chinese script used in divination practices during ancient dynasties.
shop.sanrio.co.jp API
Search and browse Sanrio products by category, character, and keyword, while viewing detailed product information including pricing and availability from the official Sanrio Online Shop. Get autocomplete suggestions and discover new product releases to find the perfect Sanrio merchandise.
detectiveconanworld.com API
Access comprehensive Detective Conan content including anime episodes, manga chapters, characters, movies, and OVAs with detailed information and search functionality. Build Detective Conan applications by retrieving episode details, character profiles, movie listings, and searching across the entire wiki database.
bookwalker.jp API
Search and browse Japanese ebooks including manga and light novels on BookWalker Japan, with access to book details, rankings, category listings, and autocomplete suggestions. Discover new titles through curated rankings and explore the full catalog by category.
anime.com API
Browse anime news, discover shows with detailed information and episode lists, and participate in community polls and discussions all from one unified service. Search across anime.com's comprehensive database to find exactly what you're looking for.
anidb.net API
Search and explore comprehensive anime data including titles, characters, episodes, and seasonal charts. Get detailed information about specific anime series, characters, and episodes to discover new shows and learn more about your favorite series.