# jp-residence-processing

> How many days on average did Japan's Immigration Services Agency (ISA) take to process residence applications, per status of residence (about 36 rows: Engineer/Specialist in Humanities/International Services, Student, Business Manager, Highly Skilled Professional, Specified Skilled Worker, spouses, Permanent Resident and others) and procedure (certificate of eligibility, extension of stay, change of status)? Read from ISA's published PDF tables: monthly from October 2024, quarterly from FY2017. Latest figures with period, the PDF's own notes, ISA's PDF URL and retrieval time, and series per period (monthly and quarterly kept separate; unreadable or blank periods listed as gaps). Averages of approved applications only, not a forecast for any individual application. Hosted MCP and HTTP: no install. Free.

Data source: Immigration Services Agency of Japan (ISA), processing times of residence applications (zairyu shinsa shori kikan), https://www.moj.go.jp/isa/applications/resources/nyuukokukanri07_00140.html , one PDF table per period. Reused under the Public Data License 1.0 (PDL1.0; ISA website terms https://www.moj.go.jp/isa/copyright/index2.html). Processed by MK Career Planning (figures read from the PDFs, English names and stable keys added, periods arranged as series); not official, and not made by ISA or the Government of Japan.
Relay of the average processing days of residence applications published by the Immigration Services Agency of Japan (ISA) in PDF tables, read and arranged by MK Career Planning (not official). The figures are averages for applications approved in each period; they are not a forecast for any individual application and do not indicate the outcome of any application. This service is not legal or immigration advice and is not a gyoseishoshi (administrative scrivener) or immigration lawyer service. Check ISA's PDF (source.pdf_url) before relying on a figure.
Disclaimer: These are average numbers of days for applications that were approved in the period, as published by ISA. They are not a forecast or estimate for any individual application, and actual processing can be much shorter or longer.
Statuses (residence_processing_latest): found: ISA's latest period read by this service has a figure for this status of residence (see figures). not_listed: The status of residence is known, but the cells for it (or for the requested procedure) are blank in that period's table: no figure was published. Blank is not zero. unknown: No readable data yet (the list page or the PDFs have not been read yet), so nothing can be said. unreadable_latest: ISA's latest period on the list page exists but this service could not read its PDF reliably (see latest_official_period.reason); the most recent period that could be read is returned in older_readable, clearly labelled as older.
Fail-closed reading: a PDF whose table cannot be read without ambiguity (unknown row, value between columns, two values in a cell, period on the PDF differing from the list page) is not used at all and is reported with a reason. Blank cells are returned as blank (not_listed), never as zero.
Monthly figures (from October 2024) and quarterly figures (FY2017 to the second quarter of FY2024) are separate series and are never mixed, averaged or interpolated. Periods whose PDF could not be read, or whose cell is blank, are listed as gaps with the reason. The table has no review_end columns before FY2020.

## Connect

- MCP (streamable HTTP): https://jp-residence-processing-production.mk-career-planning.workers.dev/mcp
- OpenAPI: https://jp-residence-processing-production.mk-career-planning.workers.dev/openapi.json
- x402 discovery: https://jp-residence-processing-production.mk-career-planning.workers.dev/.well-known/x402

## Quickstart

- Developer quickstart (MCP client configs, free curl/TypeScript calls, how to read status, figures, blank cells, gaps and the notes, attribution): https://jp-residence-processing-production.mk-career-planning.workers.dev/quickstart

## Free tools

- catalog: List the tools of this server with prices, data sources, licensing, daily limits and data freshness.
- residence_processing_latest: How many days did ISA take on average, in its latest published period, to process a residence application for this status of residence? Give status (key, Japanese or English name), optionally procedure. Returns figures with period, blank cells, the PDF's notes, ISA's PDF URL and retrieval time. Status: found, not_listed (blank, not zero), unknown, unreadable_latest (older readable period, labelled). Averages of approved applications, not a forecast.
- residence_processing_history: How has ISA's average processing time for this status of residence changed over time? Give status and optionally procedure and measure. Returns series per granularity (monthly from October 2024, quarterly FY2017 to FY2024 Q2, never mixed or interpolated), procedure and measure, oldest first, with periods that could not be read or are blank listed as gaps with the reason.
- residence_processing_statuses: Which statuses of residence and procedures do ISA's processing-time tables cover, and which keys and names does this service accept? Returns the canonical list (key, Japanese and English names), procedures and measures.
- get_receipt: Re-fetch the stored result of a settled paid call by its receipt_id, for when the response was lost after payment. Free. Unknown or unsettled receipt ids return RECEIPT_NOT_FOUND. Results are kept for 90 days after settlement.
- HTTP: GET https://jp-residence-processing-production.mk-career-planning.workers.dev/v1/residence-processing, GET https://jp-residence-processing-production.mk-career-planning.workers.dev/v1/residence-processing/history, GET https://jp-residence-processing-production.mk-career-planning.workers.dev/v1/residence-processing/statuses return the same data as the MCP tools. GET https://jp-residence-processing-production.mk-career-planning.workers.dev/v1/receipts/<receipt_id> is get_receipt.

## Payments

This server offers free tools only. It does not request or accept x402 payments.

## Rate limits

- Free calls (free HTTP endpoints under /v1/ and free MCP tools) are limited to 300 requests per 60 seconds per client (a client is keyed by a one-way hash of its IP address and the first 64 characters of its User-Agent; neither is stored. The User-Agent can be set by anyone, so this split is for fairness between clients behind a shared gateway, not a security control). Over the limit, HTTP returns 429 RATE_LIMITED with a Retry-After header and MCP tools return the error RATE_LIMITED. Paid calls are not rate limited.

## Provenance and fetch_status

Responses carry provenance[] (source, upstream_updated_at, retrieved_at, content_sha256, parser_version, fetch_status). fetch_status values:

- found: The upstream document was retrieved and contains the data used for this answer.
- empty: The upstream was retrieved, but it has no item for this query (for example JMA had no bulletin for that area in its feeds, or the municipality is not in the list). The state is unknown: empty does NOT mean 'none in effect'.
- stale: The data was retrieved but is older than the freshness threshold for its kind; treat it with care.
- unavailable: The upstream could not be retrieved, read or used (network error, withdrawn bulletin, paused source, or data not yet loaded).
- unsupported: The query is outside what this source covers (for example a date JMA does not issue warnings for yet, or a period before the source's records).

## Errors

- RECEIPT_NOT_FOUND (get_receipt)
- RATE_LIMITED (free calls over the per-client limit; HTTP 429 with Retry-After; not charged)

## Terms

- Keep the attribution (source and 'processed by MK Career Planning, not official') and ISA's PDF URL when you pass results on.
- Do not present an average as the expected time for a particular application.

## Privacy and support

- Operator: MK Career Planning
- Terms of Service: https://jp-residence-processing-production.mk-career-planning.workers.dev/terms
- Privacy policy: https://jp-residence-processing-production.mk-career-planning.workers.dev/privacy
- Support (free): https://jp-residence-processing-production.mk-career-planning.workers.dev/support (mk.career.planning@gmail.com)
