21 free no-auth tools: pitch roast, Kyushu discount, Japan visa fee, luggage, tax-free.
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.
Tool list last changed Oct 25, 2026.
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."
}
}
}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. |
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. |
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 |
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). |
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. |
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 |
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."
}
}
}| 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."
}
}
}| 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)."
}
}
}| 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."
}
}
}| 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."
}
}
}| 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?"
}
}
}| 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."
}
}
}| 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
}
}
}