43 free no-auth tools: Japan life, visas, travel and work checks, plus pitch roast.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Paste the text of a Google Ads, AdSense, Merchant Center, or Meta (Facebook/Instagram) ads suspension, disapproval, or policy notice. Returns HIGH / MED / LOW risk, the platform, the policy phrases found with plain-language explanations, and a next-step checklist. Heuristic only; never suggests replacement accounts or files appeals.
Full notice text. Remove account IDs and personal data.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
Run in a terminal
claude mcp add --transport http free-agent-tools https://free-agent-tools.vercel.app/mcp
Paste the text of a Google Ads, AdSense, Merchant Center, or Meta (Facebook/Instagram) ads suspension, disapproval, or policy notice. Returns HIGH / MED / LOW risk, the platform, the policy phrases found with plain-language explanations, and a next-step checklist. Heuristic only; never suggests replacement accounts or files appeals.
| Argument | Type | Description |
|---|---|---|
| notice* | string | Full notice text. Remove account IDs and personal data. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"notice"
],
"properties": {
"notice": {
"type": "string",
"maxLength": 20000,
"minLength": 20,
"description": "Full notice text. Remove account IDs and personal data."
}
}
}Without answers, returns the five quiz questions with options. With answers (one slug per question from: compute, memory, optics, power, space, servers), returns the most constrained bottleneck.
| Argument | Type | Description |
|---|---|---|
| answers | array | One slug per question. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"answers": {
"type": "array",
"items": {
"enum": [
"compute",
"memory",
"optics",
"power",
"space",
"servers"
],
"type": "string"
},
"maxItems": 10,
"description": "One slug per question."
}
}
}Explains the physical constraints on the AI buildout beyond chips: compute, memory (HBM), optics, power, space (sites, backhaul), and servers (racks, cooling). Omit slug for all six. Includes example public companies often cited in discussion; these are not investment picks.
| Argument | Type | Description |
|---|---|---|
| slug | string | Optional: one bottleneck. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"slug": {
"enum": [
"compute",
"memory",
"optics",
"power",
"space",
"servers"
],
"type": "string",
"description": "Optional: one bottleneck."
}
}
}Checks pasted short-term-rental house rules / checkout requests (English or Japanese, one per line) against keyword patterns built from Airbnb's help article 4168 and its 2026-10-20 announcement (rules as of 2026-10-28; policy covers reservations booked on or after 2026-11-20). Per rule: likely_flagged (cleaner tasks: washing/putting away dishes, dishwasher, stripping beds, laundry, vacuuming, taking trash off-site; fines, penalties, late-checkout fees, deposit deductions; restricting advertised amenities such as AC or hot tub; separate contracts or waivers; ID / personal info; off-platform apps or forms; new rules by message, sign or in person), review, move_to_section (mandatory fees → Pricing, HOA/local-government fines → Local rules, check-in times), legal_exception (Japan: 宿泊者名簿 guest register and passport copy for foreign guests without a Japan address under 住宅宿泊事業法 art. 8 / 旅館業法 art. 6, if disclosed in Requests before booking), use_standard_rule (max guests, quiet hours, events, pets, smoking, commercial photography, lock up), likely_ok (dishes in the sink, gather towels, sort trash into indoor bins, turn off AC, optional priced add-ons, safety info, local exceptions like bear-proof bins) or no_match. Returns verdict (fix_needed | review_needed | tidy_up | looks_ok), headline, summary, policy {appliesToBookingsFrom, appliesToThisBooking, daysUntilPolicy}, counts, items [{text, finding, reasons, reasonsJa, rewrite, moveTo, japanNote}], standardRulesToSet, japanChecklist (art. 9 explanation duty, minpaku trash is business waste), sources, disclaimer. Use for 'can I still ask Airbnb guests to do dishes / strip beds / take out trash', 'Airbnb house rules change November 2026', 'Airbnb late checkout fee allowed', エアビー ハウスルール 変更, 民泊 パスポート 写し Airbnb. Educational keyword check, likely outcomes only; not affiliated with Airbnb, which decides.
| Argument | Type | Description |
|---|---|---|
| text* | string | House rules / requests to check, one per line (English or Japanese). Max 8000 chars, 80 rules. |
For Capacitor, WebView, PWA-shell, React Native, or AI-generated iOS apps: scores rejection risk under Guideline 4.2 (minimum functionality / web wrapper), 4.3 (spam / clone), and metadata, with reasons and how native each feature reads. Not legal advice; Apple decides.
| Argument | Type | Description |
|---|---|---|
| name* | string | App name. |
| stack* | string | How the app is built. |
| features* | array | Up to three key features, e.g. ["Home screen widget", "iOS share sheet", "Face ID lock"]. |
| description* | string | One-line description of what the app does. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"name",
"description",
"stack",
"features"
],
"properties": {
"name": {
"type": "string",
"minLength": 1,
"description": "App name."
},
"stack": {
"enum": [
"capacitor",
"webview",
"react-native",
"pwa",
"other"
],
"type": "string",
"description": "How the app is built."
},
"features": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 3,
"minItems": 1,
"description": "Up to three key features, e.g. [\"Home screen widget\", \"iOS share sheet\", \"Face ID lock\"]."
},
"description": {
"type": "string",
"minLength": 1,
"description": "One-line description of what the app does."
}
}
}Estimates buyers and revenue from one offer to past customers in low / mid / high scenarios, with an optional partner revenue share.
| Argument | Type | Description |
|---|---|---|
| buyRate | number | Expected percent of reached contacts who buy. Default 1. |
| contacts* | number | Number of past contacts. |
| reachable | number | Percent of contacts still reachable. Default 70. |
| orderValue* | number | Average order value of the offer. |
| partnerShare | number | Optional partner revenue share percent. Default 0. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"contacts",
"orderValue"
],
"properties": {
"buyRate": {
"type": "number",
"maximum": 100,
"minimum": 0,
"description": "Expected percent of reached contacts who buy. Default 1."
},
"contacts": {
"type": "number",
"minimum": 0,
"description": "Number of past contacts."
},
"reachable": {
"type": "number",
"maximum": 100,
"minimum": 0,
"description": "Percent of contacts still reachable. Default 70."
},
"orderValue": {
"type": "number",
"minimum": 0,
"description": "Average order value of the offer."
},
"partnerShare": {
"type": "number",
"maximum": 100,
"minimum": 0,
"description": "Optional partner revenue share percent. Default 0."
}
}
}Seven multiple-choice answers about a faceless or AI YouTube channel plan. Returns HIGH / MED / LOW expectation and monetization-policy risk with signals and myths to drop. Pushes back on viral '$10k/month with AI YouTube' claims. Not a ban prediction.
| Argument | Type | Description |
|---|---|---|
| niche* | string | Niche. |
| visual* | string | Main visual style. |
| scripts* | string | How scripts are made. |
| timeline* | string | Expected timeline. |
| estimates* | string | How VidIQ / SocialBlade earnings estimates are treated. |
| voiceover* | string | Main voiceover. |
| revenueTiming* | string | When money is expected relative to the YouTube Partner Program. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"visual",
"voiceover",
"scripts",
"revenueTiming",
"estimates",
"timeline",
"niche"
],
"properties": {
"niche": {
"enum": [
"broad_storytime",
"researched_angle",
"mixed"
],
"type": "string",
"description": "Niche."
},
"visual": {
"enum": [
"ai_slideshow",
"stock_mass",
"original_filmed",
"mixed"
],
"type": "string",
"description": "Main visual style."
},
"scripts": {
"enum": [
"identical_template",
"researched_original",
"trend_recycled"
],
"type": "string",
"description": "How scripts are made."
},
"timeline": {
"enum": [
"ten_k_fast",
"multi_month",
"unsure"
],
"type": "string",
"description": "Expected timeline."
},
"estimates": {
"enum": [
"as_income",
"as_guesses",
"unused"
],
"type": "string",
"description": "How VidIQ / SocialBlade earnings estimates are treated."
},
"voiceover": {
"enum": [
"ai_voice",
"human_vo",
"text_only"
],
"type": "string",
"description": "Main voiceover."
},
"revenueTiming": {
"enum": [
"before_ypp",
"after_ypp",
"not_counting"
],
"type": "string",
"description": "When money is expected relative to the YouTube Partner Program."
}
}
}For hotels, ryokan, guesthouses, and B&Bs: yearly room revenue, commission paid to OTAs (Booking.com, Expedia, Agoda...), commission as a share of revenue (HIGH / MED / LOW), and net savings from moving a share of OTA bookings to direct. Any currency.
| Argument | Type | Description |
|---|---|---|
| adr* | number | Average daily rate per occupied room. |
| rooms* | number | Number of rooms. |
| shift | number | Percent of OTA bookings moved to direct. Default 20. |
| otaShare | number | Percent of room revenue booked via OTAs. Default 60. |
| occupancy | number | Average yearly occupancy percent. Default 70. |
| commission | number | Average OTA commission percent. Default 18. |
| directCost | number | Cost of a direct booking as percent of revenue. Default 3. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"rooms",
"adr"
],
"properties": {
"adr": {
"type": "number",
"minimum": 0,
"description": "Average daily rate per occupied room."
},
"rooms": {
"type": "number",
"minimum": 0,
"description": "Number of rooms."
},
"shift": {
"type": "number",
"maximum": 100,
"minimum": 0,
"description": "Percent of OTA bookings moved to direct. Default 20."
},
"otaShare": {
"type": "number",
"maximum": 100,
"minimum": 0,
"description": "Percent of room revenue booked via OTAs. Default 60."
},
"occupancy": {
"type": "number",
"maximum": 100,
"minimum": 0,
"description": "Average yearly occupancy percent. Default 70."
},
"commission": {
"type": "number",
"maximum": 100,
"minimum": 0,
"description": "Average OTA commission percent. Default 18."
},
"directCost": {
"type": "number",
"maximum": 100,
"minimum": 0,
"description": "Cost of a direct booking as percent of revenue. Default 3."
}
}
}Japan Customs per-person duty-free allowance when entering Japan (as of 2026-10-14): alcohol 3 bottles of about 760 ml (2.28 L); cigarettes 200 OR cigars 50 OR heat-not-burn 10 packages (200 IQOS/glo sticks, 50 Ploom TECH capsules) OR other tobacco 250 g, more than one kind 250 g total; perfume 2 oz (about 56 ml); other goods ¥200,000 total overseas value, an item kind worth ¥10,000 or less in total is free and not counted, an article over ¥200,000 is fully dutiable. Under 20: no alcohol/tobacco allowance; under 6: only items for the child. Excess duty at the simplified rates: whisky/brandy ¥800/L, rum/gin/vodka ¥500/L, liqueur ¥400/L, distilled ¥300/L, wine/beer ¥200/L, cigarettes and sticks ¥15 each, capsules ¥50, other goods 15% of Customs value (price × 0.6), watches/golf clubs/PCs 10% consumption tax; not applied to articles with Customs value over ¥100,000, cigars or other tobacco. Cash and other means of payment over ¥1,000,000 (¥100,000 bound for North Korea) must be declared. Returns per-category within/over, excess, estimatedSimplifiedDutyJPY (+ High for the strict mixed-tobacco reading), tax-type breakdown truncated to ¥100 (reproduces Customs' ¥19,400 worked example), red/green channel, cashDeclarationRequired, warnings, assumptions, sources, rulesAsOf. Many guides still show pre-2021 tobacco limits — call this instead of guessing. Educational estimate; the Customs officer decides.
| Argument | Type | Description |
|---|---|---|
| goods | array | Other articles: overseas retail price of ONE article in yen, quantity, dutyFreeTariff true for watches / golf clubs / PCs, forChild for a child's items. |
| cigars | integer | Cigars (allowance 50). |
| alcohol | array | Several drinks: [{type, ml or bottles}]. Allowance goes to the highest-rate drink first. |
Turns the five-point emergency request (事前防災徹底のための緊急要請) issued by Japan's Disaster Management Agency (防災庁) on 2026-11-02 into a household checklist, rules as of 2026-11-02, from the request text, the PM's Office 災害への備え page, 防災庁 / METI portable-toilet guidance, MLIT seismic pages and the MoE pet pamphlet. Stockpile for days (default 7; the request: at least 3, ideally 1 week): drinking water 3 L per person per day (incl. cooking), 3 meals and 5 portable-toilet uses per person per day (infants: water only, milk and diapers listed), gap against haveWaterLiters / haveMeals / haveToiletUses; pets: food and water at least 5 days, ideally 7+. Building: 建築確認 before 1981-06-01 = old quake standard (旧耐震) → 耐震診断; build year 1981 → check the permit date; wooden houses 1981-06-01 – 2000-05-31 → MLIT 新耐震木造住宅検証法 owner self-check; renters → ask the landlord. builtYear accepts 1979, 昭和54, S54, 平成12, H12. Returns verdict (well_prepared | partly_prepared | not_prepared), summary, doneCount, household, days, stockpile {water {target, minimum3Days, have, gap, bottles2L}, meals, toiletUses, pets, alsoStock, rollingStock}, building {era old_standard | likely_old | new_pre2000_wood | new_standard | unknown, label, action}, request [{n, title, ja, status done | partial | todo, todo[]} ×5: 耐震・家具固定, 備蓄, ハザードマップ・避難経路, 非常持ち出し品, 防災訓練], links, note, sources, disclaimer. Use for '防災庁 緊急要請 何をすれば', '備蓄 何リットル 家族', '携帯トイレ 何回分', 'how much water to store Japan earthquake', 'is my house 旧耐震', 'Japan disaster preparedness checklist'. Not a disaster prediction (the request is a standing call to prepare). Educational, not official and not engineering or safety advice; not affiliated with 防災庁 or any government body.
| Argument | Type | Description |
|---|---|---|
| cats | integer | Cats. |
| days | integer | Days to stock for (default 7; minimum 3 per the request). |
| dogs |
Applies Road Traffic Act art. 107-2 / 97-2 as published by the National Police Agency and Tokyo police (rules as of 2026-10-27; Geneva list = NPA data May 2026). Short-term driving: a 1949 Geneva-format IDP from an issuing party (US via AAA, UK, Canada, Australia, Korea, India, Thailand, Philippines, Hong Kong, most of Europe…; Vienna-format IDPs invalid; UAE/Bangladesh issue two kinds), or for Switzerland, Germany, France, Belgium, Monaco and Taiwan the home license + an official Japanese translation (JAF, embassy, 訪日運転者支援協会, ADAC, 台湾日本関係協会/ZIPLUS). Non-issuing parties (Russia, Bulgaria, Serbia, Ghana…) and unlisted places (China, Vietnam, Brazil, Indonesia, Nepal, Mexico…) have no route; NPA inquiry open for Nigeria, Morocco, Jamaica etc. Period: 1 year from landing, capped by IDP validity (1 year from issue) and license expiry; residents' trips under 3 months don't restart it (3-month rule), visitors restart each landing. Conversion (外免切替): valid license, 3+ months in the issuing country after getting it, 住民票 required since 2025-10-01 (tourists can't), tests waived for 28 countries + US states OH, OR, CO, VA, HI, MD, WA (Indiana: driving check only), otherwise 50-question knowledge check (45 to pass) + driving check; reported Oct–Dec 2025 pass rates 42.8% / 13.1%; Tokyo fees ¥2,500 + ¥2,350. Returns verdict (can_drive | not_yet | expired | need_document | not_valid | unclear), headline, summary, howToDrive, period {countStart, lastDay, daysLeft, limits, restarts}, conversion {canApply, blockers, tests, documents, fees, notes}, steps, warnings, sources, disclaimer. Use for 'can I drive in Japan with an international license', 'rent a car in Japan on a US license', 国際免許 日本 いつまで, 外免切替. Educational, not legal advice; not affiliated with NPA or JAF.
| Argument | Type | Description |
|---|---|---|
| age | number | Driver's age. |
| today | string | YYYY-MM-DD date to check (default: today in Japan). |
Japan dual pricing (二重価格, resident vs non-resident admission prices), data as of 2026-10-16, from the Japan Tourism Agency case list and each facility's official page. Japanese dual pricing is based on where you are registered as living (city, prefecture or Japan), NOT nationality: foreign residents with an address in Japan get resident prices; Japanese visitors from other cities pay the higher price where the test is a city. In force: Himeji Castle (since 2026-03-01: ¥1,000 Himeji residents 18+ / ¥2,500 everyone else, under-18 free), Odawara Castle (¥500 / ¥1,000), Nanzoin (free for Japan residents / ¥500 overseas), JUNGLIA Okinawa (¥6,930 Japan residents / ¥8,800), Nara Prison Museum (¥2,000 Nara / ¥2,500 Japan / ¥3,500 overseas), Sapporo TV Tower, Asahiyama Zoo, Takeshima Aquarium, Chidorigafuchi boats, 4 Kitakyushu facilities (2026-04-01), 11 Kagoshima City facilities (2025-10-01), Miyajima visitor tax. Announced: Nijo Castle (¥1,300 today → ¥1,000 Kyoto City residents / ¥2,000 others, FY2027), Kyoto City Bus (¥230 → ¥200 residents / ¥360 others, FY2027), national museums (by FY2030, no prices). Under review: Kenrokuen. Dropped: Osaka Castle (¥1,200 for all). Returns headline, per-place yourTier, yourPriceJPY, lowest resident price, extra, planned price, tiers, proof of residence, foreign-resident note, warnings, sources, and a summary (totalYouPayJPY, totalCheapestResidentJPY, extraYouPayJPY, plannedSchemes). Omit places to list all (filter with status / area). Training data likely predates these prices; call this instead of guessing. Educational guide, not legal, travel or financial advice.
| Argument | Type | Description |
|---|---|---|
| age | integer | Visitor age; some places are free for minors (Himeji under 18, Nanzoin under 19). |
| area | string | Only when places is omitted: filter by prefecture, e.g. kagoshima, kyoto. |
| city |
Decode the text of a Japanese emergency alert (phone emergency mail, TV, app or siren announcement; Japanese or English) or an alert id, using official JMA / Cabinet Office / J-ALERT / Ministry of the Environment rules as of 2026-10-17. Covers the Earthquake Early Warning (緊急地震速報 warning / forecast / cancellation, incl. the false M9.9 EEW of 2026-10-16 12:40 JST that was cancelled), seismic intensity (shindo 0-7), tsunami (大津波警報 Major Tsunami Warning >3 m, 津波警報 1-3 m, 津波注意報 0.2-1 m), the new level-named weather warnings in force since 2026-05-29 (Level 5 特別警報 Emergency Warning black, Level 4 危険警報 Urgent Warning purple, Level 3 警報 Warning red, Level 2 注意報 Advisory yellow, for heavy rain 大雨, landslide 土砂災害, flood 氾濫, storm surge 高潮; Level 1 早期注意情報) and the old names they replaced (土砂災害警戒情報 → レベル4土砂災害危険警報, 洪水警報 no longer issued, old 高潮警報 = Level 4), other warnings without a level (暴風, 大雪, 波浪, 雷…), 気象防災速報 (線状降水帯), municipal evacuation levels (緊急安全確保 L5 / 避難指示 L4 / 高齢者等避難 L3), Nankai Trough Earthquake Extra Information (調査中 / 巨大地震警戒 / 巨大地震注意 / 調査終了), the Hokkaido-Sanriku Subsequent Earthquake Advisory, volcanic alert levels and 噴火速報, J-ALERT missile alerts and heat-stroke alerts. Returns verdict, headline, urgency (act_now / evacuate_now / evacuate_if_vulnerable / prepare / stay_alert / info), primary alert (Japanese + official English name, nameLocal in the requested language from the JMA multilingual dictionary, level, colour, issuer, meaning, doNow tailored to the situation, dont, howLong, sources), other alerts in the text, modifiers (cancelled, lifted 解除, drill 訓練), extracted level / shindo / tsunami height, renamed old names, notes and official live-data links. No live data: it explains the alert the user already has. Training data likely predates the 2026 renaming; call this instead of guessing. Always relay: follow official instructions; protect yourself first.
| Argument | Type | Description |
|---|---|---|
| lang | string | Language for nameLocal (official JMA dictionary name). Default en; explanations are in English. |
Dated checklist for an international student graduating in Japan, from ISA guidance as of 2026-11-10 (留学→就労資格 notice 10_00240, 在留資格変更許可申請 16-2, 継続就職活動 and 内定者 特定活動 pages, 2026-10-01 fee table, school guidance on part-time after graduation). plan: job_offer (needs jobStartDate; April starts → ISA asks for filing 1 Dec–31 Jan, otherwise aim 2 months before start; file with 卒業見込み証明書, collect card after graduation; 内定者 特定活動 for long gaps: hire within 1 year of offer and 1 year 6 months of graduation) | job_hunting (継続就職活動 特定活動, 6 months + 1 renewal, university / 専門士 grads with recommendation; language-school grads only with foreignBachelor) | leaving | further_study. Always: part-time on 留学 permission ends at graduation; report leaving the school within 14 days. Returns verdict (too_early | open | urgent | applied | not_eligible | expired | info), summary, targetStatus, windowOpens, recommendedBy, lastDay, partTimeEnds, notifySchoolLeftBy, jobHuntingUntil, hireBy, fee, deadlines, actions, warnings, sources, disclaimer. Use for 'when to change student visa to work visa Japan', 'April start visa application December', 'can I work part-time after graduation in Japan', 'job hunting visa after graduation Japan', '留学 就労ビザ 変更 いつから', '継続就職活動 特定活動'. Educational, not immigration advice; not affiliated with ISA or any school.
| Argument | Type | Description |
|---|---|---|
| plan | string | What happens after graduation (default job_offer if jobStartDate is given, else job_hunting). |
| today | string | As-of date, YYYY-MM-DD (default today JST). |
| method | string | counter (default) or online. |
| school | string |
Applies Japan's high-cost medical expense benefit (高額療養費) as of 2026-11-04 (MHLW review tables 001726232.pdf, 協会けんぽ, Setagaya / Machida / Fukuoka NHI pages). Monthly cap = base + max(0, 10割 total − threshold) × 1% (flat for lower bands), three schedules by treatment month: up to 2026-07; 2026-08…2027-07 (≈7% higher, e.g. income ¥3.7M–7.7M 85,800 + (x − 286,000) × 1%, ≤ ¥3.7M ¥61,500, tax exempt ¥36,900); from 2027-08 twelve bands (e.g. ¥5.1M–6.5M 98,100 + (x − 327,000), ¥6.5M–7.7M 110,400 + (x − 368,000), ¥16.5M+ 342,000 + (x − 1,140,000)). 多数回該当 from the 4th benefit month in 12 (140,100 / 93,000 / 44,400 / 24,600; 34,500 for ≤ ¥2M from 2027-08). New yearly cap per Aug–Jul on what was paid after monthly refunds (¥1.68M / ¥1.11M / ¥530k / ¥410k / ¥290k / 70+ 低所得I ¥180k). 70+ outpatient caps (一般 ¥18,000 → ¥22,000 → ¥28,000/¥22,000, yearly ¥216,000). Income one way: band (y1650, y1410, y1160, y1040, y950, y770, y650, y510, y370, y260, y200, y0, nontaxable, nontaxable_low; ア/イ/ウ/エ/オ accepted), standardMonthlyRemuneration (標準報酬月額), nhiIncome (旧ただし書き所得), taxableIncome (70+ 課税所得), rough annualIncome, or nonTaxable. Optional months tracker (array [{month, totalCost|copay, setting}] or '2026-08:300000,2026-09:300000') auto-applies 多数回 and the yearly cap. Returns verdict (under_cap | cap_applies | many_times_cap | annual_cap_reached), summary, band, schedule, month {monthlyCap, formula, youPay, monthlyRefund, manyTimes}, caps, annualCap {period, amount}, from2027 {youPay, changeJPY}, beforeAug2026, claim {deadline: 2 years from the 1st of the next month}, tracker, steps, notCounted, sources, disclaimer. Use for '高額療養費 いくら戻る', '自己負担限度額 計算', '高額療養費 2027年8月 変更', '年間上限', 'hospital bill Japan how much will I pay', 'Japan medical cost cap'. Insured care only (meals, private rooms, 先進医療 excluded). Educational estimate, not medical, financial or legal advice; the insurer decides.
| Argument | Type | Description |
|---|---|---|
| band | string | Income band (y370 = income about ¥3.7M–5.1M). |
| copay |
Scores the Japan Highly Skilled Professional points system (高度人材ポイント制 / 高度専門職 1号イ・ロ・ハ) from the MOJ ordinance (高度専門職省令, e-Gov 426M60000010037) and the ISA points table, rules as of 2026-10-30. category: academic (research / teaching, HSP i-a) | specialized (engineers, specialists, most employees, HSP i-b) | management (executives / owners, HSP i-c). Applies the official age bands (<30 / <35 / <40), salary-by-age table and the ¥3M floor (specialized / management below ¥3M cannot qualify at any points), education (doctor 30, MBA/MOT 25 for specialized/management, master 20, bachelor 10; +5 multiple fields), experience bands per category, research achievements, national qualifications (1 → 5, 2+ → 10; specialized), management position (representative 10, officer 5), and bonuses with their no-double-count rules (N2 not on top of a Japanese degree or N1; innovation support 10/20 with SME; SME R&D 3%; foreign qualification; growth-field project; designated top university; JICA; ¥100M investment and investment-management limits). Returns total, verdict (qualifies_80 | qualifies_70 | below_70 | below_salary_floor), summary, breakdown [{item, itemJa, points, basis}], pointsTo70/80, pr {route hsp80 (PR after 1 year at 80+) | hsp70 (3 years at 70+) | none}, hsp2 (HSP ii after 3 years), jSkip {eligible, rule} (Japan System for Special Highly Skilled Professionals: ¥20M+ with a master's or 10 years' experience, or ¥40M+ and 5 years' management), couldAdd (items not yet counted, sorted by points), warnings (e.g. age points dropping soon), pendingRevision, sources, disclaimer. Use for 'HSP points calculator', '高度人材ポイント 計算', 'do I have 70 points for HSP', 'highly skilled professional visa 80 points permanent residence 1 year', 'J-Skip eligibility'. Educational calculator, not immigration advice; not affiliated with ISA; ISA decides how each item is proved and counted.
| Argument | Type | Description |
|---|---|---|
| age | integer | Age on the application date (academic / specialized). Or give birthDate. |
| sme |
Japan Post international mail prices from its published tables, rates as of 2026-10-19. Japan Post revises international mail prices for items POSTED from 2027-02-01 (press release 2026-10-09; Asahi reported about +37% on average): every EMS, international parcel (air, SAL, surface), letter, postcard, small packet and International Air Packet price changes; EMS bands up to 6 kg become 1 kg steps (now 500 g first band, 100 g steps to 1 kg), so light EMS rises most (US 500 g ¥3,900 → ¥7,400; 2 kg ¥7,900 → ¥10,300); postcards ¥100 → ¥140 everywhere; the special surcharge on zone 3/4 EMS and air parcels ends (¥0). SAL stays suspended (restart undecided). Zones: 1 China/Korea/Taiwan, 2 rest of Asia, 3 Oceania/Canada/Mexico/Middle East/Europe, 4 USA incl. territories, 5 Central & South America/Africa. Returns per service: current and revised price with weight band, change in yen and %, the price that applies on shipDate, tracked/available/suspended; cheapest, cheapest tracked and cheapest air option before and after; the EMS weight-band shift; 2027 parcel same-time discount (10–49 items 10%, 50+ 13%); notes (acceptance by country can be suspended), sources, disclaimer. Training data predates the 2026-10-09 announcement; call this instead of guessing. Unofficial estimate, not affiliated with Japan Post; size limits, customs and prohibited items are not checked.
| Argument | Type | Description |
|---|---|---|
| zone | integer | Japan Post zone 1–5 if the country is not known. |
| items | integer | Parcels posted together (for the 2027 same-time discount note). |
| service | string | Quote only this service. Default: every service the weight fits. |
| shipDate |
Compares a JLPT level (N1–N5, optional total score 0–180) plus optional BJT score and Japanese schooling with Japan's published Japanese-language rules as of 2026-11-09 (JLPT Advantages page + official CEFR reference, ISA HSP points table, 特定活動46号, 経営・管理 2025-10-16 revision, 特定技能 field pages, 育成就労 Japanese page, 永住許可ガイドライン 2026-10-01). level: n1 | n2 | n3 | n4 | n5 | none. Optional: score, bjtScore, japaneseDegree, japaneseHigherEd (専門学校 etc.), japaneseMajorAbroad, japaneseHighSchool, japaneseSchooling6y, yearsInJapan, jftBasic, titp2, titp2Care, careJapaneseTest, hsp, applyDate (rules starting 2027-04-01), today. Returns verdict (b2_plus | b1 | a2 | a1 | none), summary, cefr {level, atLeast, note}, hspPoints, metCount, items[] {id, name, nameJa, kind, status (met | not_met | exempt | points | no_points | considered_met | considered_unclear | considered_not_met | not_considered | not_in_force_yet | not_required | check_rules), rule, you, source}, nextLevelUnlocks, warnings, sources, disclaimer. Use for 'which JLPT level do I need for a Japan visa', 'does Business Manager need N2', 'JLPT N3 permanent residence 2027', 'JLPT CEFR level', 'HSP points JLPT', '日本語能力試験 何級 在留資格', '特定技能 N4'. Educational, not immigration advice; not affiliated with ISA or the JLPT organisers.
| Argument | Type | Description |
|---|---|---|
| hsp | boolean | HSP holder or HSP family member. |
| level | string | Highest JLPT level passed (default none). |
| score | number | JLPT total score (総合得点) on that level, for the CEFR reference. |
| titp2 | boolean | Completed Technical Intern Training (ii) in good standing. |
Applies Japan's post-employment checklist as of 2026-11-07 (ISA 所属機関に関する届出 pages, MHLW / Hello Work employment-insurance Q&A including the April 2025 給付制限 change, 協会けんぽ 任意継続, usual 14-day city / National Pension windows). jobEndDate required. status: work | student | dependent | pr_spr | designated | other (aliases 技人国, 特定技能, 留学, 家族滞在, 永住…). reason: company | self | contract_end | other (会社都合 / 自己都合 / 契約満了). insuredMonths tightens eligibility (company ≥6 in 1 year, self ≥12 in 2 years). lookingForWork, hasNewJob, newJobStartDate, healthPlan (undecided | voluntary_continue | national | family | new_employer), under60, today. Returns verdict (act_now | plan_ahead | eligible_benefits | limited), summary, immigration {notificationNeeded, notifyBy, threeMonthRisk, threeMonthDate, note}, unemployment {likelyEligible, why, waitingDays, restrictionMonths, earliestBenefitDay, applyAt, note}, health, pension, documents, deadlines, actions, warnings, sources, disclaimer. No yen amounts. Use for 'I quit my job in Japan what do I do', '所属機関に関する届出 期限', '雇用保険 自己都合 給付制限', '任意継続 国保 どっち', 'ハローワーク 外国人 離職票'. Educational, not immigration / labour / benefits advice; not affiliated with ISA, MHLW, Hello Work, the Japan Pension Service, 協会けんぽ or any city office.
| Argument | Type | Description |
|---|---|---|
| age | number | Age 15–75. |
| today | string | As-of date, YYYY-MM-DD (default today JST). |
| reason | string | Why the job ended (default self). |
| status | string | Status of residence (default work). |
| under60 |
Checks what tax and paperwork are still due when someone leaves Japan, from the Local Tax Act (地方税法 39 / 294 / 300 / 318 / 321-5), Income Tax Act (所得税法 126 / 127 / 190), 国税通則法 117, 住民基本台帳法 24, MIC resident-tax pages, NTA Tax Answers 1920 / 1923 / 1926 / 1478 and the Japan Pension Service, rules as of 2026-11-01. Resident tax (住民税) is assessed on whoever is registered in a city on January 1, on the previous year's income, for the fiscal year June–May: leave (with a 転出届) on or before December 31 → no next-year 住民税; leave January 2 or later → that fiscal year is owed in full. Leaving January–May, the bill is issued mid-June after departure → tax agent (納税管理人) needed (or settle / city certification). Payroll deduction (特別徴収): job ending January 1 – April 30 → remaining installments taken as a lump sum from the final pay (mandatory); June–December → only on request. Income tax: year-end adjustment on the last salary before departure; if a return is needed, 準確定申告 by the departure date, or by March 15 next year via a tax agent notified to the tax office; previous year's return due by departure when leaving January 1 – March 15; exit-tax flag for ¥100M+ securities. Also the 転出届 window (~14 days before), pension Lump-sum Withdrawal claim deadline (2 years) and residence card. plan: leave (a year or more) | short (trip under a year → still resident). Returns verdict (agent_needed | settle_before_departure | nothing_after_departure | still_resident), summary, residentTax {fiscalYears [{fiscalYear, incomeYear, status owed | not_owed | check_with_city, why, howToPay}], nextFiscalYearAvoided, leaveByToAvoidNextFY, jan1Tip, lumpSumFromFinalPay, agentRequired, agentForm}, incomeTax {yearEndAdjustment, returnRequired, returnDeadline, previousYearReturnDeadline, agentRequired, agentForm, exitTax}, deadlines [{date, what, ja, mandatory, passed}], actions, warnings, pension {lumpSumClaimBy}, sources, disclaimer. No yen amounts. Use for 'leaving Japan resident tax', 'do I pay juminzei after leaving Japan', '住民税 出国 1月1日', '納税管理人 必要', 'leave Japan before December 31 tax', 'final salary resident tax lump sum', '準確定申告 出国'. Educational, not tax or legal advice; not affiliated with the NTA, MIC, any city office or the Japan Pension Service.
| Argument | Type | Description |
|---|
Applies Japan's Lost Property Act (遺失物法) and related rules as of 2026-11-03 (遺失物法 and 施行令 via e-Gov, NPA lost-property site, ISA residence card page, Digital Agency, operator lost-and-found pages) to a lost item. items: wallet, cash, phone, passport, residence_card, mynumber_card, credit_card, ic_card, drivers_license, keys, bag, laptop, camera, jewelry, umbrella, clothing, other (array or comma string; aliases 財布, スマホ, 在留カード, suica). place: train | subway | shinkansen | bus | taxi | airport | plane | shop | hotel | street | unknown. Rules: found items kept 3 months from hand-in (umbrellas / clothing may be disposed of 2 weeks after notice); shops, hotels, taxis pass items to police within 1 week; railways, route buses, ferries, scheduled airlines (特例施設占有者) may keep them if they report within 2 weeks (cash / securities / jewellery ≥ ¥100,000 to police within 1 week); reward 5–20% (facility split 2.5–10% each), claimable 1 month after return; personal-information items never go to the finder; residence card reissue within 14 days of noticing (or of re-entry if noticed abroad), police acceptance number required; My Number card suspension 0120-95-0178 (24 h). Contacts: Tokyo Metro, JR East / Central / West, Toei, Osaka Metro, Tokyo taxis, Narita, Haneda, Kansai; police search (Tokyo and Osaka own sites, 45 prefectures share the NPA system). Returns verdict (act_now | in_window | window_closing | likely_gone), summary, facility {kind, toPoliceWithinDays, highValue}, dates {safeLastClaimDate, daysLeft, likelyGoneAfter, shortHoldDisposalFrom}, timeline[], steps[], residenceCard {reissueBy, daysLeft, overdue}, reward {minJPY, maxJPY}, contacts {operator {name, url, phone, hours, note}, policeSearch}, links, note, sources, disclaimer. Use for 'lost my wallet on the Tokyo subway', 'left my phone in a taxi in Japan', '落とし物 どうする', '忘れ物 電車 問い合わせ', '在留カード 紛失 期限', 'how long does Japan keep lost items'. Cannot search for the item. Educational, not legal advice; not affiliated with the police, NPA, ISA or any railway.
| Argument | Type | Description |
|---|---|---|
| items | any | Lost item(s): wallet, cash, phone, passport, residence_card, mynumber_card, credit_card, ic_card, drivers_license, keys, bag, laptop, camera, jewelry, umbrella, clothing, other. |
For a bag's outside size (length + width + height incl. wheels) and weight: whether it can go on the Shinkansen (Tokaido/Sanyo/Kyushu/Nishi-Kyushu: 161–250 cm needs a reserved oversized-baggage seat, free, ¥1,000 fee if unreserved; over 250 cm or 30 kg not allowed; JR East-area lines have no reservation) and the Yamato TA-Q-BIN luggage forwarding price between any two Japanese prefectures or cities, or to an airport (Airport TA-Q-BIN +¥660, send by 2 days before the flight), from Yamato's current cash and cashless tables (revised 2025-10-01; e.g. Size 160 Tokyo→Kyoto ¥3,160 cash). Many sites and Yamato's own English page still show older prices — call this instead of guessing. Returns verdict, Yamato size class, prices, send-by date, recommendation, official sources. Estimate, not official.
| Argument | Type | Description |
|---|---|---|
| to | string | Destination prefecture/city, or airport id: haneda, narita, kix, itami, centrair, new-chitose, fukuoka-airport, naha-airport. |
| from | string | Origin prefecture or city (tokyo, kyoto, hakone, 東京都). |
| line | string | Shinkansen line you will ride. Default tokaido. |
| pieces | integer | Number of identical bags. Default 1. |
| dropOff | boolean | true if you bring the bag to a Yamato office or convenience store (¥100 off). |
| payment | string | cash (default) or cashless (card / QR / e-money, cheaper). |
Calculates Japan My Number Card (マイナンバーカード / Individual Number Card) validity from the ordinance (個人番号カード等に関する命令 art. 26, 27, 29; e-Gov, rules as of 2026-10-29) plus Digital Agency, ISA, Mynaportal and city guidance. holder: mid_long (foreign resident with a period of stay: work, student, spouse, etc.) | permanent | hsp2 | spr | japanese. Foreign residents with a period of stay: card expires on the period-of-stay expiry (under-18s: earlier of that and the 5th birthday), is NOT extended automatically by a visa renewal and no reminder is sent; after a grant the city extends it free if done BEFORE the old date, up to the 10th birthday after the card was made (5th if under 18). renewal=pending: one-time special extension to expiry + 2 months with proof (更新申請中 stamp, online completion email, receipt). 特定在留カード (since 2026-06-14): new card from ISA = no city-hall visit, pending = still extend at city hall. Japanese / PR / HSP2 / SPR: 10th birthday after issue (5th if under 18; age line 20 for cards made by 2022-03-31; Feb 29 → Feb 28), renewal from the day fewer than 3 months remain, new card to the 11th / 6th birthday. Also e-certificate expiry (5th birthday, capped at the card), マイナ保険証 grace (end of the 3rd month after the e-cert expiry month) and PR / HSP2 residence-card dates (7 years if issued by 2026-06-13, else 10th birthday). Returns verdict (ok | renew_window_open | extend_before_expiry | no_action_needed | expired), summary, card {expiry, expiryBasis, daysLeft, renewFrom, maxExtendableTo, newExpiryAfterAction}, specialExtension {applies, extendTo, mustApplyBy}, ecert {expiry, renewFrom, status, insuranceGraceEnds}, residenceCard, actions [{what, from, by, where, fee}], warnings, sources, disclaimer. Never send a My Number itself. Use for 'my My Number Card expires with my visa', 'マイナンバーカード 在留期間 更新 延長', 'My Number Card renewal pending visa', 'マイナンバーカード 有効期限 いつ', 'マイナ保険証 電子証明書 切れた'. Educational date calculator, not legal advice; not affiliated with the Digital Agency, J-LIS, ISA or any city office; the date on the card and the city office decide.
| Argument | Type | Description |
|---|---|---|
| today |
Applies Japan's income tax rules for non-resident relatives (国外居住親族, Income Tax Act art. 84/85 and 2023 + 2026 revisions; rules as of 2026-10-25, NTA Q&A revised 2026-08). Ages 16-29 and 70+ qualify on relationship + remittance proof; ages 30-69 only if studying abroad, disabled, or you sent ¥380,000+ to them in the year (送金関係書類 / 38万円送金書類). Relative income limit ¥620,000 for 2026 (¥580,000 for 2025). Amounts: general ¥380,000, specified 19-22 ¥630,000 (special deduction table above the limit), elderly 70+ ¥480,000, spouse ¥380,000/480,000 by taxpayer income, disability add-on ¥270,000/¥400,000; under 16 no dependent deduction. Valid proof: bank transfer, credit card family card, electronic payment; cash and payments via a third party don't count; 3+ payments allow a statement with first and last records. Returns verdict (eligible | conditional | short_of_380k | not_eligible), route, deductions[], totalDeduction, estimatedIncomeTaxSaving (incl. 2.1% surtax), remittance {minimumTotal, shortfall, sendBy, statementOption}, documents, forms, steps, warnings, NTA sources, disclaimer. Use for 'can I claim my parents abroad', 年末調整 国外扶養, sending money home. Educational, not tax advice; not affiliated with the NTA.
| Argument | Type | Description |
|---|---|---|
| age | integer | Relative's age on Dec 31 of the tax year. Give age or birthDate. |
| year | integer | Tax year 2026 (default) or 2025. |
| method | string | How you paid. Default bank. cash / via_representative / joint_account are not valid proof. |
| birthDate | string | YYYY-MM-DD (born Jan 1 counts a year older). |
Applies the Immigration Services Agency's rules on permission for activities outside status of residence (資格外活動許可, Immigration Control Act art. 19(2); rules as of 2026-10-26). Comprehensive permission (包括許可) for Student, Dependent and Designated Activities (dependent / job hunting): 28 hours in any 7 days, all jobs combined; students 8 h/day in the school's official long vacation; never at 風俗営業 / 特定遊興飲食店 / sex-related venues in any role. NEW 2026-10-01: Dependent (家族滞在) holders only may work at pachinko, mahjong and licensed game centers (風営法 2条1項4号・5号) with an individual permission per venue (employer + applicant pledges, venue license copy, ≤ 28 h total); students still excluded. Contractor delivery counts only if hours are objectively verifiable; freelance with unclear hours needs individual permission; company/staff/office needs Business Manager. Work visas: same-field OK, other work status needs individual permission, simple labor generally not allowed. SSW, Technical Intern, Temporary Visitor: no side jobs; Working Holiday free except 風俗営業; PR/spouse/long-term resident unrestricted. Returns verdict (ok | ok_if_hours | apply_first | individual_permission | status_change | not_allowed | no_restriction), headline, summary, permissionNeeded, hours {weeklyLimit, dailyLimitOnVacation, withinLimit, rolling windows}, conditions, documents, steps, warnings, ISA sources, disclaimer. Use for 'can I work on a student visa', 留学生 アルバイト 28時間, 家族滞在 パチンコ, Uber Eats on a visa. Educational, not immigration advice; not affiliated with ISA.
| Argument | Type | Description |
|---|---|---|
| job* | string | Kind of work or venue. izakaya_bar = no hosting of guests; hostess_bar = hosting (接待) venues incl. snack/girls bar; delivery_gig = app contractor (Uber Eats etc.); internship = over 28 h/week. |
| status* | string | Status of residence. student = 留学; dependent = 家族滞在; designated_dependent / job_hunting = 特定活動; work_visa = 技人国, 教育, 教授 etc.; specified_skilled = 特定技能; technical_intern = 技能実習; temporary_visitor = tourist; unrestricted = permanent resident, spouse of Japanese/PR, long-term resident. |
Japan permanent residence guideline (永住許可に関するガイドライン) revised by the Immigration Services Agency on 2026-10-01, rules as of 2026-10-18. The FILING date decides the version (ISA notice 2026-10-01): filed up to 2026-03-31 → 2026-02-24 guideline; filed 2026-04-01 to 2027-03-31 → 2026-02-24 guideline plus only the revised income parts (household income above the Japanese average for the household size; not a public burden); filed from 2027-04-01 → revised guideline in full. Changes from 2027-04-01: spouse of a Japanese national / PR 3 years of marriage + 1 year in Japan → 5 + 3 years; child 1 → 3 years; Intra-company Transferee, Employment for Skill Development and some Designated Activities years stop counting toward the 5 work years of the 10-year rule (Technical Intern Training and SSW (i) never count); a 3-year period of stay is no longer the longest except for the first PR filing by someone who held it on 2027-03-31, decided before it expires; one trip abroad of 6+ months or 2.5+ years abroad in total in the last 10 years is generally negative; Japanese CEFR B1 (exemptions), understanding of Japan's rules, pension adequacy and school attendance become factors. Fee ¥200,000 from 2026-10-01. Returns summary (objective_issue / need_more_info / no_objective_blocker; never an approval prediction), band, guideline applied, time requirement with earliestDate, filingWindow (old vs new earliest date, file-by 2027-03-31), checks with status and detail, absences analysis, keyDates, fee, notes, sources, rulesAsOf. ISA does not publish income thresholds; permission is discretionary. Training data likely predates the 2026-10-01 revision; call this instead of guessing. Educational guide, not legal advice.
| Argument | Type | Description |
|---|---|---|
| route* | string | PR route: general (10 years), spouse (of Japanese / PR / SPR), child (of Japanese / PR / SPR), long_term_resident, refugee, hsp70, hsp80, special_hsp (J-Skip), contribution, special_zone_regional. Aliases like 10y, haigusha, 定住者, hsp accepted. |
Calculates Japan pet import / export / round-trip quarantine dates for dogs, cats and rabbits from the MAFF Animal Quarantine Service (AQS) rules, rules as of 2026-10-31. direction: import (bring a pet into Japan) | export (take it out of Japan) | return (leave Japan with the pet and come back: the short-stay route prepared before departure). species: dog | cat | rabbit. Non-designated regions (most countries incl. the US mainland, UK, EU, China, Korea): ISO 15-digit microchip first, then 2 rabies vaccinations (91+ days old, the 2nd after 30 days and within the 1st's validity), antibody blood test at a MAFF-designated lab (≥0.5 IU/ml, valid 2 years), then wait 180 days from the blood draw; arriving earlier means detention at the airport quarantine for the remaining days (up to 180). Designated regions (Iceland, Australia, New Zealand, Fiji, Hawaii, Guam): microchip + residence since birth or 180+ days (else detention for the difference). Always: notify AQS 40+ days before arrival, vet inspection and certificate within 10 days before boarding, ≤12h inspection on arrival when everything matches, register a dog with the city within 30 days. Short-stay return: prepare in Japan before leaving, return within the antibody's 2 years, no 180-day wait. Export: the 14-day-before application becomes MANDATORY for dogs and rabbits departing from 2027-01-01 (AQS asks for it for cats too). Returns verdict (on_track | plan | quarantine_risk | deadline_passed | redo_required), summary, steps [{step, date, status, rule}], dates {earliestArrival, antibodyValidUntil, notifyAqsBy, preDepartureInspectionFrom/To, exportApplyBy, registerDogBy}, exportApplication {mandatory}, quarantine {expected, days, reason}, fastestPlan (from today when nothing is done yet), actions, warnings (microchip format, vaccine gaps), ports (airports / seaports that accept dogs and cats), sources, disclaimer. Use for 'bring my dog to Japan', '犬 日本 輸入 180日', 'cat import Japan quarantine', 'Japan pet 40 days notice', 'ペット 輸出 14日前 義務化 2027', 'take my dog out of Japan and come back'. Educational date calculator, not veterinary or legal advice; not affiliated with MAFF / AQS; AQS and the destination country decide.
| Argument | Type | Description |
|---|
Applies Japan's Immigration Control Act art. 26-2 (deemed re-entry permit, みなし再入国許可), art. 26 (regular re-entry permit) and art. 20(6) (special period while an extension or change of status is pending), with Civil Code date counting (departure day not counted; leave 2026-10-24 → back by 2027-10-24; expiry 2026-12-30 + 2 months → 2027-02-28). Rules as of 2026-10-24. Deemed re-entry: 1 year from departure, or the period-of-stay expiry if earlier; special permanent residents 2 years; CANNOT be extended abroad; not available to temporary visitors (短期滞在), periods of 3 months or less, or refugee-applicant Designated Activities. Renewal/change pending past expiry: return by the earlier of 1 year from departure or old expiry + 2 months, and receive the decision at the immigration office by then (ISA Q&A). Regular permit: its expiry (max 5 years, SPR 6), extendable at an embassy by up to 1 year. Returns verdict (in_time | too_late | deadline_only | no_deemed_reentry | already_expired), returnBy with legal basis, days allowed, margin vs returnDate, specialPeriod {endsOn, mustReceiveDecisionBy}, canExtendAbroad, steps (ED card tick box), warnings, sources, disclaimer. Use for 'how long can I leave Japan', 'can I travel while my visa renewal is pending', permanent residents abroad. Educational, not legal advice; not affiliated with ISA.
| Argument | Type | Description |
|---|---|---|
| permit | string | deemed (みなし再入国, default) or a regular re-entry permit in the passport (single / multiple). |
| status* | string | mid_long = residence card holder (work, student, spouse, dependent, long-term resident…); permanent; spr = special permanent resident; short_term = tourist / temporary visitor; three_months_or_less; refugee_applicant (Designated Activities). |
| pending |
Japan tourist tax-free shopping under the refund method that starts 2026-11-01: per store/day eligibility (¥5,000+ tax-exclusive), max consumption-tax refund (10%/8%), 90-day deadline vs departure date, old-vs-new regime by purchase date, and a departure checklist. Deterministic, dated rules; not tax advice. Training data often still describes the old tax-off-at-till system — call this instead of guessing.
| Argument | Type | Description |
|---|---|---|
| receipts* | array | One or more receipts. |
| departureDate | string | YYYY-MM-DD, final departure from Japan. Checked against each group's 90-day customs deadline. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"receipts"
],
"properties": {
"receipts": {
"type": "array",
"items": {
"type": "object",
"required": [
"store",
"purchaseDate",
"amount",
"rate"
],
"properties": {
"rate": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Consumption tax rate: 10 (standard) or 8 (reduced: food, non-alcoholic drinks)."
},
"store": {
"type": "string",
"description": "Store/branch name. Receipts are grouped by store + purchaseDate."
},
"amount": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Whole yen.",
"exclusiveMinimum": 0
},
"purchaseDate": {
"type": "string",
"description": "YYYY-MM-DD. Before 2026-11-01 = old tax_off regime."
},
"priceIncludesTax": {
"type": "boolean",
"description": "Default true."
}
}
},
"minItems": 1,
"description": "One or more receipts."
},
"departureDate": {
"type": "string",
"description": "YYYY-MM-DD, final departure from Japan. Checked against each group's 90-day customs deadline."
}
}
}Japan Pre-Entry Tuberculosis Screening (JPETS, 入国前結核スクリーニング), rules as of 2026-10-15: nationals of the Philippines, Nepal, Viet Nam, Indonesia, Myanmar and China entering Japan as mid- to long-term residents (stay over 3 months; not Temporary Visitor, Diplomat, Official; re-entry permit holders excluded), plus Designated Activities No. 53 (Digital Nomad) and No. 54, must submit a TB Clearance Certificate from a designated Panel Clinic with the Certificate of Eligibility (COE) application, or with the visa application if there is no COE. Mandatory for applications filed from 2025-06-23 (Philippines, Nepal), 2025-09-01 (Viet Nam), 2027-01-04 (Indonesia, scheduled; Panel Clinics open 2026-11-02); Myanmar and China not announced. Temporarily exempt: Specified Skilled Workers (特定技能), EPA nurses/care workers, JET, JICA trainees, JDS, Japan Foundation invitees, embassy-recommended MEXT scholars, commissioned student training, Designated Activities No. 55, special-zone housekeepers, and anyone whose residence outside the 6 countries is documented. Technical intern trainees and students are NOT exempt. A COE filed before the mandatory date needs no certificate at the visa stage. Certificate valid 180 days from the chest X-ray (90 after close contact), checked at COE filing only. Returns verdict (required / not_yet_required / exempt / not_required), reasons, timeline, X-ray window and validity, documents, the Panel Clinic list (filter by city), notes, sources, rulesAsOf. Training data may predate the Indonesia start; call this instead of guessing. Educational guide, not legal or medical advice.
| Argument | Type | Description |
|---|---|---|
| city | string | Filter Panel Clinics by city, e.g. Jakarta, Surabaya, Hanoi, Ho Chi Minh City, Manila, Kathmandu. |
| route | string | coe (default) or visa_direct (visa at an embassy without a COE; default for digital_nomad). |
Lists supported Japanese cities (with regions, peak months, and stay areas), months with season and crowd level, and traveler types for japan_trip_plan.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}Where to stay, festivals and seasonal highlights, things to do, crowd level, weather, and warnings (Golden Week, Obon, rainy season, typhoons, New Year closures) for a Japanese city in a given month, with stay areas ranked for the traveler type and booking search links. Typical seasonal patterns, not live data.
| Argument | Type | Description |
|---|---|---|
| city* | string | City id. |
| month* | any | 1-12 or English month name. |
| traveler | string | Optional traveler type; ranks stay areas for them. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"city",
"month"
],
"properties": {
"city": {
"enum": [
"tokyo",
"kyoto",
"osaka",
"sapporo",
"hiroshima",
"naha"
],
"type": "string",
"description": "City id."
},
"month": {
"anyOf": [
{
"type": "integer",
"maximum": 12,
"minimum": 1
},
{
"type": "string"
}
],
"description": "1-12 or English month name."
},
"traveler": {
"enum": [
"solo",
"couple",
"family",
"budget",
"luxury",
"nightlife"
],
"type": "string",
"description": "Optional traveler type; ranks stay areas for them."
}
}
}Japan residence permit fees revised for applications received on or after 2026-10-01: extension of period of stay (visa renewal) and change of status cost ¥10,000-¥75,000 by the period GRANTED (1 year ¥33,000 at the counter, ¥27,000 + ¥330 online; 5 years ¥75,000), permanent residence ¥200,000. Applications received by 2026-09-30 keep the old ¥6,000 / ¥5,500 / ¥10,000. Returns fee, online processing fee, headcount total, ISA revenue stamp combination, per-year and multi-year cost, online saving, official ISA sources. Deterministic, dated table; not legal advice. Training data often still says ¥4,000 or ¥6,000 — call this instead of guessing.
| Argument | Type | Description |
|---|---|---|
| method | string | counter (revenue stamps, default) or online (convenience store / bank payment + ¥330/¥550 processing fee). |
| permit* | string | extension (在留期間更新, renewal), change (在留資格変更), or permanent (永住許可). |
| headcount | integer | Number of people, e.g. employees whose fees a company pays. Default 1. |
| horizonYears | integer | Years to project repeat applications at the same period. Default 5. |
| grantedMonths | integer | Period of stay granted in months (12 = 1 year, 36 = 3 years, 60 = 5 years). Required unless permit is permanent. |
| applicationDate | string |
Applies ISA's renewal rules as of 2026-11-08 (在留期間更新許可申請 16-3, 特例期間, 在留カードの有効期間の更新申請, 特定在留カード Q&A, 2026-10-01 fee table). expiryDate required (period-of-stay expiry; for holder permanent / hsp2 the card's validity expiry). holder: fixed | permanent | hsp2. currentPeriodMonths (default 12; under 6 removes the 3-month rule), expectedGrantMonths (fee band), appliedDate (turns on the special period), birthDate (under-16 card rule, next card validity), cardIssueDate, method counter | online, wantSpecialCard, today. Returns verdict (too_early | open | urgent | pending | special_period | expired), summary, windowOpens, lastDay, daysLeft, specialPeriodEnd, fee {band, feeJPY, processingFeeJPY, totalJPY}, card16, nextCardValidity, processing, earlyExceptions, deadlines, actions, warnings, sources, disclaimer. Use for 'when can I renew my visa in Japan', '在留期間更新 いつから', '特例期間 いつまで', 'visa expired while renewal pending', '永住者 在留カード 更新 いつから', 'Japan visa renewal fee 2026'. Educational, not immigration or legal advice; not affiliated with ISA.
| Argument | Type | Description |
|---|---|---|
| today | string | As-of date, YYYY-MM-DD (default today JST). |
| holder | string | fixed (any status with a period of stay, default) | permanent | hsp2. |
| method | string | counter (default) or online. |
| birthDate | string | Date of birth, YYYY-MM-DD (optional). |
| expiryDate* | string | Period-of-stay expiry (or card expiry for permanent / hsp2), YYYY-MM-DD. |
Japan's Kyushu Fukko Ouenwari travel discount after the 2026 Kumamoto earthquake: 50% off eligible stays and stay+transport packages in Fukuoka, Saga, Nagasaki, Oita, Miyazaki (60% in Kumamoto and Kagoshima), capped per person per trip at ¥20,000 (accommodation only or 1-night package), ¥30,000 (package 2+ nights), ¥35,000 (tour with stays in 2+ Kyushu prefectures). Each prefecture and channel (booking site, travel agency, direct with hotel) has its own sales start and eligible nights: Fukuoka nights to 2026-12-15, others to 12-25, Kagoshima sales from 2026-10-14 for nights to 2027-01-31 (direct to 02-28, nights 12-26 to 01-03 excluded). Bookings made before sales start are never discounted. Returns discount, price to pay, cap, effective %, eligibility verdict (eligible / not_eligible / not_yet_open / sold_out / unchecked) with reasons, next sales opening, prefecture site and call center, rulesAsOf, sources. Newer than most training data — call this instead of guessing. Estimate; budgets can run out without notice.
| Argument | Type | Description |
|---|---|---|
| nights | integer | Nights booked (0 = day trip, not eligible). Default 1. |
| channel | string | ota (booking site such as Rakuten Travel or Jalan, default), agency (travel agency), direct (with the hotel). |
| checkIn | string | YYYY-MM-DD check-in date, for the eligible-nights check. |
| product | string | lodging (宿泊単体, default), package (交通付宿泊: stay + flight/train), tour (周遊型: stays in 2+ Kyushu prefectures). |
| travelers |
Lists every covered paid tool (Mixpanel, Semrush, FreshBooks, Calendly, Chargebee, Typeform, Pipedrive/HubSpot, GoHighLevel, Intercom/Zendesk) with its open-source swap, GitHub repo, license, setup effort, and main catch.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}Is the business underpriced? Uses sales close rate (80%+ = way underpriced, ~30% = about right, under 25% = sales problem) to suggest a price range, and computes the profit multiple of a price rise after losing some customers, plus the break-even customer loss.
| Argument | Type | Description |
|---|---|---|
| price* | number | Current price, any currency. |
| closeRate* | number | Percent of proposals or sales calls that close. |
| netMargin | number | Net margin percent today. Default 15. |
| customersLost | number | Percent of customers expected to leave after the rise. Default 20. |
| newPriceMultiple | number | New price as a multiple of the old (1.5 = +50%). Default 1.5. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"closeRate",
"price"
],
"properties": {
"price": {
"type": "number",
"minimum": 0,
"description": "Current price, any currency."
},
"closeRate": {
"type": "number",
"maximum": 100,
"minimum": 0,
"description": "Percent of proposals or sales calls that close."
},
"netMargin": {
"type": "number",
"maximum": 99,
"minimum": 0.1,
"description": "Net margin percent today. Default 15."
},
"customersLost": {
"type": "number",
"maximum": 100,
"minimum": 0,
"description": "Percent of customers expected to leave after the rise. Default 20."
},
"newPriceMultiple": {
"type": "number",
"maximum": 10,
"minimum": 0.1,
"description": "New price as a multiple of the old (1.5 = +50%). Default 1.5."
}
}
}Paste a startup pitch (one to five sentences). Five fictional judges (Seed VC, Skeptical Customer, CTO, Your Competitor, Growth Lead) score it 1-10 with a short roast line each, then it returns a verdict (FUND IT / SHARPEN IT / REWRITE IT / ROASTED / BURNT TO A CRISP), the one change worth the most points, detected issues and strengths, and a share URL with an OG image. Deterministic, transparent rubric (specific customer, pain, numbers, traction, wedge, distribution, buzzwords, 'X for Y', blockchain), not an AI opinion. For fun and practice, not investment advice.
| Argument | Type | Description |
|---|---|---|
| pitch* | string | The pitch, one to five sentences. |
| stage | string | Optional stage. Later stages are judged harder on traction. |
| category | string | Optional category. 'crypto' softens the blockchain penalty. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"pitch"
],
"properties": {
"pitch": {
"type": "string",
"maxLength": 1000,
"minLength": 3,
"description": "The pitch, one to five sentences."
},
"stage": {
"enum": [
"idea",
"pre-seed",
"seed",
"series-a",
"growth"
],
"type": "string",
"description": "Optional stage. Later stages are judged harder on traction."
},
"category": {
"enum": [
"b2b-saas",
"consumer",
"marketplace",
"devtools",
"ai",
"fintech",
"health",
"hardware",
"climate",
"crypto",
"other"
],
"type": "string",
"description": "Optional category. 'crypto' softens the blockchain penalty."
}
}
}Give monthly spend per paid tool (ids: mixpanel, semrush, freshbooks, calendly, chargebee, typeform, pipedrive, gohighlevel, intercom). Returns the open-source swap for each (repo, license, caveat), yearly savings after hosting, setup hours and cost, break-even months, and a SWITCH / MAYBE / KEEP verdict.
| Argument | Type | Description |
|---|---|---|
| spend* | object | Map of tool id to monthly spend in dollars, e.g. {"mixpanel": 300, "intercom": 150}. |
| hourlyRate | number | Value of an hour of setup time. Default 50. |
| hostingPerMonth | number | Estimated monthly server cost to self-host. Default 20. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"spend"
],
"properties": {
"spend": {
"type": "object",
"description": "Map of tool id to monthly spend in dollars, e.g. {\"mixpanel\": 300, \"intercom\": 150}.",
"propertyNames": {
"enum": [
"mixpanel",
"semrush",
"freshbooks",
"calendly",
"chargebee",
"typeform",
"pipedrive",
"gohighlevel",
"intercom"
],
"type": "string"
},
"additionalProperties": {
"type": "number",
"minimum": 0
}
},
"hourlyRate": {
"type": "number",
"minimum": 0,
"description": "Value of an hour of setup time. Default 50."
},
"hostingPerMonth": {
"type": "number",
"minimum": 0,
"description": "Estimated monthly server cost to self-host. Default 20."
}
}
}Score a business idea on Margin, Operations, Advantage, and TAM (1-10 each). 30+ = FUND IT, 20-29 = FIX IT, under 20 = FLEE IT. Returns the weakest factor, how to fix it, and red flags from pain / money / willingness-to-suffer checks. Educational rule of thumb, not financial advice.
| Argument | Type | Description |
|---|---|---|
| tam* | number | Market size and proof that people buy, 1-10. |
| pain | boolean | Fixes a measurable pain? Default true. |
| money | boolean | Buyers have money to spend? Default true. |
| margin* | number | Net margin potential, 1-10. |
| suffer | boolean | Founder willing to push through a long build? Default true. |
| advantage* | number | Hard-to-copy edge (distribution, data, expertise), 1-10. |
| operations* | number | How easily it runs without the founder, 1-10. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"margin",
"operations",
"advantage",
"tam"
],
"properties": {
"tam": {
"type": "number",
"maximum": 10,
"minimum": 1,
"description": "Market size and proof that people buy, 1-10."
},
"pain": {
"type": "boolean",
"description": "Fixes a measurable pain? Default true."
},
"money": {
"type": "boolean",
"description": "Buyers have money to spend? Default true."
},
"margin": {
"type": "number",
"maximum": 10,
"minimum": 1,
"description": "Net margin potential, 1-10."
},
"suffer": {
"type": "boolean",
"description": "Founder willing to push through a long build? Default true."
},
"advantage": {
"type": "number",
"maximum": 10,
"minimum": 1,
"description": "Hard-to-copy edge (distribution, data, expertise), 1-10."
},
"operations": {
"type": "number",
"maximum": 10,
"minimum": 1,
"description": "How easily it runs without the founder, 1-10."
}
}
}Compares cash collected in a new customer's first 30 days with acquisition cost plus 30-day cost to serve. 2x+ = SELF-FUNDING, 1-2x = BREAK-EVEN, under 1x = CASH-HUNGRY. Returns the gap to 2x and tips.
| Argument | Type | Description |
|---|---|---|
| cac* | number | Customer acquisition cost. |
| cash30* | number | Cash collected from a new customer in their first 30 days. |
| cogs30 | number | Cost to serve that customer for 30 days. Default 0. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"cash30",
"cac"
],
"properties": {
"cac": {
"type": "number",
"minimum": 0,
"description": "Customer acquisition cost."
},
"cash30": {
"type": "number",
"minimum": 0,
"description": "Cash collected from a new customer in their first 30 days."
},
"cogs30": {
"type": "number",
"minimum": 0,
"description": "Cost to serve that customer for 30 days. Default 0."
}
}
}Patterns of how attention spreads (TikTok sound reuse, X quote-post piles, stitch chains, group-chat forwards, and more), each with the signal to watch and the lesson. Optional platform filter. Educational; attention is not an investment signal.
| Argument | Type | Description |
|---|---|---|
| platform | string | Optional platform filter, e.g. TikTok or X. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"platform": {
"type": "string",
"description": "Optional platform filter, e.g. TikTok or X."
}
}
}Without answers, returns six questions. With answers (one of chaser, inventor, reader per question), returns the user's tilt with a short explanation.
| Argument | Type | Description |
|---|---|---|
| answers | array | One tilt per question. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"answers": {
"type": "array",
"items": {
"enum": [
"chaser",
"inventor",
"reader"
],
"type": "string"
},
"maxItems": 12,
"description": "One tilt per question."
}
}
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 10, 2026.
| today |
| string |
| YYYY-MM-DD (default: today in Japan). |
| channel | string | Where guests see the rules: listing (default, House rules and requests) | message | sign | in_person. Outside the listing can't add new rules. |
| lodging | string | Japan licence: minpaku (住宅宿泊事業法) | ryokan (旅館業法: hotel, ryokan, 簡易宿所) | unknown (default). |
| bookingDate | string | YYYY-MM-DD date the reservation was booked (policy covers bookings on or after 2026-11-20). |
| jurisdiction | string | JP (default) adds Japan legal exceptions (guest register, passport copy) and notes; other = generic. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"text"
],
"properties": {
"text": {
"type": "string",
"maxLength": 8000,
"minLength": 2,
"description": "House rules / requests to check, one per line (English or Japanese). Max 8000 chars, 80 rules."
},
"today": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "YYYY-MM-DD (default: today in Japan)."
},
"channel": {
"enum": [
"listing",
"message",
"sign",
"in_person"
],
"type": "string",
"description": "Where guests see the rules: listing (default, House rules and requests) | message | sign | in_person. Outside the listing can't add new rules."
},
"lodging": {
"enum": [
"minpaku",
"ryokan",
"unknown"
],
"type": "string",
"description": "Japan licence: minpaku (住宅宿泊事業法) | ryokan (旅館業法: hotel, ryokan, 簡易宿所) | unknown (default)."
},
"bookingDate": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "YYYY-MM-DD date the reservation was booked (policy covers bookings on or after 2026-11-20)."
},
"jurisdiction": {
"enum": [
"JP",
"other"
],
"type": "string",
"description": "JP (default) adds Japan legal exceptions (guest register, passport copy) and notes; other = generic."
}
}
}| cashJPY | number | Cash (yen + foreign in yen) one person carries. |
| hnbType | string | What hnbPackages contain. Default sticks. |
| ageYears | number | Traveler age. Under 20 = no alcohol/tobacco allowance; under 6 = only items for the child. Default adult. |
| alcoholMl | number | Total alcohol volume in ml (allowance 2,280 ml per adult). |
| hnbSticks | integer | Loose IQOS / glo sticks (allowance 200). |
| perfumeMl | number | Perfume in ml (allowance about 56 ml; eau de toilette not counted). |
| perfumeOz | number | Perfume in ounces (allowance 2 oz). |
| travelers | integer | People in the same age band pooling allowances. Default 1. |
| cigarettes | integer | Cigarettes (allowance 200). |
| alcoholType | string | Drink type for the simplified rate. Default other (¥200/L). |
| hnbCapsules | integer | Ploom TECH / with capsules (allowance 50). |
| hnbPackages | integer | Heat-not-burn packs (allowance 10; 20 sticks or 5 capsules each). |
| goldBullionKg | number | Gold bullion carried in kg (over 1 kg must be declared). |
| goodsTotalJPY | number | Instead of goods: total overseas value of other articles (approximate). |
| alcoholBottles | integer | Bottles of alcohol (assumed 760 ml each unless alcoholMl is given). |
| otherTobaccoGrams | number | Pipe / other tobacco in grams (allowance 250 g). |
| boundForNorthKorea | boolean | Leaving Japan for North Korea (declaration threshold ¥100,000). |
| paymentInstrumentsJPY | number | Checks, travelers checks, promissory notes, securities in yen. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"goods": {
"type": "array",
"items": {
"type": "object",
"required": [
"valueJPY"
],
"properties": {
"forChild": {
"type": "boolean"
},
"quantity": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1
},
"valueJPY": {
"type": "number",
"exclusiveMinimum": 0
},
"description": {
"type": "string"
},
"dutyFreeTariff": {
"type": "boolean"
}
}
},
"description": "Other articles: overseas retail price of ONE article in yen, quantity, dutyFreeTariff true for watches / golf clubs / PCs, forChild for a child's items."
},
"cigars": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Cigars (allowance 50)."
},
"alcohol": {
"type": "array",
"items": {
"type": "object",
"required": [
"type"
],
"properties": {
"ml": {
"type": "number",
"minimum": 0
},
"type": {
"enum": [
"whisky",
"brandy",
"rum",
"gin",
"vodka",
"liqueur",
"distilled",
"wine",
"beer",
"other"
],
"type": "string"
},
"bottles": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
}
}
},
"description": "Several drinks: [{type, ml or bottles}]. Allowance goes to the highest-rate drink first."
},
"cashJPY": {
"type": "number",
"minimum": 0,
"description": "Cash (yen + foreign in yen) one person carries."
},
"hnbType": {
"enum": [
"sticks",
"capsules"
],
"type": "string",
"description": "What hnbPackages contain. Default sticks."
},
"ageYears": {
"type": "number",
"maximum": 120,
"minimum": 0,
"description": "Traveler age. Under 20 = no alcohol/tobacco allowance; under 6 = only items for the child. Default adult."
},
"alcoholMl": {
"type": "number",
"minimum": 0,
"description": "Total alcohol volume in ml (allowance 2,280 ml per adult)."
},
"hnbSticks": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Loose IQOS / glo sticks (allowance 200)."
},
"perfumeMl": {
"type": "number",
"minimum": 0,
"description": "Perfume in ml (allowance about 56 ml; eau de toilette not counted)."
},
"perfumeOz": {
"type": "number",
"minimum": 0,
"description": "Perfume in ounces (allowance 2 oz)."
},
"travelers": {
"type": "integer",
"maximum": 20,
"minimum": 1,
"description": "People in the same age band pooling allowances. Default 1."
},
"cigarettes": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Cigarettes (allowance 200)."
},
"alcoholType": {
"enum": [
"whisky",
"brandy",
"rum",
"gin",
"vodka",
"liqueur",
"distilled",
"wine",
"beer",
"other"
],
"type": "string",
"description": "Drink type for the simplified rate. Default other (¥200/L)."
},
"hnbCapsules": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Ploom TECH / with capsules (allowance 50)."
},
"hnbPackages": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Heat-not-burn packs (allowance 10; 20 sticks or 5 capsules each)."
},
"goldBullionKg": {
"type": "number",
"minimum": 0,
"description": "Gold bullion carried in kg (over 1 kg must be declared)."
},
"goodsTotalJPY": {
"type": "number",
"minimum": 0,
"description": "Instead of goods: total overseas value of other articles (approximate)."
},
"alcoholBottles": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Bottles of alcohol (assumed 760 ml each unless alcoholMl is given)."
},
"otherTobaccoGrams": {
"type": "number",
"minimum": 0,
"description": "Pipe / other tobacco in grams (allowance 250 g)."
},
"boundForNorthKorea": {
"type": "boolean",
"description": "Leaving Japan for North Korea (declaration threshold ¥100,000)."
},
"paymentInstrumentsJPY": {
"type": "number",
"minimum": 0,
"description": "Checks, travelers checks, promissory notes, securities in yen."
}
}
}| integer |
| Dogs. |
| adults | integer | Adults (default 1). |
| tenure | string | own (default) | rent. |
| elderly | integer | Older family members. |
| infants | integer | Babies on milk / in diapers (water only; milk and diapers listed). |
| children | integer | Children (count like adults). |
| builtYear | any | Year the home was built: 1979, 昭和54, S54, 平成12, H12. |
| haveMeals | number | Meals of stored food already on hand. |
| goBagReady | boolean | Grab bag (非常持ち出し品) packed. |
| permitDate | string | 建築確認 date on the 確認済証, YYYY-MM-DD (exact 1981-06-01 line). |
| drillJoined | boolean | Joined a local disaster drill. |
| seismicDone | boolean | Already had a passing 耐震診断 or a retrofit. |
| buildingType | string | wood (木造 house) | non_wood (RC / steel, most マンション) | unknown (default). |
| furnitureFixed | boolean | Tall furniture and appliances are fixed. |
| haveToiletUses | number | Portable / emergency toilet uses (bags) already on hand. |
| haveWaterLiters | number | Drinking water already stored, litres. |
| hazardMapChecked | boolean | Checked hazard maps for home and work. |
| evacuationRouteChecked | boolean | Knows the evacuation site and route. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"cats": {
"type": "integer",
"maximum": 30,
"minimum": 0,
"description": "Cats."
},
"days": {
"type": "integer",
"maximum": 30,
"minimum": 1,
"description": "Days to stock for (default 7; minimum 3 per the request)."
},
"dogs": {
"type": "integer",
"maximum": 30,
"minimum": 0,
"description": "Dogs."
},
"adults": {
"type": "integer",
"maximum": 30,
"minimum": 0,
"description": "Adults (default 1)."
},
"tenure": {
"enum": [
"own",
"rent"
],
"type": "string",
"description": "own (default) | rent."
},
"elderly": {
"type": "integer",
"maximum": 30,
"minimum": 0,
"description": "Older family members."
},
"infants": {
"type": "integer",
"maximum": 30,
"minimum": 0,
"description": "Babies on milk / in diapers (water only; milk and diapers listed)."
},
"children": {
"type": "integer",
"maximum": 30,
"minimum": 0,
"description": "Children (count like adults)."
},
"builtYear": {
"anyOf": [
{
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
},
{
"type": "string"
}
],
"description": "Year the home was built: 1979, 昭和54, S54, 平成12, H12."
},
"haveMeals": {
"type": "number",
"minimum": 0,
"description": "Meals of stored food already on hand."
},
"goBagReady": {
"type": "boolean",
"description": "Grab bag (非常持ち出し品) packed."
},
"permitDate": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "建築確認 date on the 確認済証, YYYY-MM-DD (exact 1981-06-01 line)."
},
"drillJoined": {
"type": "boolean",
"description": "Joined a local disaster drill."
},
"seismicDone": {
"type": "boolean",
"description": "Already had a passing 耐震診断 or a retrofit."
},
"buildingType": {
"enum": [
"wood",
"non_wood",
"unknown"
],
"type": "string",
"description": "wood (木造 house) | non_wood (RC / steel, most マンション) | unknown (default)."
},
"furnitureFixed": {
"type": "boolean",
"description": "Tall furniture and appliances are fixed."
},
"haveToiletUses": {
"type": "number",
"minimum": 0,
"description": "Portable / emergency toilet uses (bags) already on hand."
},
"haveWaterLiters": {
"type": "number",
"minimum": 0,
"description": "Drinking water already stored, litres."
},
"hazardMapChecked": {
"type": "boolean",
"description": "Checked hazard maps for home and work."
},
"evacuationRouteChecked": {
"type": "boolean",
"description": "Knows the evacuation site and route."
}
}
}| trips | string | Residents: trips abroad since entryDate as left_returned pairs, comma separated, e.g. '2026-08-01_2026-09-10,2026-12-20_2027-01-05'. |
| country* | string | Country/region that issued the driver's license: ISO code (US, GB, CN, TW, DE, HK…) or English/Japanese name. |
| usState | string | US licenses: issuing state code, e.g. WA, HI, CA (matters for conversion tests). |
| document | string | What the driver holds. auto (default) = tell me what's needed. |
| entryDate | string | YYYY-MM-DD landing date in Japan (residents: landing that started the count). |
| residency | string | visitor = tourist/short-term (default); resident = residence card, on 住民票; japanese_abroad = Japanese national living abroad. |
| idpIssueDate | string | YYYY-MM-DD date the IDP was issued (valid 1 year). |
| licenseExpiry | string | YYYY-MM-DD expiry of the home license. |
| monthsInIssuingCountry | number | Conversion: total months lived in the issuing country after getting the license (3+ needed). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"country"
],
"properties": {
"age": {
"type": "number",
"maximum": 120,
"minimum": 0,
"description": "Driver's age."
},
"today": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "YYYY-MM-DD date to check (default: today in Japan)."
},
"trips": {
"type": "string",
"maxLength": 400,
"description": "Residents: trips abroad since entryDate as left_returned pairs, comma separated, e.g. '2026-08-01_2026-09-10,2026-12-20_2027-01-05'."
},
"country": {
"type": "string",
"maxLength": 60,
"minLength": 2,
"description": "Country/region that issued the driver's license: ISO code (US, GB, CN, TW, DE, HK…) or English/Japanese name."
},
"usState": {
"type": "string",
"maxLength": 30,
"description": "US licenses: issuing state code, e.g. WA, HI, CA (matters for conversion tests)."
},
"document": {
"enum": [
"auto",
"idp",
"translation",
"license_only",
"japanese_license"
],
"type": "string",
"description": "What the driver holds. auto (default) = tell me what's needed."
},
"entryDate": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "YYYY-MM-DD landing date in Japan (residents: landing that started the count)."
},
"residency": {
"enum": [
"visitor",
"resident",
"japanese_abroad"
],
"type": "string",
"description": "visitor = tourist/short-term (default); resident = residence card, on 住民票; japanese_abroad = Japanese national living abroad."
},
"idpIssueDate": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "YYYY-MM-DD date the IDP was issued (valid 1 year)."
},
"licenseExpiry": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "YYYY-MM-DD expiry of the home license."
},
"monthsInIssuingCountry": {
"type": "number",
"maximum": 1200,
"minimum": 0,
"description": "Conversion: total months lived in the issuing country after getting the license (3+ needed)."
}
}
}| string |
| City / ward of the visitor's address in Japan, e.g. himeji, kagoshima, Sakyo-ku, 姫路市. Needed for city-resident prices. |
| date | string | YYYY-MM-DD visit date. Default today in Japan. Before a scheme's start the old single price applies. |
| places | string | Comma-separated place ids or names, e.g. 'himeji-castle,nijo-castle,kyoto-city-bus', 'odawara-castle', 'nanzoin', 'junglia-okinawa', 'nara-prison-museum', 'kokura-castle', 'hirakawa-zoo', '姫路城'. Omit to list every tracked place (see https://japan-dual-pricing.vercel.app/api/rules). |
| status | string | Only when places is omitted: filter by status (default all). |
| residence | string | Where the visitor lives: overseas (default, tourist from abroad) or japan (any nationality with an address in Japan). Implied japan if prefecture or city is given. |
| prefecture | string | Prefecture of the visitor's address in Japan (slug or name, e.g. kyoto, hyogo, 兵庫県). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"age": {
"type": "integer",
"maximum": 120,
"minimum": 0,
"description": "Visitor age; some places are free for minors (Himeji under 18, Nanzoin under 19)."
},
"area": {
"type": "string",
"description": "Only when places is omitted: filter by prefecture, e.g. kagoshima, kyoto."
},
"city": {
"type": "string",
"description": "City / ward of the visitor's address in Japan, e.g. himeji, kagoshima, Sakyo-ku, 姫路市. Needed for city-resident prices."
},
"date": {
"type": "string",
"description": "YYYY-MM-DD visit date. Default today in Japan. Before a scheme's start the old single price applies."
},
"places": {
"type": "string",
"description": "Comma-separated place ids or names, e.g. 'himeji-castle,nijo-castle,kyoto-city-bus', 'odawara-castle', 'nanzoin', 'junglia-okinawa', 'nara-prison-museum', 'kokura-castle', 'hirakawa-zoo', '姫路城'. Omit to list every tracked place (see https://japan-dual-pricing.vercel.app/api/rules)."
},
"status": {
"enum": [
"all",
"live",
"announced",
"under_review",
"not_adopted"
],
"type": "string",
"description": "Only when places is omitted: filter by status (default all)."
},
"residence": {
"enum": [
"overseas",
"japan"
],
"type": "string",
"description": "Where the visitor lives: overseas (default, tourist from abroad) or japan (any nationality with an address in Japan). Implied japan if prefecture or city is given."
},
"prefecture": {
"type": "string",
"description": "Prefecture of the visitor's address in Japan (slug or name, e.g. kyoto, hyogo, 兵庫県)."
}
}
}| text |
| string |
| The alert text as received, Japanese or English, e.g. '緊急地震速報 強い揺れに備えてください', 'レベル4土砂災害危険警報', '【警戒レベル4】避難指示', '大津波警報 10m超', '先ほど発表した緊急地震速報を取り消します', 'Missile launch'. Give text or alert. |
| alert | string | Instead of text: an alert id from https://japan-alert-decoder.vercel.app/api/rules, e.g. eew-warning, eew-cancel, major-tsunami-warning, tsunami-advisory, l4-landslide, l5-heavy-rain, l3-flood, evac-l4, bulletin-linear-rainband, nankai-megaquake-advisory, missile, heat-alert, volcano-l3. |
| situation | string | Where the person is, to put situation-specific actions first (earthquake, tsunami, missile, rain). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"lang": {
"enum": [
"ja",
"en",
"zh-CN",
"zh-TW",
"ko",
"pt",
"es",
"id",
"vi",
"tl",
"th",
"ne",
"km",
"my",
"mn"
],
"type": "string",
"description": "Language for nameLocal (official JMA dictionary name). Default en; explanations are in English."
},
"text": {
"type": "string",
"maxLength": 4000,
"description": "The alert text as received, Japanese or English, e.g. '緊急地震速報 強い揺れに備えてください', 'レベル4土砂災害危険警報', '【警戒レベル4】避難指示', '大津波警報 10m超', '先ほど発表した緊急地震速報を取り消します', 'Missile launch'. Give text or alert."
},
"alert": {
"type": "string",
"description": "Instead of text: an alert id from https://japan-alert-decoder.vercel.app/api/rules, e.g. eew-warning, eew-cancel, major-tsunami-warning, tsunami-advisory, l4-landslide, l5-heavy-rain, l3-flood, evac-l4, bulletin-linear-rainband, nankai-megaquake-advisory, missile, heat-alert, volcano-l3."
},
"situation": {
"enum": [
"indoors",
"outdoors",
"driving",
"train",
"elevator",
"crowd",
"coast",
"mountain"
],
"type": "string",
"description": "Where the person is, to put situation-specific actions first (earthquake, tsunami, missile, rain)."
}
}
}| university (incl. graduate school, junior college) | vocational (専門学校 / 専門士) | language_school | other. Default university. |
| offerDate | string | Job offer (内定) date, YYYY-MM-DD. |
| appliedDate | string | Date already filed, YYYY-MM-DD. |
| jobStartDate | string | Job start date, YYYY-MM-DD (required for job_offer). |
| studentExpiry | string | 留学 period-of-stay expiry on the residence card, YYYY-MM-DD. |
| graduationDate* | string | (Expected) graduation day, YYYY-MM-DD. |
| foreignBachelor | boolean | Language-school students: holds a foreign bachelor's degree. |
| expectedGrantMonths | number | Period expected to be granted, for the fee (default 12; job hunting 6). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"graduationDate"
],
"properties": {
"plan": {
"enum": [
"job_offer",
"job_hunting",
"leaving",
"further_study"
],
"type": "string",
"description": "What happens after graduation (default job_offer if jobStartDate is given, else job_hunting)."
},
"today": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "As-of date, YYYY-MM-DD (default today JST)."
},
"method": {
"enum": [
"counter",
"online"
],
"type": "string",
"description": "counter (default) or online."
},
"school": {
"enum": [
"university",
"vocational",
"language_school",
"other"
],
"type": "string",
"description": "university (incl. graduate school, junior college) | vocational (専門学校 / 専門士) | language_school | other. Default university."
},
"offerDate": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Job offer (内定) date, YYYY-MM-DD."
},
"appliedDate": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Date already filed, YYYY-MM-DD."
},
"jobStartDate": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Job start date, YYYY-MM-DD (required for job_offer)."
},
"studentExpiry": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "留学 period-of-stay expiry on the residence card, YYYY-MM-DD."
},
"graduationDate": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "(Expected) graduation day, YYYY-MM-DD."
},
"foreignBachelor": {
"type": "boolean",
"description": "Language-school students: holds a foreign bachelor's degree."
},
"expectedGrantMonths": {
"type": "number",
"maximum": 120,
"minimum": 1,
"description": "Period expected to be granted, for the fee (default 12; job hunting 6)."
}
}
}| number |
| Insured copay paid at the counter (窓口負担) in yen; give this or totalCost. |
| month | string | Treatment month YYYY-MM (default this month JST); picks the schedule. |
| months | any | Yearly tracker: [{month, totalCost|copay, setting}] or '2026-08:300000,2026-09:300000'. |
| setting | string | inpatient / household total (default) or outpatient (70+ outpatient-only cap). |
| ageGroup | string | under70 (default) or 70plus (70–74 and 75+ 後期高齢者). |
| manyTimes | boolean | Already had a benefit in 3+ of the last 12 months (多数回). |
| nhiIncome | number | NHI 旧ただし書き所得 (household) in yen. |
| totalCost | number | 10割 total medical cost (総医療費) in yen. |
| burdenRate | number | Copay rate 0.1 / 0.2 / 0.3 (default by age and band). |
| nonTaxable | boolean | Resident-tax exempt household (住民税非課税). |
| annualIncome | number | Rough annual income (年収) in yen. |
| taxableIncome | number | 70+: 課税所得 in yen. |
| priorHitMonths | integer | Benefit months in the 12 months before. |
| standardMonthlyRemuneration | number | Employee insurance 標準報酬月額 in yen (e.g. 300000). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"band": {
"enum": [
"y1650",
"y1410",
"y1160",
"y1040",
"y950",
"y770",
"y650",
"y510",
"y370",
"y260",
"y200",
"y0",
"nontaxable",
"nontaxable_low"
],
"type": "string",
"description": "Income band (y370 = income about ¥3.7M–5.1M)."
},
"copay": {
"type": "number",
"minimum": 0,
"description": "Insured copay paid at the counter (窓口負担) in yen; give this or totalCost."
},
"month": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}$",
"description": "Treatment month YYYY-MM (default this month JST); picks the schedule."
},
"months": {
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"required": [
"month"
],
"properties": {
"copay": {
"type": "number",
"minimum": 0
},
"month": {
"type": "string"
},
"setting": {
"enum": [
"inpatient",
"outpatient"
],
"type": "string"
},
"totalCost": {
"type": "number",
"minimum": 0
}
}
},
"maxItems": 36
},
{
"type": "string"
}
],
"description": "Yearly tracker: [{month, totalCost|copay, setting}] or '2026-08:300000,2026-09:300000'."
},
"setting": {
"enum": [
"inpatient",
"outpatient"
],
"type": "string",
"description": "inpatient / household total (default) or outpatient (70+ outpatient-only cap)."
},
"ageGroup": {
"enum": [
"under70",
"70plus"
],
"type": "string",
"description": "under70 (default) or 70plus (70–74 and 75+ 後期高齢者)."
},
"manyTimes": {
"type": "boolean",
"description": "Already had a benefit in 3+ of the last 12 months (多数回)."
},
"nhiIncome": {
"type": "number",
"minimum": 0,
"description": "NHI 旧ただし書き所得 (household) in yen."
},
"totalCost": {
"type": "number",
"minimum": 0,
"description": "10割 total medical cost (総医療費) in yen."
},
"burdenRate": {
"type": "number",
"description": "Copay rate 0.1 / 0.2 / 0.3 (default by age and band)."
},
"nonTaxable": {
"type": "boolean",
"description": "Resident-tax exempt household (住民税非課税)."
},
"annualIncome": {
"type": "number",
"minimum": 0,
"description": "Rough annual income (年収) in yen."
},
"taxableIncome": {
"type": "number",
"minimum": 0,
"description": "70+: 課税所得 in yen."
},
"priorHitMonths": {
"type": "integer",
"maximum": 11,
"minimum": 0,
"description": "Benefit months in the 12 months before."
},
"standardMonthlyRemuneration": {
"type": "number",
"minimum": 0,
"description": "Employee insurance 標準報酬月額 in yen (e.g. 300000)."
}
}
}| boolean |
| Employer is an SME (only adds with innovationSupport). |
| category* | string | academic (HSP i-a: research / teaching) | specialized (HSP i-b: engineer, specialist, most employees) | management (HSP i-c: executive / business owner). |
| japanese | string | n1 (JLPT N1 / BJT 480+ / Japanese major abroad, 15) | n2 (JLPT N2 / BJT 400+, 10) | none. |
| position | string | Management: representative (代表取締役 etc.) | officer (取締役 / 執行役) | none. |
| birthDate | string | YYYY-MM-DD, used with applicationDate when age is not given. |
| education* | string | Highest degree: doctor | mba (MBA / MOT professional degree) | master (incl. other professional degrees) | bachelor | none. |
| annualSalary | number | Expected annual pay in Japan in yen incl. bonuses (e.g. 7500000). Give this or annualSalaryMan. |
| jicaTraining | boolean | Completed JICA Innovative Asia training (5). |
| growthProject | boolean | Ministry-certified advanced project in a growth field (10). |
| researchItems | integer | Kinds of research achievement (patent, 3+ foreign-government grants, 3+ papers as corresponding author, other). |
| topUniversity | boolean | Degree from a designated top university (10). |
| japaneseDegree | boolean | Graduated from a Japanese university or graduate course (10). |
| qualifications | integer | Specialized: related Japanese national qualifications / ISA-listed IT exams (1 → 5, 2+ → 10). |
| annualSalaryMan | number | Same, in 万円 (e.g. 750). |
| applicationDate | string | YYYY-MM-DD (default: today in Japan). |
| experienceYears | number | Years of relevant experience (research/teaching, the job's field, or business management). |
| localGovSupport | boolean | Employer gets local-government support for hiring highly skilled foreigners (10). |
| multipleDegrees | boolean | Doctor / master / professional degrees in two or more fields (+5). |
| smeResearch3pct | boolean | SME employer with R&D over 3% of revenue (5). |
| innovationSupport | boolean | Employer receives a listed innovation-support measure (10; 20 with sme). |
| foreignQualification | boolean | Work-related foreign qualification / award (5). |
| investmentManagement | boolean | Specialized / management: investment-management work (10). |
| personalInvestment100m | boolean | Management: invests ¥100M+ in the business (5). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"category",
"education"
],
"properties": {
"age": {
"type": "integer",
"maximum": 100,
"minimum": 15,
"description": "Age on the application date (academic / specialized). Or give birthDate."
},
"sme": {
"type": "boolean",
"description": "Employer is an SME (only adds with innovationSupport)."
},
"category": {
"enum": [
"academic",
"specialized",
"management"
],
"type": "string",
"description": "academic (HSP i-a: research / teaching) | specialized (HSP i-b: engineer, specialist, most employees) | management (HSP i-c: executive / business owner)."
},
"japanese": {
"enum": [
"n1",
"n2",
"none"
],
"type": "string",
"description": "n1 (JLPT N1 / BJT 480+ / Japanese major abroad, 15) | n2 (JLPT N2 / BJT 400+, 10) | none."
},
"position": {
"enum": [
"representative",
"officer",
"none"
],
"type": "string",
"description": "Management: representative (代表取締役 etc.) | officer (取締役 / 執行役) | none."
},
"birthDate": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "YYYY-MM-DD, used with applicationDate when age is not given."
},
"education": {
"enum": [
"doctor",
"mba",
"master",
"bachelor",
"none"
],
"type": "string",
"description": "Highest degree: doctor | mba (MBA / MOT professional degree) | master (incl. other professional degrees) | bachelor | none."
},
"annualSalary": {
"type": "number",
"minimum": 0,
"description": "Expected annual pay in Japan in yen incl. bonuses (e.g. 7500000). Give this or annualSalaryMan."
},
"jicaTraining": {
"type": "boolean",
"description": "Completed JICA Innovative Asia training (5)."
},
"growthProject": {
"type": "boolean",
"description": "Ministry-certified advanced project in a growth field (10)."
},
"researchItems": {
"type": "integer",
"maximum": 4,
"minimum": 0,
"description": "Kinds of research achievement (patent, 3+ foreign-government grants, 3+ papers as corresponding author, other)."
},
"topUniversity": {
"type": "boolean",
"description": "Degree from a designated top university (10)."
},
"japaneseDegree": {
"type": "boolean",
"description": "Graduated from a Japanese university or graduate course (10)."
},
"qualifications": {
"type": "integer",
"maximum": 10,
"minimum": 0,
"description": "Specialized: related Japanese national qualifications / ISA-listed IT exams (1 → 5, 2+ → 10)."
},
"annualSalaryMan": {
"type": "number",
"minimum": 0,
"description": "Same, in 万円 (e.g. 750)."
},
"applicationDate": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "YYYY-MM-DD (default: today in Japan)."
},
"experienceYears": {
"type": "number",
"minimum": 0,
"description": "Years of relevant experience (research/teaching, the job's field, or business management)."
},
"localGovSupport": {
"type": "boolean",
"description": "Employer gets local-government support for hiring highly skilled foreigners (10)."
},
"multipleDegrees": {
"type": "boolean",
"description": "Doctor / master / professional degrees in two or more fields (+5)."
},
"smeResearch3pct": {
"type": "boolean",
"description": "SME employer with R&D over 3% of revenue (5)."
},
"innovationSupport": {
"type": "boolean",
"description": "Employer receives a listed innovation-support measure (10; 20 with sme)."
},
"foreignQualification": {
"type": "boolean",
"description": "Work-related foreign qualification / award (5)."
},
"investmentManagement": {
"type": "boolean",
"description": "Specialized / management: investment-management work (10)."
},
"personalInvestment100m": {
"type": "boolean",
"description": "Management: invests ¥100M+ in the business (5)."
}
}
}| string |
| YYYY-MM-DD the item is posted. Up to 2027-01-31 current prices apply, from 2027-02-01 revised. Default today in Japan. |
| weightKg | number | Weight in kg, instead of weightGrams. |
| destination | string | Destination country: ISO code (US, GB, AU, CN…) or English / Japanese name (アメリカ, イギリス, 香港). Give this or zone. |
| weightGrams | number | Weight in grams incl. packaging (rounded up to the price band). Not needed for service postcard_air. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"zone": {
"type": "integer",
"maximum": 5,
"minimum": 1,
"description": "Japan Post zone 1–5 if the country is not known."
},
"items": {
"type": "integer",
"maximum": 10000,
"minimum": 1,
"description": "Parcels posted together (for the 2027 same-time discount note)."
},
"service": {
"enum": [
"ems",
"parcel_air",
"parcel_sal",
"parcel_surface",
"small_packet_air",
"airpacket",
"letter_standard_air",
"postcard_air"
],
"type": "string",
"description": "Quote only this service. Default: every service the weight fits."
},
"shipDate": {
"type": "string",
"description": "YYYY-MM-DD the item is posted. Up to 2027-01-31 current prices apply, from 2027-02-01 revised. Default today in Japan."
},
"weightKg": {
"type": "number",
"maximum": 30,
"minimum": 0.001,
"description": "Weight in kg, instead of weightGrams."
},
"destination": {
"type": "string",
"description": "Destination country: ISO code (US, GB, AU, CN…) or English / Japanese name (アメリカ, イギリス, 香港). Give this or zone."
},
"weightGrams": {
"type": "number",
"maximum": 30000,
"minimum": 1,
"description": "Weight in grams incl. packaging (rounded up to the price band). Not needed for service postcard_air."
}
}
}| today | string | As-of date, YYYY-MM-DD (default today JST). |
| bjtScore | number | BJT Business Japanese score. |
| jftBasic | boolean | Passed JFT-Basic (A2). |
| applyDate | string | Planned application date, YYYY-MM-DD (default today). |
| titp2Care | boolean | That TITP (ii) was in nursing care. |
| yearsInJapan | number | Years living in Japan as a mid/long-term resident. |
| japaneseDegree | boolean | Degree from a Japanese university / graduate school. |
| careJapaneseTest | boolean | Passed the Care Japanese Language Evaluation Test. |
| japaneseHigherEd | boolean | Graduated from a Japanese 専門学校, 高専 or junior college. |
| japaneseHighSchool | boolean | Japanese compulsory education + Japanese high school. |
| japaneseMajorAbroad | boolean | Majored in Japanese at a foreign university. |
| japaneseSchooling6y | boolean | 6+ years of primary/secondary school in Japan. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"hsp": {
"type": "boolean",
"description": "HSP holder or HSP family member."
},
"level": {
"enum": [
"n1",
"n2",
"n3",
"n4",
"n5",
"none"
],
"type": "string",
"description": "Highest JLPT level passed (default none)."
},
"score": {
"type": "number",
"maximum": 180,
"minimum": 0,
"description": "JLPT total score (総合得点) on that level, for the CEFR reference."
},
"titp2": {
"type": "boolean",
"description": "Completed Technical Intern Training (ii) in good standing."
},
"today": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "As-of date, YYYY-MM-DD (default today JST)."
},
"bjtScore": {
"type": "number",
"maximum": 800,
"minimum": 0,
"description": "BJT Business Japanese score."
},
"jftBasic": {
"type": "boolean",
"description": "Passed JFT-Basic (A2)."
},
"applyDate": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Planned application date, YYYY-MM-DD (default today)."
},
"titp2Care": {
"type": "boolean",
"description": "That TITP (ii) was in nursing care."
},
"yearsInJapan": {
"type": "number",
"maximum": 120,
"minimum": 0,
"description": "Years living in Japan as a mid/long-term resident."
},
"japaneseDegree": {
"type": "boolean",
"description": "Degree from a Japanese university / graduate school."
},
"careJapaneseTest": {
"type": "boolean",
"description": "Passed the Care Japanese Language Evaluation Test."
},
"japaneseHigherEd": {
"type": "boolean",
"description": "Graduated from a Japanese 専門学校, 高専 or junior college."
},
"japaneseHighSchool": {
"type": "boolean",
"description": "Japanese compulsory education + Japanese high school."
},
"japaneseMajorAbroad": {
"type": "boolean",
"description": "Majored in Japanese at a foreign university."
},
"japaneseSchooling6y": {
"type": "boolean",
"description": "6+ years of primary/secondary school in Japan."
}
}
}| boolean |
| Override National Pension switch need. |
| hasNewJob | boolean | Already have a next employer. |
| healthPlan | string | Health coverage plan. |
| jobEndDate* | string | Last day of employment, YYYY-MM-DD. |
| insuredMonths | number | Employment-insurance insured months in the look-back window. |
| lookingForWork | boolean | Able and willing to work / job seeking (default true). |
| newJobStartDate | string | New job start date, YYYY-MM-DD. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"jobEndDate"
],
"properties": {
"age": {
"type": "number",
"maximum": 75,
"minimum": 15,
"description": "Age 15–75."
},
"today": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "As-of date, YYYY-MM-DD (default today JST)."
},
"reason": {
"enum": [
"company",
"self",
"contract_end",
"other"
],
"type": "string",
"description": "Why the job ended (default self)."
},
"status": {
"enum": [
"work",
"student",
"dependent",
"pr_spr",
"designated",
"other"
],
"type": "string",
"description": "Status of residence (default work)."
},
"under60": {
"type": "boolean",
"description": "Override National Pension switch need."
},
"hasNewJob": {
"type": "boolean",
"description": "Already have a next employer."
},
"healthPlan": {
"enum": [
"undecided",
"voluntary_continue",
"national",
"family",
"new_employer"
],
"type": "string",
"description": "Health coverage plan."
},
"jobEndDate": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Last day of employment, YYYY-MM-DD."
},
"insuredMonths": {
"type": "number",
"maximum": 600,
"minimum": 0,
"description": "Employment-insurance insured months in the look-back window."
},
"lookingForWork": {
"type": "boolean",
"description": "Able and willing to work / job seeking (default true)."
},
"newJobStartDate": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "New job start date, YYYY-MM-DD."
}
}
}| plan | string | leave (moving abroad for a year or more, files a 転出届; default) | short (trip under a year, keeps the address). |
| today | string | Override today's date (default: today in Japan). |
| payMethod | string | How 住民税 is paid: salary (payroll, 特別徴収) | self (bills, 普通徴収) | none. Default from employment. |
| employment | string | employee (default) | self_employed | none. |
| jobEndDate | string | Job end date (default: departureDate); decides the final-salary lump-sum rule. |
| arrivalDate | string | When you first registered an address in Japan (default: before January 1 of the departure year). |
| hasTaxAgent | boolean | Will appoint a tax agent (納税管理人). |
| nationality | string | foreign (default) | japanese (pension lump sum / residence card only for foreign nationals). |
| departureDate* | string | The day you leave Japan, YYYY-MM-DD. |
| pensionMonths | number | Months of Japanese pension contributions (6–119 → lump-sum claim deadline). |
| incomeLastYear | boolean | Had taxable income last calendar year (default true). |
| needsTaxReturn | boolean | Needs an income tax return this year (side income > ¥200k, salary > ¥20M, self-employed, two employers…). Default: true only for self_employed. |
| securities100M | boolean | Holds ¥100M+ in securities etc. → exit-tax (国外転出時課税) flag. |
| incomeAfterLeaving | boolean | Japan-source income after leaving (rent, property sale) → tax agent needed. |
| prevYearReturnPending | boolean | Leaving January 1 – March 15 with last year's return not yet filed. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"departureDate"
],
"properties": {
"plan": {
"enum": [
"leave",
"short"
],
"type": "string",
"description": "leave (moving abroad for a year or more, files a 転出届; default) | short (trip under a year, keeps the address)."
},
"today": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Override today's date (default: today in Japan)."
},
"payMethod": {
"enum": [
"salary",
"self",
"none"
],
"type": "string",
"description": "How 住民税 is paid: salary (payroll, 特別徴収) | self (bills, 普通徴収) | none. Default from employment."
},
"employment": {
"enum": [
"employee",
"self_employed",
"none"
],
"type": "string",
"description": "employee (default) | self_employed | none."
},
"jobEndDate": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Job end date (default: departureDate); decides the final-salary lump-sum rule."
},
"arrivalDate": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "When you first registered an address in Japan (default: before January 1 of the departure year)."
},
"hasTaxAgent": {
"type": "boolean",
"description": "Will appoint a tax agent (納税管理人)."
},
"nationality": {
"enum": [
"foreign",
"japanese"
],
"type": "string",
"description": "foreign (default) | japanese (pension lump sum / residence card only for foreign nationals)."
},
"departureDate": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "The day you leave Japan, YYYY-MM-DD."
},
"pensionMonths": {
"type": "number",
"minimum": 0,
"description": "Months of Japanese pension contributions (6–119 → lump-sum claim deadline)."
},
"incomeLastYear": {
"type": "boolean",
"description": "Had taxable income last calendar year (default true)."
},
"needsTaxReturn": {
"type": "boolean",
"description": "Needs an income tax return this year (side income > ¥200k, salary > ¥20M, self-employed, two employers…). Default: true only for self_employed."
},
"securities100M": {
"type": "boolean",
"description": "Holds ¥100M+ in securities etc. → exit-tax (国外転出時課税) flag."
},
"incomeAfterLeaving": {
"type": "boolean",
"description": "Japan-source income after leaving (rent, property sale) → tax agent needed."
},
"prevYearReturnPending": {
"type": "boolean",
"description": "Leaving January 1 – March 15 with last year's return not yet filed."
}
}
}| place | string | Where it was lost (default unknown). |
| today | string | As-of date, YYYY-MM-DD (default today JST). |
| cashJPY | number | Cash inside in yen (≥ ¥100,000 → 1-week high-value rule). |
| visitor | boolean | Leaving Japan soon (adds overseas contact / proxy / shipping steps). |
| lostDate | string | Date lost, YYYY-MM-DD (default today JST). |
| operator | string | Operator for a direct lost-and-found contact (shinkansen → jr_central, taxi → tokyo_taxi by default). |
| valueJPY | number | Value of the item(s) in yen → reward range. |
| prefecture | string | Prefecture in romaji (tokyo, osaka, kyoto…) for the police found-items search. |
| noticedDate | string | Date the loss was noticed (residence card 14 days run from here). |
| departureDate | string | Date leaving Japan, YYYY-MM-DD. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"items": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
},
"maxItems": 12
},
{
"type": "string"
}
],
"description": "Lost item(s): wallet, cash, phone, passport, residence_card, mynumber_card, credit_card, ic_card, drivers_license, keys, bag, laptop, camera, jewelry, umbrella, clothing, other."
},
"place": {
"enum": [
"train",
"subway",
"shinkansen",
"bus",
"taxi",
"airport",
"plane",
"shop",
"hotel",
"street",
"unknown"
],
"type": "string",
"description": "Where it was lost (default unknown)."
},
"today": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "As-of date, YYYY-MM-DD (default today JST)."
},
"cashJPY": {
"type": "number",
"minimum": 0,
"description": "Cash inside in yen (≥ ¥100,000 → 1-week high-value rule)."
},
"visitor": {
"type": "boolean",
"description": "Leaving Japan soon (adds overseas contact / proxy / shipping steps)."
},
"lostDate": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Date lost, YYYY-MM-DD (default today JST)."
},
"operator": {
"enum": [
"jr_east",
"jr_central",
"jr_west",
"tokyo_metro",
"toei",
"osaka_metro",
"tokyo_taxi",
"narita",
"haneda",
"kansai",
"other",
"unknown"
],
"type": "string",
"description": "Operator for a direct lost-and-found contact (shinkansen → jr_central, taxi → tokyo_taxi by default)."
},
"valueJPY": {
"type": "number",
"minimum": 0,
"description": "Value of the item(s) in yen → reward range."
},
"prefecture": {
"type": "string",
"description": "Prefecture in romaji (tokyo, osaka, kyoto…) for the police found-items search."
},
"noticedDate": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Date the loss was noticed (residence card 14 days run from here)."
},
"departureDate": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Date leaving Japan, YYYY-MM-DD."
}
}
}| totalCm | number | Length + width + height in cm if only the total is known. |
| widthCm | number | Outside width in cm. |
| heightCm | number | Outside depth in cm. |
| lengthCm | number | Outside length in cm incl. wheels/handles (with widthCm + heightCm), or use totalCm. |
| weightKg | number | Packed weight in kg (Yamato uses the larger of size and weight class). |
| departureDate | string | YYYY-MM-DD flight date when sending to an airport; returns the send-by date. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"to": {
"type": "string",
"description": "Destination prefecture/city, or airport id: haneda, narita, kix, itami, centrair, new-chitose, fukuoka-airport, naha-airport."
},
"from": {
"type": "string",
"description": "Origin prefecture or city (tokyo, kyoto, hakone, 東京都)."
},
"line": {
"enum": [
"tokaido",
"sanyo",
"kyushu",
"nishi-kyushu",
"tohoku",
"hokkaido",
"joetsu",
"hokuriku",
"yamagata",
"akita",
"none"
],
"type": "string",
"description": "Shinkansen line you will ride. Default tokaido."
},
"pieces": {
"type": "integer",
"maximum": 20,
"minimum": 1,
"description": "Number of identical bags. Default 1."
},
"dropOff": {
"type": "boolean",
"description": "true if you bring the bag to a Yamato office or convenience store (¥100 off)."
},
"payment": {
"enum": [
"cash",
"cashless"
],
"type": "string",
"description": "cash (default) or cashless (card / QR / e-money, cheaper)."
},
"totalCm": {
"type": "number",
"description": "Length + width + height in cm if only the total is known.",
"exclusiveMinimum": 0
},
"widthCm": {
"type": "number",
"description": "Outside width in cm.",
"exclusiveMinimum": 0
},
"heightCm": {
"type": "number",
"description": "Outside depth in cm.",
"exclusiveMinimum": 0
},
"lengthCm": {
"type": "number",
"description": "Outside length in cm incl. wheels/handles (with widthCm + heightCm), or use totalCm.",
"exclusiveMinimum": 0
},
"weightKg": {
"type": "number",
"description": "Packed weight in kg (Yamato uses the larger of size and weight class).",
"exclusiveMinimum": 0
},
"departureDate": {
"type": "string",
"description": "YYYY-MM-DD flight date when sending to an airport; returns the send-by date."
}
}
}| string |
| YYYY-MM-DD (default: today in Japan). |
| holder* | string | mid_long = foreign resident with a period of stay (work, student, spouse, dependent, etc.) | permanent | hsp2 (Highly Skilled Professional ii) | spr (special permanent resident) | japanese. |
| renewal | string | Visa renewal / change of status: none (default) | pending (applied, no decision yet) | granted (new residence card received). |
| birthDate* | string | YYYY-MM-DD date of birth. |
| cardExpiry | string | Optional YYYY-MM-DD expiry printed on the card (overrides the calculation). |
| ecertExpiry | string | Optional YYYY-MM-DD electronic-certificate expiry, if known. |
| specificCard | boolean | true if the card is a 特定在留カード (combined residence card + My Number Card, since 2026-06-14). |
| cardIssueDate* | string | YYYY-MM-DD date the current card was made (作成日 / issue date). |
| issuedAsRenewal | boolean | true if the card was made in the 3-month renewal window (runs to the 11th / 6th birthday). |
| residenceExpiry | string | mid_long: YYYY-MM-DD period-of-stay expiry the card currently shows (在留期間の満了日). Required for mid_long. |
| newResidenceExpiry | string | renewal=granted: YYYY-MM-DD new period-of-stay expiry. |
| residenceCardExpiry | string | permanent / hsp2: optional YYYY-MM-DD residence-card expiry. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"holder",
"birthDate",
"cardIssueDate"
],
"properties": {
"today": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "YYYY-MM-DD (default: today in Japan)."
},
"holder": {
"enum": [
"mid_long",
"permanent",
"hsp2",
"spr",
"japanese"
],
"type": "string",
"description": "mid_long = foreign resident with a period of stay (work, student, spouse, dependent, etc.) | permanent | hsp2 (Highly Skilled Professional ii) | spr (special permanent resident) | japanese."
},
"renewal": {
"enum": [
"none",
"pending",
"granted"
],
"type": "string",
"description": "Visa renewal / change of status: none (default) | pending (applied, no decision yet) | granted (new residence card received)."
},
"birthDate": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "YYYY-MM-DD date of birth."
},
"cardExpiry": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Optional YYYY-MM-DD expiry printed on the card (overrides the calculation)."
},
"ecertExpiry": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Optional YYYY-MM-DD electronic-certificate expiry, if known."
},
"specificCard": {
"type": "boolean",
"description": "true if the card is a 特定在留カード (combined residence card + My Number Card, since 2026-06-14)."
},
"cardIssueDate": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "YYYY-MM-DD date the current card was made (作成日 / issue date)."
},
"issuedAsRenewal": {
"type": "boolean",
"description": "true if the card was made in the 3-month renewal window (runs to the 11th / 6th birthday)."
},
"residenceExpiry": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "mid_long: YYYY-MM-DD period-of-stay expiry the card currently shows (在留期間の満了日). Required for mid_long."
},
"newResidenceExpiry": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "renewal=granted: YYYY-MM-DD new period-of-stay expiry."
},
"residenceCardExpiry": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "permanent / hsp2: optional YYYY-MM-DD residence-card expiry."
}
}
}| disability | string | Disability under Japanese criteria. Default none. |
| marginalRate | number | Your income-tax bracket in percent (5, 10, 20, 23, 33, 40, 45) to estimate the saving. |
| relationship* | string | Relationship to the taxpayer. parent includes parent-in-law; other = other relative within 6 degrees of blood / 3 of marriage. |
| firstLastTotal | number | Sum of the first and last payments of the year. |
| relativeIncome | number | Relative's total income (合計所得金額) in yen; usually 0 for a non-resident with no Japan-source income. |
| studyingAbroad | boolean | Relative left Japan to study abroad (ages 30-69 route). |
| taxpayerIncome | number | Your own total income in yen (spouse amounts depend on it). |
| remittanceCount | integer | Number of payments (3+ unlocks the statement option). |
| remittanceTotal | number | Yen paid directly to this relative in the year. Omit if unknown → verdict conditional. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"relationship"
],
"properties": {
"age": {
"type": "integer",
"maximum": 130,
"minimum": 0,
"description": "Relative's age on Dec 31 of the tax year. Give age or birthDate."
},
"year": {
"type": "integer",
"maximum": 2026,
"minimum": 2025,
"description": "Tax year 2026 (default) or 2025."
},
"method": {
"enum": [
"bank",
"credit_card",
"electronic_payment",
"cash",
"via_representative",
"joint_account"
],
"type": "string",
"description": "How you paid. Default bank. cash / via_representative / joint_account are not valid proof."
},
"birthDate": {
"type": "string",
"description": "YYYY-MM-DD (born Jan 1 counts a year older)."
},
"disability": {
"enum": [
"none",
"disabled",
"special"
],
"type": "string",
"description": "Disability under Japanese criteria. Default none."
},
"marginalRate": {
"type": "number",
"description": "Your income-tax bracket in percent (5, 10, 20, 23, 33, 40, 45) to estimate the saving."
},
"relationship": {
"enum": [
"spouse",
"child",
"parent",
"grandparent",
"sibling",
"grandchild",
"other"
],
"type": "string",
"description": "Relationship to the taxpayer. parent includes parent-in-law; other = other relative within 6 degrees of blood / 3 of marriage."
},
"firstLastTotal": {
"type": "number",
"minimum": 0,
"description": "Sum of the first and last payments of the year."
},
"relativeIncome": {
"type": "number",
"minimum": 0,
"description": "Relative's total income (合計所得金額) in yen; usually 0 for a non-resident with no Japan-source income."
},
"studyingAbroad": {
"type": "boolean",
"description": "Relative left Japan to study abroad (ages 30-69 route)."
},
"taxpayerIncome": {
"type": "number",
"minimum": 0,
"description": "Your own total income in yen (spouse amounts depend on it)."
},
"remittanceCount": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Number of payments (3+ unlocks the statement option)."
},
"remittanceTotal": {
"type": "number",
"minimum": 0,
"description": "Yen paid directly to this relative in the year. Omit if unknown → verdict conditional."
}
}
}| enrolled | boolean | Students: still enrolled and attending. Default true. |
| dailyHours | string | Day-by-day hours, comma separated, all jobs combined; suffix v = school long-vacation day (students only), e.g. '8v,8v,8v,4,4,0,0'. Checks every rolling 7-day window. |
| permission | string | Permission already held. comprehensive = 28-hour stamp on the residence card. Default unknown. |
| weeklyHours | number | Hours in a 7-day period across ALL side jobs. |
| longVacation | boolean | Students: hours fall in the school's official long vacation (8 h/day rule). |
| sameCategoryWork | boolean | Work visa: side job is the same kind of work the visa covers. |
| internshipEligible | boolean | Students: final-year undergrad with ~90%+ credits, final-year master's/PhD, or credit-bearing practicum. |
| hasEmployeesOrOffice | boolean | Freelance: hires staff, has a company or rents an office. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"status",
"job"
],
"properties": {
"job": {
"enum": [
"restaurant",
"izakaya_bar",
"convenience_store",
"retail",
"hotel",
"factory_warehouse",
"cleaning",
"office",
"language_teacher",
"interpreter_translator",
"tutor",
"delivery_employee",
"delivery_gig",
"freelance",
"internship",
"pachinko",
"mahjong",
"game_center",
"hostess_bar",
"nightclub",
"adult"
],
"type": "string",
"description": "Kind of work or venue. izakaya_bar = no hosting of guests; hostess_bar = hosting (接待) venues incl. snack/girls bar; delivery_gig = app contractor (Uber Eats etc.); internship = over 28 h/week."
},
"status": {
"enum": [
"student",
"dependent",
"designated_dependent",
"job_hunting",
"work_visa",
"specified_skilled",
"technical_intern",
"working_holiday",
"temporary_visitor",
"unrestricted"
],
"type": "string",
"description": "Status of residence. student = 留学; dependent = 家族滞在; designated_dependent / job_hunting = 特定活動; work_visa = 技人国, 教育, 教授 etc.; specified_skilled = 特定技能; technical_intern = 技能実習; temporary_visitor = tourist; unrestricted = permanent resident, spouse of Japanese/PR, long-term resident."
},
"enrolled": {
"type": "boolean",
"description": "Students: still enrolled and attending. Default true."
},
"dailyHours": {
"type": "string",
"description": "Day-by-day hours, comma separated, all jobs combined; suffix v = school long-vacation day (students only), e.g. '8v,8v,8v,4,4,0,0'. Checks every rolling 7-day window."
},
"permission": {
"enum": [
"none",
"comprehensive",
"individual",
"unknown"
],
"type": "string",
"description": "Permission already held. comprehensive = 28-hour stamp on the residence card. Default unknown."
},
"weeklyHours": {
"type": "number",
"maximum": 168,
"minimum": 0,
"description": "Hours in a 7-day period across ALL side jobs."
},
"longVacation": {
"type": "boolean",
"description": "Students: hours fall in the school's official long vacation (8 h/day rule)."
},
"sameCategoryWork": {
"type": "boolean",
"description": "Work visa: side job is the same kind of work the visa covers."
},
"internshipEligible": {
"type": "boolean",
"description": "Students: final-year undergrad with ~90%+ credits, final-year master's/PhD, or credit-bearing practicum."
},
"hasEmployeesOrOffice": {
"type": "boolean",
"description": "Freelance: hires staff, has a company or rents an office."
}
}
}| trips | array | Trips abroad in the last 10 years, each {depart, return} as YYYY-MM-DD. |
| workYears | number | General route: continuous years on a work or residence status (not Student / Dependent). |
| japaneseB1 | any | Japanese at CEFR B1 or above? |
| b1Exemption | string | B1 exemption, if any. |
| marriageDate | string | Spouse route: YYYY-MM-DD the substantive marriage began. |
| periodExpiry | string | YYYY-MM-DD the current period of stay expires (matters for the 3-year transition after 2027-04-01). |
| periodOfStay | string | Current period of stay: 5y, 3y, 1y, 6m, 3m, unlimited, other. |
| yearsInJapan | number | Instead of residenceSince: years of continuous residence in Japan at the filing date. |
| currentStatus | string | Current status of residence: engineer_humanities, intra_company_transferee, highly_skilled_professional, business_manager, skilled_labor, specified_skilled_worker_2, specified_skilled_worker_1, technical_intern_training, employment_for_skill_development, spouse_of_japanese, spouse_of_permanent_resident, long_term_resident, dependent, student, designated_activities, other_work. |
| residenceSince | string | YYYY-MM-DD start of continuous residence in Japan. |
| applicationDate | string | YYYY-MM-DD the PR application is (or will be) received by ISA. Default today in Japan. |
| longestTripDays | number | Instead of trips: longest single trip abroad in the last 10 years, in days. |
| qualifyingSince | string | Special routes: YYYY-MM-DD the status / points / recognition was reached (LTR, refugee, HSP 70/80, J-Skip, special zone). |
| taxesPaidOnTime | any | All taxes paid on time? |
| totalAbsenceDays | number | Instead of trips: total days abroad in the last 10 years. |
| schoolAgeChildren | string | School-age children (6-15) and whether they attend elementary / junior high school. |
| firstPrApplication | boolean | Is this the first PR application filed from 2027-04-01? (3-year transition; default true). |
| pensionInsurancePaidOnTime | any | Pension and health insurance paid on time? |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"route"
],
"properties": {
"route": {
"type": "string",
"description": "PR route: general (10 years), spouse (of Japanese / PR / SPR), child (of Japanese / PR / SPR), long_term_resident, refugee, hsp70, hsp80, special_hsp (J-Skip), contribution, special_zone_regional. Aliases like 10y, haigusha, 定住者, hsp accepted."
},
"trips": {
"type": "array",
"items": {
"type": "object",
"required": [
"depart",
"return"
],
"properties": {
"depart": {
"type": "string"
},
"return": {
"type": "string"
}
}
},
"description": "Trips abroad in the last 10 years, each {depart, return} as YYYY-MM-DD."
},
"workYears": {
"type": "number",
"maximum": 100,
"minimum": 0,
"description": "General route: continuous years on a work or residence status (not Student / Dependent)."
},
"japaneseB1": {
"anyOf": [
{
"type": "boolean"
},
{
"enum": [
"yes",
"no",
"unknown"
],
"type": "string"
}
],
"description": "Japanese at CEFR B1 or above?"
},
"b1Exemption": {
"enum": [
"none",
"hsp_or_family",
"schooling_6y",
"pr_child_born_in_japan"
],
"type": "string",
"description": "B1 exemption, if any."
},
"marriageDate": {
"type": "string",
"description": "Spouse route: YYYY-MM-DD the substantive marriage began."
},
"periodExpiry": {
"type": "string",
"description": "YYYY-MM-DD the current period of stay expires (matters for the 3-year transition after 2027-04-01)."
},
"periodOfStay": {
"type": "string",
"description": "Current period of stay: 5y, 3y, 1y, 6m, 3m, unlimited, other."
},
"yearsInJapan": {
"type": "number",
"maximum": 100,
"minimum": 0,
"description": "Instead of residenceSince: years of continuous residence in Japan at the filing date."
},
"currentStatus": {
"type": "string",
"description": "Current status of residence: engineer_humanities, intra_company_transferee, highly_skilled_professional, business_manager, skilled_labor, specified_skilled_worker_2, specified_skilled_worker_1, technical_intern_training, employment_for_skill_development, spouse_of_japanese, spouse_of_permanent_resident, long_term_resident, dependent, student, designated_activities, other_work."
},
"residenceSince": {
"type": "string",
"description": "YYYY-MM-DD start of continuous residence in Japan."
},
"applicationDate": {
"type": "string",
"description": "YYYY-MM-DD the PR application is (or will be) received by ISA. Default today in Japan."
},
"longestTripDays": {
"type": "number",
"maximum": 4000,
"minimum": 0,
"description": "Instead of trips: longest single trip abroad in the last 10 years, in days."
},
"qualifyingSince": {
"type": "string",
"description": "Special routes: YYYY-MM-DD the status / points / recognition was reached (LTR, refugee, HSP 70/80, J-Skip, special zone)."
},
"taxesPaidOnTime": {
"anyOf": [
{
"type": "boolean"
},
{
"enum": [
"yes",
"no",
"unknown"
],
"type": "string"
}
],
"description": "All taxes paid on time?"
},
"totalAbsenceDays": {
"type": "number",
"maximum": 4000,
"minimum": 0,
"description": "Instead of trips: total days abroad in the last 10 years."
},
"schoolAgeChildren": {
"enum": [
"none",
"all_in_school",
"not_in_school"
],
"type": "string",
"description": "School-age children (6-15) and whether they attend elementary / junior high school."
},
"firstPrApplication": {
"type": "boolean",
"description": "Is this the first PR application filed from 2027-04-01? (3-year transition; default true)."
},
"pensionInsurancePaidOnTime": {
"anyOf": [
{
"type": "boolean"
},
{
"enum": [
"yes",
"no",
"unknown"
],
"type": "string"
}
],
"description": "Pension and health insurance paid on time?"
}
}
}| titer | number | Antibody result in IU/ml (pass ≥ 0.5). |
| today | string | Override today's date (default: today in Japan). |
| origin | string | Override: designated (Iceland, Australia, NZ, Fiji, Hawaii, Guam) | other. |
| country | string | import: country / region the pet comes from (ISO code or name, e.g. US, GB, AU, Hawaii). Designated regions are detected automatically. |
| species* | string | dog | cat | rabbit. |
| birthDate | string | Pet's birth date YYYY-MM-DD (rabies shot 1 must be at 91+ days old). |
| direction* | string | import = bring a pet into Japan | export = take it out of Japan | return = leave Japan with the pet and come back (short-stay route). |
| arrivalDate | string | Planned arrival in Japan YYYY-MM-DD (required for designated imports and once a blood draw is given). |
| vaccine1Date | string | 1st rabies vaccination (after the microchip). |
| vaccine2Date | string | 2nd rabies vaccination (30+ days after the 1st, within its validity). |
| bloodDrawDate | string | Antibody (FAVN) blood draw date at a MAFF-designated lab; the 180 days count from this. |
| departureDate | string | export / return: departure from Japan YYYY-MM-DD. |
| microchipDate | string | Microchip implant date (must be on or before vaccine 1). |
| residentSince | string | Designated region: date the pet started living there. |
| microchipNumber | string | Optional chip number to check the ISO 15-digit format. |
| vaccineValidUntil | string | Validity end of the latest vaccine (for booster warnings). |
| residentSinceBirth | boolean | Designated region: lived there since birth. |
| vaccine1ValidUntil | string | Validity end of vaccine 1 (default 1 year). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"direction",
"species"
],
"properties": {
"titer": {
"type": "number",
"minimum": 0,
"description": "Antibody result in IU/ml (pass ≥ 0.5)."
},
"today": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Override today's date (default: today in Japan)."
},
"origin": {
"enum": [
"other",
"designated"
],
"type": "string",
"description": "Override: designated (Iceland, Australia, NZ, Fiji, Hawaii, Guam) | other."
},
"country": {
"type": "string",
"description": "import: country / region the pet comes from (ISO code or name, e.g. US, GB, AU, Hawaii). Designated regions are detected automatically."
},
"species": {
"enum": [
"dog",
"cat",
"rabbit"
],
"type": "string",
"description": "dog | cat | rabbit."
},
"birthDate": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Pet's birth date YYYY-MM-DD (rabies shot 1 must be at 91+ days old)."
},
"direction": {
"enum": [
"import",
"export",
"return"
],
"type": "string",
"description": "import = bring a pet into Japan | export = take it out of Japan | return = leave Japan with the pet and come back (short-stay route)."
},
"arrivalDate": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Planned arrival in Japan YYYY-MM-DD (required for designated imports and once a blood draw is given)."
},
"vaccine1Date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "1st rabies vaccination (after the microchip)."
},
"vaccine2Date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "2nd rabies vaccination (30+ days after the 1st, within its validity)."
},
"bloodDrawDate": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Antibody (FAVN) blood draw date at a MAFF-designated lab; the 180 days count from this."
},
"departureDate": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "export / return: departure from Japan YYYY-MM-DD."
},
"microchipDate": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Microchip implant date (must be on or before vaccine 1)."
},
"residentSince": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Designated region: date the pet started living there."
},
"microchipNumber": {
"type": "string",
"description": "Optional chip number to check the ISO 15-digit format."
},
"vaccineValidUntil": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Validity end of the latest vaccine (for booster warnings)."
},
"residentSinceBirth": {
"type": "boolean",
"description": "Designated region: lived there since birth."
},
"vaccine1ValidUntil": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Validity end of vaccine 1 (default 1 year)."
}
}
}| string |
| Extension or change-of-status application filed before expiry and not yet decided. Default none. |
| returnDate | string | YYYY-MM-DD planned return, to check in_time vs too_late and the margin. |
| periodExpiry | string | YYYY-MM-DD period-of-stay expiry on the residence card (在留期限). Required for mid_long; not for permanent/spr. |
| permitExpiry | string | YYYY-MM-DD expiry of a regular re-entry permit (required if permit is single or multiple). |
| departureDate* | string | YYYY-MM-DD the person leaves Japan. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"status",
"departureDate"
],
"properties": {
"permit": {
"enum": [
"deemed",
"single",
"multiple"
],
"type": "string",
"description": "deemed (みなし再入国, default) or a regular re-entry permit in the passport (single / multiple)."
},
"status": {
"enum": [
"mid_long",
"permanent",
"spr",
"short_term",
"three_months_or_less",
"refugee_applicant"
],
"type": "string",
"description": "mid_long = residence card holder (work, student, spouse, dependent, long-term resident…); permanent; spr = special permanent resident; short_term = tourist / temporary visitor; three_months_or_less; refugee_applicant (Designated Activities)."
},
"pending": {
"enum": [
"none",
"renewal",
"change"
],
"type": "string",
"description": "Extension or change-of-status application filed before expiry and not yet decided. Default none."
},
"returnDate": {
"type": "string",
"description": "YYYY-MM-DD planned return, to check in_time vs too_late and the margin."
},
"periodExpiry": {
"type": "string",
"description": "YYYY-MM-DD period-of-stay expiry on the residence card (在留期限). Required for mid_long; not for permanent/spr."
},
"permitExpiry": {
"type": "string",
"description": "YYYY-MM-DD expiry of a regular re-entry permit (required if permit is single or multiple)."
},
"departureDate": {
"type": "string",
"description": "YYYY-MM-DD the person leaves Japan."
}
}
}| status |
| string |
| Status of residence / purpose: student, technical_intern_training, employment_for_skill_development, engineer_humanities, skilled_labor, nursing_care, intra_company_transferee, business_manager, highly_skilled_professional, dependent, spouse_of_japanese, long_term_resident, designated_activities, digital_nomad, specified_skilled_worker, epa_nurse_care_worker, jet_programme, jica_trainee, mext_embassy_scholar, temporary_visitor, diplomat_official, other_mid_long (default). Aliases like tokutei_ginou, ssw, gijinkoku, tourist accepted. |
| xrayDate | string | YYYY-MM-DD of the Panel Clinic chest X-ray, to check validity on the application date. |
| stayMonths | number | Expected period of stay in months; 3 or less is not covered (except Digital Nomad). |
| nationality* | string | Passport nationality: philippines, nepal, vietnam, indonesia, myanmar, china (aliases like ID, VN, PH, Filipino accepted); any other country = not covered. |
| closeContact | boolean | Close contact with active infectious pulmonary TB within 2 months before the X-ray: validity 90 days. |
| applicationDate | string | YYYY-MM-DD the COE (or direct visa) application is filed. Default today in Japan. |
| hasReentryPermit | boolean | Returning on a re-entry permit (incl. special re-entry): excluded. |
| residenceCountry | string | Country where the applicant lives now if not the nationality: a non-target country = exempt (with residence permit); 'japan' = change of status / extension inside Japan = not required. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"nationality"
],
"properties": {
"city": {
"type": "string",
"description": "Filter Panel Clinics by city, e.g. Jakarta, Surabaya, Hanoi, Ho Chi Minh City, Manila, Kathmandu."
},
"route": {
"enum": [
"coe",
"visa_direct"
],
"type": "string",
"description": "coe (default) or visa_direct (visa at an embassy without a COE; default for digital_nomad)."
},
"status": {
"type": "string",
"description": "Status of residence / purpose: student, technical_intern_training, employment_for_skill_development, engineer_humanities, skilled_labor, nursing_care, intra_company_transferee, business_manager, highly_skilled_professional, dependent, spouse_of_japanese, long_term_resident, designated_activities, digital_nomad, specified_skilled_worker, epa_nurse_care_worker, jet_programme, jica_trainee, mext_embassy_scholar, temporary_visitor, diplomat_official, other_mid_long (default). Aliases like tokutei_ginou, ssw, gijinkoku, tourist accepted."
},
"xrayDate": {
"type": "string",
"description": "YYYY-MM-DD of the Panel Clinic chest X-ray, to check validity on the application date."
},
"stayMonths": {
"type": "number",
"maximum": 600,
"minimum": 1,
"description": "Expected period of stay in months; 3 or less is not covered (except Digital Nomad)."
},
"nationality": {
"type": "string",
"description": "Passport nationality: philippines, nepal, vietnam, indonesia, myanmar, china (aliases like ID, VN, PH, Filipino accepted); any other country = not covered."
},
"closeContact": {
"type": "boolean",
"description": "Close contact with active infectious pulmonary TB within 2 months before the X-ray: validity 90 days."
},
"applicationDate": {
"type": "string",
"description": "YYYY-MM-DD the COE (or direct visa) application is filed. Default today in Japan."
},
"hasReentryPermit": {
"type": "boolean",
"description": "Returning on a re-entry permit (incl. special re-entry): excluded."
},
"residenceCountry": {
"type": "string",
"description": "Country where the applicant lives now if not the nationality: a non-target country = exempt (with residence permit); 'japan' = change of status / extension inside Japan = not required."
}
}
}| YYYY-MM-DD the application was received. Before 2026-10-01 = old fee. Omit for the revised fee. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"permit"
],
"properties": {
"method": {
"enum": [
"counter",
"online"
],
"type": "string",
"description": "counter (revenue stamps, default) or online (convenience store / bank payment + ¥330/¥550 processing fee)."
},
"permit": {
"enum": [
"extension",
"change",
"permanent"
],
"type": "string",
"description": "extension (在留期間更新, renewal), change (在留資格変更), or permanent (永住許可)."
},
"headcount": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1,
"description": "Number of people, e.g. employees whose fees a company pays. Default 1."
},
"horizonYears": {
"type": "integer",
"maximum": 30,
"minimum": 1,
"description": "Years to project repeat applications at the same period. Default 5."
},
"grantedMonths": {
"type": "integer",
"maximum": 600,
"minimum": 1,
"description": "Period of stay granted in months (12 = 1 year, 36 = 3 years, 60 = 5 years). Required unless permit is permanent."
},
"applicationDate": {
"type": "string",
"description": "YYYY-MM-DD the application was received. Before 2026-10-01 = old fee. Omit for the revised fee."
}
}
}| appliedDate | string | Date you already applied, YYYY-MM-DD. |
| cardIssueDate | string | Residence card issue date, YYYY-MM-DD (optional). |
| wantSpecialCard | boolean | Wants the 特定在留カード (card + My Number). |
| currentPeriodMonths | number | Length of the current period of stay in months (default 12). |
| expectedGrantMonths | number | Period you expect ISA to grant, for the fee (default = current). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"expiryDate"
],
"properties": {
"today": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "As-of date, YYYY-MM-DD (default today JST)."
},
"holder": {
"enum": [
"fixed",
"permanent",
"hsp2"
],
"type": "string",
"description": "fixed (any status with a period of stay, default) | permanent | hsp2."
},
"method": {
"enum": [
"counter",
"online"
],
"type": "string",
"description": "counter (default) or online."
},
"birthDate": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Date of birth, YYYY-MM-DD (optional)."
},
"expiryDate": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Period-of-stay expiry (or card expiry for permanent / hsp2), YYYY-MM-DD."
},
"appliedDate": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Date you already applied, YYYY-MM-DD."
},
"cardIssueDate": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Residence card issue date, YYYY-MM-DD (optional)."
},
"wantSpecialCard": {
"type": "boolean",
"description": "Wants the 特定在留カード (card + My Number)."
},
"currentPeriodMonths": {
"type": "number",
"maximum": 120,
"minimum": 1,
"description": "Length of the current period of stay in months (default 12)."
},
"expectedGrantMonths": {
"type": "number",
"maximum": 120,
"minimum": 1,
"description": "Period you expect ISA to grant, for the fee (default = current)."
}
}
}| integer |
| People on the booking; children and infants count. Default 1. |
| prefecture* | string | Kyushu prefecture you stay in (for a multi-prefecture tour, the selling prefecture). |
| bookingDate | string | YYYY-MM-DD date of booking (JST). Default today in Japan. |
| totalPriceJPY* | number | Booking total in yen for all travelers, before the discount (tax and service included). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"prefecture",
"totalPriceJPY"
],
"properties": {
"nights": {
"type": "integer",
"maximum": 60,
"minimum": 0,
"description": "Nights booked (0 = day trip, not eligible). Default 1."
},
"channel": {
"enum": [
"ota",
"agency",
"direct"
],
"type": "string",
"description": "ota (booking site such as Rakuten Travel or Jalan, default), agency (travel agency), direct (with the hotel)."
},
"checkIn": {
"type": "string",
"description": "YYYY-MM-DD check-in date, for the eligible-nights check."
},
"product": {
"enum": [
"lodging",
"package",
"tour"
],
"type": "string",
"description": "lodging (宿泊単体, default), package (交通付宿泊: stay + flight/train), tour (周遊型: stays in 2+ Kyushu prefectures)."
},
"travelers": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "People on the booking; children and infants count. Default 1."
},
"prefecture": {
"enum": [
"fukuoka",
"saga",
"nagasaki",
"kumamoto",
"oita",
"miyazaki",
"kagoshima"
],
"type": "string",
"description": "Kyushu prefecture you stay in (for a multi-prefecture tour, the selling prefecture)."
},
"bookingDate": {
"type": "string",
"description": "YYYY-MM-DD date of booking (JST). Default today in Japan."
},
"totalPriceJPY": {
"type": "number",
"description": "Booking total in yen for all travelers, before the discount (tax and service included).",
"exclusiveMinimum": 0
}
}
}