Airbnb & Booking Japan Licence Checker (旅館業 / 民泊) avatar

Airbnb & Booking Japan Licence Checker (旅館業 / 民泊)

Pricing

Pay per event

Go to Apify Store
Airbnb & Booking Japan Licence Checker (旅館業 / 民泊)

Airbnb & Booking Japan Licence Checker (旅館業 / 民泊)

Check the licence number of Airbnb listings and Booking.com properties in Japan — 旅館業 permit or 民泊 notification — against the official lists of Tokyo's 23 wards, Osaka and Kyoto: verdict, exact address with building and room, operator, phone, licence date — plus listing and host details.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Nice Dev

Nice Dev

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

11 hours ago

Last modified

Share

🏠 What is Airbnb & Booking Japan Licence Checker (旅館業 / 民泊)?

Airbnb & Booking Japan Licence Checker checks the licence number that each Airbnb listing and each Booking.com property in Japan displays — a 旅館業 permit (Hotels and Inns Business Act), a 民泊 notification (M13…) or a 特区民泊 special-zone number — against the official list of licensed places that its ward or city publishes: the 23 wards of Tokyo, Osaka and Kyoto. It tells you whether the number is valid, closed, not in the list, the licence of another ward, or for fewer guests than the listing takes, and gives what the list knows and Airbnb hides: the exact address with building and room, the licensed operator (company or person), its representative, the phone numbers, the 民泊 manager, the licence date. Each result also carries the listing's own details (host, capacity, rating, amenities, price).

Type a place (Shinjuku, Tokyo) and choose where to search it — Airbnb, Booking.com or both — draw a map area, paste Airbnb URLs, listing IDs or Booking.com URLs, give licence numbers alone, or ask for the whole official list of a ward — click Start, and download the results in JSON, CSV or Excel. No login, nothing to set up. Built for property managers, investors, compliance teams, ward inspectors, journalists and anyone who needs to know who really runs a Tokyo listing.

📋 What data can you extract from Airbnb, Booking.com and the Japanese lists of licensed places?

One item per listing checked (or per licence number given alone, or per place of an official list), 144 fields:

CategoryWhat you get
✅ Verdictvalid, closed, not in the list, another ward's licence, too many guests, no number, not listed yet… with the reasons and one plain sentence
🪪 Licencethe number as shown and as the list writes it, the kind of licence (旅館業 / 民泊 / 特区民泊), the public health centre that issued it, the other numbers of a building, the other listings of the run showing the same number
🏛️ Official listexact address with building and room, name of the place, operator (company or person) with its representative, address and phone, place phone, 民泊 manager with its registration and phone, kind of licence, licence and closure dates, rooms and guests allowed, position, source and date of the list
🏠 Listingtitle, type of place, city, position, guests, bedrooms, beds, bathrooms, rating and sub-ratings, badges, highlights, house rules, where you'll sleep, description, amenities, photos; on Booking.com: street address, every licence number shown, professional or private host
👤 Hostname, profile link, verified, Superhost, years hosting, response rate and time, rating, reviews, co-hosts, how many listings they manage
🏢 Business host detailsbusiness name, registry, tax ID, e-mail, phone and address when Airbnb shows them
🎯 Risk score (option)a score from 0 to 100 per listing and the short codes of the rules behind it: the verdict, a number shown twice, a registered address far from the listing, a host with several listings, a calendar open past 180 nights…
🏘️ Comparables (option)the nearest Airbnb listings of the same type and size around each Airbnb listing, with their price per night, rating and distance, and their median price
🏢 Professional host contact (option)business email and phone of professional Airbnb hosts, from publicly available sources
☎️ Business contact (option)the business e-mail and phone Booking.com shows for a professional host
📷 Photos (option)the first photos of each listing kept in the run's storage, with their public links, their SHA-256 and the time of the download — a dated copy; the photo links stay free
⚡ Cards only (option)the card of each Airbnb search result — link, title, type, price, rating, position, bedrooms — without opening the listing, so without a number or a verdict
💰 Revenue estimate (option)an estimate of the nights blocked in the calendar, the revenue they would make at the price per night searched, and the share of the calendar blocked
🏷️ AI labels (option)five yes / no labels read in the English description of an Airbnb listing — managed by a company, self check-in, monthly stays, host not living there, licence mentioned — with their scores
💴 Pricetotal price of the stay, price per night, price breakdown, dates (from the search results)
📚 Whole listsevery licensed hotel, inn and private lodging of a ward, newest first, with the same official fields — no Airbnb search needed

Every field, with an example, is listed in the Output section below.

✅ Why use Airbnb & Booking Japan Licence Checker?

  • 🏛️ The official lists, not a format check: 50 lists of the 23 wards, Osaka and Kyoto — about 45,000 licensed places, in PDF, Excel and CSV files that change name at every update — found and read fresh at each run.
  • 🔎 What Airbnb hides: Airbnb shows a number, never the address. The list gives the building and the room, and who holds the licence.
  • 🗂️ Eight ways in, in one run: places (on Airbnb, Booking.com or both), map areas, search URLs, listing URLs, listing IDs, Booking.com URLs, licence numbers alone, and whole ward lists.
  • 🏨 Airbnb and Booking.com side by side: the same lists and the same verdicts for both sites; a number shown by listings of both sites is flagged in numberSharedWith.
  • 📞 Leads from the lists: the new operators of a ward (licensed on or after a date), companies only, with a phone number only.
  • 🗺️ Whole wards: Airbnb shows 270 listings per search; a full area is cut into smaller ones automatically to reach the others.
  • 🔔 Monitoring built in: tick Only new listings, schedule the Actor, and each run returns (and charges) only what it has never delivered before.
  • 🔌 API, scheduling, integrations (Make, Zapier, n8n, Google Sheets…) and JSON/CSV/Excel export via the Apify platform.

🚀 How to check Airbnb licences in Japan

  1. Create a free Apify account.
  2. Open Airbnb & Booking Japan Licence Checker and type a Place (e.g. Shinjuku, Tokyo).
  3. Choose the Platforms for your places: Airbnb, Booking.com, or both.
  4. Or paste Airbnb URLs (search results or single listings), listing IDs, Booking.com URLs, map areas, licence numbers to check without any listing, or pick wards and cities to get their whole lists.
  5. Set Max results (100 by default, 0 = no limit) — and keep only the suspicious listings with Keep only these verdicts — then click Start.
  6. Download the dataset in JSON, CSV, Excel or via API.

💰 How much does it cost to check Airbnb licences in Japan?

This Actor uses pay per event pricing: a price per result — an Airbnb listing checked (airbnb-listing), a Booking.com property checked (booking-listing), a licence number given alone or a place of a whole list (register-record), a card alone (listing-card, the only price of a run with Cards only (fast)), one for a photo downloaded (photo-download, one per photo delivered, charged only once the Pricing tab lists it), one for a business contact (business-contact, one per Booking.com property whose row carries an e-mail or a phone, charged only once the Pricing tab lists it), one for a professional host contact (pro-host-contact, one per Airbnb listing whose row carries a company e-mail or phone, charged only once the Pricing tab lists it) — plus register-match when the number of a listing is found in its list (the official address and operator come with it), a small fee per run start, a fee per host profile (Host's listing count, one per host whose profile reaches your results, not per listing), a fee per calendar (Availability calendar, one per Airbnb listing whose calendar reaches your results), a fee per risk score (risk-score, one per listing whose row carries a score, charged only once the Pricing tab lists it), a fee per listing given its AI labels (ai-labels, charged only once the Pricing tab lists it), a fee per listing given its comparables (comparables, one per listing given neighbours, charged only once the Pricing tab lists it), a fee per listing given its revenue estimate (revenue-estimate, charged only once the Pricing tab lists it, on top of the calendar it reads) and a lower fee for each result a filter of the Actor drops — filter-check when the search results are enough to drop it (minimum rating, excluded words, and the host type when the card says it), detail-filter-check when its page and list had to be read (verdicts, wards, kind of licence, operator, phone). A result you keep costs its normal price: filtering never costs more than taking everything. The prices are shown on the Pricing tab of this page. Platform usage (compute, proxy) is included in the price.

⚙️ Input

A place, only the listings whose licence does not match its list:

{
"location": "Shinjuku, Tokyo",
"maxItems": 200,
"onlyVerdicts": ["closed", "not_in_register", "other_property", "over_capacity", "unknown_format", "no_number"]
}

Several places and a map area, a cap per search, only the listings not delivered before:

{
"locations": ["Asakusa, Tokyo", "Shibuya, Tokyo"],
"boundingBoxes": ["35.685, 139.690, 35.705, 139.715"],
"maxItemsPerQuery": 100,
"onlyNew": true,
"stateKey": "tokyo-weekly"
}

Both platforms for the same places:

{
"locations": ["Shinjuku, Tokyo", "Kyoto"],
"sources": ["airbnb", "booking"],
"maxItemsPerQuery": 100
}

Your own URLs, listing IDs, Booking.com URLs, and licence numbers alone:

{
"startUrls": [
{ "url": "https://www.airbnb.com/s/Shinjuku--Tokyo--Japan/homes?adults=2" },
{ "url": "https://www.airbnb.jp/rooms/1395305853327502385" }
],
"listingIds": ["1774630375900406166"],
"bookingUrls": ["https://www.booking.com/hotel/jp/stay-ari-apartment.html"],
"licenseNumbers": ["8新保衛環第61号", "M130056558", "第M130042017号"],
"maxItems": 500
}

The new operators of two wards, companies with a phone number, without any Airbnb search:

{
"registerAreas": ["shinjuku", "taito"],
"registeredAfter": "2026-07-01",
"holderType": "company",
"onlyWithPhone": true,
"maxItems": 1000
}
FieldNotes
startUrlsAirbnb search results pages (filters kept, pagination and map splitting automatic) or single listing pages, any Airbnb domain (https://www.airbnb.jp/rooms/1395305853327502385).
listingIdsAirbnb listing IDs alone (the digits after /rooms/). Checked in the order given and before any search: with maxItems, the first ones are the ones saved.
bookingUrlsBooking.com property pages (e.g. https://www.booking.com/hotel/jp/stay-ari-apartment.html, any language version), checked in the order given, like listing IDs.
location, locationsPlaces as typed in the site's search box (e.g. Shinjuku, Tokyo, Asakusa, Osaka, Kyoto); one search each and per platform.
sourcesPlatforms the places are searched on: airbnb (default), booking, or both. Airbnb URLs, IDs and map areas always go to Airbnb, Booking.com URLs to Booking.com.
boundingBoxesMap rectangles south, west, north, east (e.g. 35.685, 139.690, 35.705, 139.715 for central Shinjuku): the surest way to cover a whole ward.
licenseNumbersLicence numbers checked in the lists without any listing (e.g. 8新保衛環第61号, M130051741, 第M130042017号). One result per number: two spellings of one number (M130051741, 第M130051741号) are checked once.
registerAreasWhole official lists of these wards or cities (e.g. shinjuku, taito, osaka, kyoto): one result per licensed place, newest first.
registeredAfterOnly places of the whole lists (registerAreas) licensed on this date or later (e.g. 2026-01-01): the new operators.
maxItemsStop after this many results for the whole run (0 = unlimited).
maxItemsPerQueryCap for EACH search (place and platform, map area or search URL) and each whole list. 0 = no per-search cap — except for places searched on both platforms: maxItems is then shared evenly between the searches.
splitMapCut a full Airbnb search (270 listings) into smaller map areas, and read a Booking.com search over 1,000 properties district by district, to reach the others (default on).
checkIn, checkOut, adults, children, infants, petsTravel dates and guests sent to Airbnb's search (e.g. 2027-07-12, today or later in Japan); the price of the stay then follows them, and checkIn / checkOut of each listing are these dates.
currency, priceMin, priceMaxCurrency of the prices (JPY, USD, EUR) and price per night bounds.
roomTypesAirbnb's type of place: entire_home, private_room, shared_room, hotel_room.
propertyTypesAirbnb's property type: house, apartment, guesthouse, hotel.
minBedrooms, minBeds, minBathrooms, superhostOnlyAirbnb's own filters: at least this many rooms, Superhosts only.
bookingPropertyTypesKinds of Booking.com properties searched: apartment, holiday_home, guesthouse, homestay (default), also villa, chalet, country_house, farm_stay, bed_and_breakfast, condo_hotel, hotel, hostel.
licenseTypesOnly these kinds of licence: ryokan (旅館業), minpaku (民泊), tokku (特区民泊) — in the whole lists, and the kind of number a listing shows.
onlyVerdictsKeep only the listings with these verdicts (e.g. not_in_register, closed, no_number).
regionsKeep only the results of these wards or cities (shinjuku, taito, osaka, kyoto…, other).
holderTypeOperator named by the list: any, person or company.
onlyWithPhoneOnly results with a phone number in the list (the place's, the operator's or the 民泊 manager's).
hostTypeany, business or individual hosts (Booking.com: professional or private, as the host declared).
minRating, excludeKeywordsMinimum rating out of 5 (Booking.com scores out of 10 are halved); words that drop a listing whose title contains them.
gpsToleranceKmDistance above which a licence of another ward, or a listed place with a position, is another property (1.5 km by default: Airbnb blurs positions).
includeHostProfileRead each Airbnb host's profile once for the number of listings they manage (default off).
includeCalendarRead each Airbnb listing's availability calendar from today to the end of the 11th month after this one (Airbnb's 12 calendar months): nights open, nights booked or blocked, the 180-night cap of a 民泊 (default off).
includeRiskScoreGive each listing a risk score from 0 to 100 and its reasons (default off: charged per listing whose row carries a score).
cardsOnlyDeliver only the card of each Airbnb search result and open no listing (default off: no number, no verdict; a price per card, nothing else charged).
includeProHostContactAdd the business e-mail and phone of professional Airbnb hosts, from publicly available sources (default off: charged per listing given a contact; looked up only when a company name is known, never under a person's name).
includeBusinessContactAdd the business e-mail and phone Booking.com shows for a professional host (default off: charged per property given a contact; the contact of Airbnb's business block stays free).
downloadPhotos, maxPhotosPerListingDownload the first photos of each listing into the run's storage and give their links, hashes and date (default off: charged per photo delivered; the second field is the number of photos per listing, 5 by default).
includeComparables, maxComparablesPerListingAdd the neighbouring Airbnb listings of each Airbnb listing and their median price per night (default off: charged per listing given comparables; the second field is the most kept per listing, 10 by default).
includeRevenueEstimateEstimate each Airbnb listing's revenue from its calendar and its price per night (default off: needs checkIn and checkOut, reads the calendar too; charged per listing given an estimate).
includeAiLabelsLabel the English description of each Airbnb listing with five AI labels (default off: charged per listing given its labels; needs 2 GB of memory, otherwise skipped and not charged).
onlyNew, stateKey, resetStateMonitoring: only the results never delivered under this memory key (e.g. tokyo-weekly); resetState forgets the memory.
AdvancedproxyConfiguration (Apify proxy by default, included in the price; the residential proxy is not available), maxConcurrency, maxRequestsPerMinute, minRequestIntervalMs, maxRequestRetries, debugLog.

📦 Output

A real Airbnb result, run with Host's listing count on (off by default: hostListingsCount is then null), shortened (some fields and list entries left out):

{
"id": "1395305853327502385",
"source": "airbnb_listing",
"url": "https://www.airbnb.com/rooms/1395305853327502385",
"title": "新宿中心85㎡大户型|2浴室配浴缸|2厕所|适合家庭&团体出行|独立电梯|最近车站步行2分|行李寄存",
"verdict": "valid",
"verdictReasons": [],
"verdictNote": "6新保衛環第183号 is in Shinjuku's list of hotels and inns (旅館業) (data of 2026-09-10): Shinjuku Grace House, 東京都新宿区百人町二丁目23番43号2F・3F, operator 株式会社GIL.",
"isSuspicious": false,
"region": "shinjuku",
"registrationText": "Hotels and Inns Business Act | 新宿区保健所 | 6新保衛環第183号",
"licensePhrases": [],
"licenseType": "ryokan",
"licenseAuthority": "新宿区保健所",
"licenseRegion": "shinjuku",
"licenseNumber": "6新保衛環第183号",
"licenseNumberNormalized": "6新保衛環第183号",
"otherLicenseNumbers": [],
"exemption": null,
"numberSharedWith": [],
"registerFound": true,
"registerNumber": "6新保衛環第183号",
"registerUrl": "https://www.city.shinjuku.lg.jp/content/000452996.pdf",
"registerName": "Shinjuku Grace House",
"registerType": "旅館・ホテル営業",
"registerCategory": "hotel",
"registerDate": "2025-04-08",
"registerHolder": "株式会社GIL",
"registerHolderType": "company",
"registerHolderRepresentative": "代表取締役 趙海南",
"registerHolderAddress": "東京都北区浮間二丁目11番10号",
"registerPhone": "03-5918-8445",
"registerAddress": "東京都新宿区百人町二丁目23番43号2F・3F",
"registerSource": "新宿区保健所 — 旅館業施設一覧",
"registerUpdatedAt": "2026-09-10",
"propertyType": "Entire apartment",
"roomType": "Entire home/apt",
"city": "Shinjuku",
"latitude": 35.7026,
"longitude": 139.6968,
"personCapacity": 9,
"bedrooms": 3,
"beds": 5,
"bathrooms": 2,
"rating": 5,
"reviewsCount": 92,
"isSuperhost": true,
"badges": [],
"highlights": [
"Top 5% of homes",
"Self check-in",
"Extra spacious"
],
"houseRules": [
"Check-in after 16:00",
"Checkout before 11:00",
"Self check-in with smart lock"
],
"sleepingArrangements": [
"Bedroom 1: 2 double beds",
"Bedroom 2: 1 king bed, 1 single bed",
"Bedroom 3: 1 king bed"
],
"amenities": [
"Bath",
"Hairdryer",
"Cleaning products"
],
"images": [
"https://a0.muscache.com/im/pictures/hosting/Hosting-1395305853327502385/original/4682c70a-a6f4-4843-b93e-ce84c06f0727.jpeg",
"https://a0.muscache.com/im/pictures/hosting/Hosting-1395305853327502385/original/d8de3d50-8c6a-4a77-9636-4cb2843b0c4c.jpeg",
"https://a0.muscache.com/im/pictures/hosting/Hosting-1395305853327502385/original/27029b15-e92f-4215-9165-27c72539d472.jpeg"
],
"hostId": "597797984",
"hostName": "Hainan",
"hostUrl": "https://www.airbnb.com/users/show/597797984",
"hostType": "individual",
"coHosts": [
"Thomas"
],
"hostListingsCount": 4,
"hostListingIds": [
"1569685188616667440",
"1395305853327502385",
"1395033610971735241"
],
"calendarMonths": [],
"calendarDays": [],
"priceDetails": [],
"riskReasons": [],
"riskChecksSkipped": [],
"comparables": [],
"photoFiles": [],
"photoSha256": [],
"proHostEmails": [],
"proHostPhones": [],
"scrapedAt": "2026-09-26T14:54:46.299Z"
}

A Booking.com property (shortened: the Airbnb-only fields are null or empty):

{
"id": "booking-17097121",
"source": "booking_listing",
"url": "https://www.booking.com/hotel/jp/stay-ari-apartment.html",
"title": "STAY ARI Apartment Hotel",
"verdict": "valid",
"verdictReasons": [],
"verdictNote": "8新保衛環第61号 is in Shinjuku's list of hotels and inns (旅館業) (data of 2026-09-10): STAY ARI Apartment Hotel, 東京都新宿区大久保一丁目9番26号SKYマンション103,105,106,107,108,109,110号, operator 株式会社Haru.",
"isSuspicious": false,
"region": "shinjuku",
"registrationText": "License number: 8新保衛環第61号",
"licensePhrases": [
"License number: 8新保衛環第61号"
],
"licenseType": "ryokan",
"licenseRegion": "shinjuku",
"licenseNumber": "8新保衛環第61号",
"licenseNumberNormalized": "8新保衛環第61号",
"numberSharedWith": [],
"registerFound": true,
"registerNumber": "8新保衛環第61号",
"registerName": "STAY ARI Apartment Hotel",
"registerType": "旅館・ホテル営業",
"registerDate": "2026-08-17",
"registerHolder": "株式会社Haru",
"registerHolderType": "company",
"registerPhone": "090-2213-1979",
"registerAddress": "東京都新宿区大久保一丁目9番26号SKYマンション103,105,106,107,108,109,110号",
"registerSource": "新宿区保健所 — 旅館業施設一覧",
"registerUpdatedAt": "2026-09-10",
"propertyType": "Apartment",
"city": "新宿区",
"address": "新宿区大久保1-9-26",
"latitude": 35.7000591490001,
"longitude": 139.704849661051,
"rating": 5,
"reviewsCount": 21,
"hostType": "business",
"bookingId": "17097121",
"bookingPageName": "stay-ari-apartment",
"isTrader": true,
"scrapedAt": "2026-09-26T14:55:20.085Z"
}

A place of a whole list (registerAreas, shortened):

{
"id": "8新保衛環第49号",
"source": "register_list",
"url": "https://www.city.shinjuku.lg.jp/content/000464995.pdf",
"title": "新宿6丁目シティステイ",
"verdict": "valid",
"verdictNote": "Record of Shinjuku's list of hotels and inns (旅館業) (data of 2026-09-10).",
"region": "shinjuku",
"licenseType": "ryokan",
"licenseNumber": "8新保衛環第49号",
"registerFound": true,
"registerNumber": "8新保衛環第49号",
"registerName": "新宿6丁目シティステイ",
"registerType": "旅館・ホテル営業",
"registerCategory": "hotel",
"registerDate": "2026-08-31",
"registerHolder": "株式会社アクト",
"registerHolderType": "company",
"registerHolderRepresentative": "代表取締役 北川 大樹",
"registerHolderAddress": "東京都品川区東中延二丁目9番11号",
"registerPhone": "03-5366-5960",
"registerAddress": "東京都新宿区新宿六丁目5番1号山一ビル1階",
"registerSource": "新宿区保健所 — 旅館業施設一覧",
"registerUpdatedAt": "2026-09-10",
"scrapedAt": "2026-09-26T14:58:13.606Z"
}

You can download the dataset in various formats such as JSON, HTML, CSV or Excel. The Overview, Operators and contacts, Official list and Hosts views of the Output tab show the main columns.

All 144 fields

FieldsWhat you get
id, source, url, titleResult: Airbnb id, booking- + the Booking.com property id, the licence number given alone, or the number of a list record; airbnb_listing / airbnb_card / booking_listing / license_number / register_list; link (the list file for a number or a record); title
verdict, verdictReasons, verdictNote, isSuspicious, regionVerdict: see the table of verdicts below; the reasons found; one sentence; the ward or city
registrationText, licensePhrases, licenseType, licenseAuthority, licenseRegionLicence: the block as shown on Airbnb, the sentences shown on Booking.com, ryokan / minpaku / tokku, the public health centre named, the ward whose list holds the number
licenseNumber, licenseNumberNormalized, otherLicenseNumbers, exemption, numberSharedWiththe number as written and as the lists write it, the other numbers of a building, the exemption claimed, the other listings of the run with the same number
registerFound, registerNumber, registerUrl, registerName, registerType, registerCategoryOfficial list: found or not, the listed number, the list file, the name of the place, 旅館・ホテル営業 / 簡易宿所営業 / 住宅宿泊事業…, and in English hotel / simple_lodging / minpaku…
registerDate, registerClosedDatelicence date, closure date
registerHolder, registerHolderType, registerHolderRepresentative, registerHolderAddress, registerHolderPhoneOperator: name, company / person / hidden, representative, address, phone
registerPhone, registerAddress, registerBuilding, registerRooms, registerPlacesPlace: phone, exact address, building and room, rooms and guests allowed
registerManager, registerManagerNumber, registerManagerPhone民泊 manager: company, registration number, phone
registerLatitude, registerLongitude, distanceKm, registerHighestNumberposition of the listed place, km to the listing, newest 民泊 number of the lists of Tokyo, Osaka or Kyoto (the number's own)
registerSource, registerUpdatedAt, registerCheckedAtpublisher and list, date of its data, time it was read
propertyType, roomType, city, address, latitude, longitude, isExactLocationListing: Entire apartment, Entire home/apt, city, street address (Booking.com), position (blurred by Airbnb), exact or approximate
personCapacity, bedrooms, beds, bathrooms, sleepingArrangementsguests, rooms, where you'll sleep
rating, reviewsCount, ratingAccuracy, ratingCheckin, ratingCleanliness, ratingCommunication, ratingLocation, ratingValueratings out of 5 (Booking.com's score out of 10, halved) and number of reviews
isSuperhost, isGuestFavorite, isNewListing, homeTier, badges, highlightsSuperhost, Guest favourite, new listing, tier, search badges, highlights
description, descriptionLanguage, locationText, locationDescription, houseRules, houseRulesAdditional, amenities, imagesfull description, its language, area, the host's text about the neighbourhood, house rules, additional rules, amenities, photo links
hostId, hostName, hostUrl, hostType, isTrader, hostIsVerified, hostYearsHostingHost: id, name, profile link, business / individual, professional host on Booking.com, verified, years hosting
hostResponseRate, hostResponseTime, hostRating, hostReviewsCount, hostAbout, hostPictureUrl, hostLocation, coHostsresponse rate and time, rating and reviews over all their listings, presentation, photo, where they live, co-hosts
hostListingsCount, hostListingIdshow many listings they manage, the IDs their profile shows (10 at most)
calendarFrom, calendarTo, calendarNightsOpen, calendarNightsBlocked, calendarOver180Nights, calendarMinNights, calendarMonths, calendarDaysAvailability calendar (when on): the nights checked (today to the end of the 11th month after this one), nights open, nights booked or blocked, open more than the 180 nights a 民泊 may host, minimum stay, per month, per day
businessName, businessRegistry, businessTaxId, businessEmail, businessPhone, businessAddressBusiness host details, when Airbnb shows them (its e-mail and phone are free); the e-mail and the phone of a Booking.com professional host are the Business contact option
price, currency, pricePerNight, priceText, priceDetails, priceNights, checkIn, checkOutPrice from the search results: total, currency, per night, as shown, breakdown, nights, dates
bookingId, bookingPageNameBooking.com: the property id and the name of its page
proHostCompany, proHostWebsite, proHostEmails, proHostPhones, proHostContactSourceUrl, proHostContactConfidenceProfessional host contact (option): the company of a professional Airbnb host, its website, its business e-mails and phones, the page they come from, how sure the contact is
photoFiles, photoSha256, photosDownloadedAtPhotos (option): the public links of the photos kept in the run's storage, their SHA-256, the time of the download
comparables, comparablesMedianPriceComparables (option): the nearest Airbnb listings of the same type within one bedroom (id, link, price per night, currency, bedrooms, rating, distance) and their median price per night
estimatedNightsBooked12m, estimatedRevenue12m, estimatedOccupancy, revenueCurrencyRevenue estimate (option): nights blocked in the calendar, their revenue at the price per night searched, the share of the calendar blocked, the currency
aiLabels, aiLabelScoresAI labels (option): five yes / no labels read in the description and the confidence behind each
riskScore, riskReasons, riskChecksSkippedRisk score (option): 0 to 100, the codes of the rules that gave it, the rules that could not play for lack of data
searchUrl, scrapedAtthe search the listing was found by, time of the check

💡 Tips

What each verdict means

When a listing has several problems, its verdict is the highest one in this table, and verdictReasons lists them all.

VerdictMeaning
validThe number is in the list of its ward or city; the listed place is near the listing and the guests fit, where the list gives a position or a capacity (otherwise verdictNote says what could not be checked).
closedThe number is in a list of closures and no longer in the current list.
not_in_registerWell-formed, but in none of the lists that should hold it, and older than the list: withdrawn, never licensed, or a typing error.
other_propertyThe licence of another ward than the listing's (farther than Distance tolerance from its border), or a listed place far from the listing.
over_capacityThe listing takes more guests than the list allows (Minato, Kita).
unknown_formatThe text shown is not a 旅館業, 民泊 or 特区民泊 number — or only its rank (第10105号), shared by several places of the list.
no_numberThe listing shows no licence number.
exempt_claimedThe listing says it is exempt (Exempt).
not_yet_listedAbsent, but newer than the list — its rank is above every permit of its year and office in the list; its 民泊 number above the newest of Osaka's or Kyoto's list, or, in Tokyo, above or within 1,500 of the newest listed (about a month of notifications): lists are updated monthly or quarterly.
region_not_coveredThe number cannot be checked there: outside the 23 wards, Osaka and Kyoto (an Osaka or Kyoto 民泊 number shown by a listing of another town of the prefecture included), or a list published without the numbers (see below).
register_unavailableThe list could not be read in this run (the ward's site was down, or the file was not the list).

Which lists give what

Every ward publishes its own lists, in its own format. A list published without the licence numbers cannot confirm a number (region_not_covered); it still gives its places in Register lists.

Ward / city旅館業 (hotels, inns)民泊 (private lodging)
Shinjuku, Taito, Sumida, Shinagawa, Shibuya, Suginami, Kita, Nerima, Katsushika, Edogawa, Minato, Arakawanumbersnumbers (Arakawa: no numbers)
Nakanonumbers, updated once or twice a yearno numbers
Meguronumbers without their yearnot read
Chiyoda, Chuo, Bunkyo, Koto, Toshima, Itabashino numbersnumbers
Ota, Setagayano numbers (Ota's 特区民泊: no numbers)no numbers
Adachino public listnumbers
Osakano numbers (特区民泊: no numbers)numbers
Kyotono numbersnumbers

What the lists add on top of the number (September 2026): the exact address in all of them, the building and room in most 民泊 lists; the operator in the 旅館業 lists of Chuo, Shinjuku, Bunkyo, Taito, Sumida, Shinagawa, Meguro, Shibuya, Suginami, Kita, Itabashi, Nerima, Osaka and Kyoto (and Osaka's 特区民泊), and in the 民泊 lists of Bunkyo, Toshima and Arakawa; a phone (of the place, the operator or the 民泊 manager) in 29 of the 50 lists; rooms and guests in Minato and Kita, rooms in Itabashi; a position in the 旅館業 lists of Taito and Nakano and in Minato's 民泊 list; a licence date in all but Adachi's, Nerima's and Koto's 民泊 lists, Osaka's lists, the 旅館業 lists of Toshima, Koto and Ota, and Ota's 特区民泊 list — a place without a date is left out by Licensed on or after. Some wards hide the names of private persons: Shibuya, Shinagawa and Kita mask them (registerHolderType is then hidden), Taito leaves the cell empty (registerHolder and registerHolderType are null), Sumida leaves private persons out of its 旅館業 list.

Measured on 379 Tokyo listings with a number (September 2026): 68 % were found in their list with its exact address (28 % with the operator's name too), 71 % could be checked.

How to cover a whole ward

Airbnb shows at most 270 listings per search. With Split full areas on (default), a full search is cut into 4 smaller map areas, again and again, until each shows everything. A place's area is Airbnb's own map of it, which does not always cover the whole ward: add Map areas (boundingBoxes) to be sure.

Booking.com shows at most 1,000 properties per search. With Split full areas on, a bigger search is also read district by district.

Airbnb and Booking.com

Tick both in Platforms to check the same places on both: every place gives one Airbnb search and one Booking.com search, each with its own Max listings per search — left at 0, Max results is shared evenly between them. A Booking.com property goes through the same lists and verdicts as an Airbnb listing, with what Booking.com shows instead of Airbnb's page:

  • Several numbers: a building of 民泊 flats shows one number per flat. The first is checked; the others are in otherLicenseNumbers, and verdictNote says so.
  • No number of guests: Booking.com does not give it, so over_capacity is never raised for a Booking.com property.
  • No host profile: the host's name and profile are Airbnb's; Booking.com gives only whether the host is a professional (isTrader).

Risk score (option)

Tick Risk score (0-100) to get, for each Airbnb listing and Booking.com property, one number from 0 (nothing wrong) to 100 and the codes of the rules behind it. The rules add their weights up, 100 at most, the verdict first:

Rule (code in riskReasons)Points
Verdict closed (verdict_closed)80
Verdict not_in_register (verdict_not_in_register)65
Verdict other_property (verdict_other_property)55
Verdict no_number (verdict_no_number)50
Verdict over_capacity (verdict_over_capacity)45
Verdict unknown_format (verdict_unknown_format)40
Verdict not_yet_listed (verdict_not_yet_listed)25
Verdict exempt_claimed (verdict_exempt_claimed)20
Verdict region_not_covered (verdict_region_not_covered)10
The same number shown by another listing of the run (number_shared)20
The registered address is more than 0.3 km from the listing (distance_over_300m)10
An entire home (entire_home)5
The host manages 3 listings or more (host_3_or_more_listings) / 2 listings (host_2_listings)25 / 10
Open more than 180 nights, the yearly cap of a 民泊 (over_180_nights)25
A professional host (trader_host)10

The host's listings count only with Host's listing count ticked, the 180 nights only with Availability calendar ticked: a rule whose data is not read is skipped, named in riskChecksSkipped, and never counted as a risk. A distance the list cannot give (number not found) is skipped the same way. When the list could not be read in the run (register_unavailable) there is nothing to score: no score, nothing charged. It is a guide to which listings to look at first, not a finding of fault.

Professional host contact (option)

Airbnb shows an e-mail or a phone for a few hosts only, and the official lists rarely give the operator's. Tick Professional host contact to get the business email and phone of professional hosts, from publicly available sources: proHostEmails and proHostPhones (3 each at most, phones as +81 3 5789 5712), with proHostContactSourceUrl (the page they were read from), proHostCompany and proHostWebsite, and proHostContactConfidence (high when an e-mail is on the company's own domain, medium otherwise). A host is looked up only when a company name is known: the business name Airbnb gives, or a host or co-host whose name is a company's (Goen Stay, NEWO Inc., Top Edge Co., Ltd.). A host with a person's name only is never looked up, whatever the type of host or the number of listings, and neither is a company written only in Japanese letters (株式会社…): the search starts from a name in Latin letters. A company is looked up once per run, however many listings it has. When no contact is found, the listing is delivered as it is and not charged; you pay pro-host-contact once per listing whose row carries an e-mail or a phone. The contact Airbnb's own business block shows stays free in every run. Checked in October 2026 on the 30 companies behind 588 Japanese listings: 6 were found, 4 with an e-mail on their own domain. Not available with Cards only (fast); for Booking.com properties see Business contact.

Business contact (option)

A professional Booking.com host (isTrader: a company, as Booking.com labels it) shows a business e-mail and phone on its property page. Tick Business contact (Booking.com) to get them in businessEmail and businessPhone — for the professional hosts only: a private host's contact is not given, and the official lists give none. The e-mail and phone that Airbnb's own business block shows stay in the results of every run, for free, as before. In October 2026, 26 of the 30 Japanese Booking.com properties read were professional hosts, and all 26 showed both an e-mail and a phone. A property is charged business-contact once, when its row carries an e-mail or a phone; a row without either costs nothing extra. These are professional contact details published by the host on Booking.com; you are responsible for using them in compliance with the applicable law (see the FAQ). Not available with Cards only (fast).

Photos (option)

The links of a listing's photos are in images in every run, for free. Tick Download photos to also keep the photos themselves: the first Max photos per listing (5 by default) of each Airbnb listing — a Booking.com property has its main photo — are downloaded into the key-value store of your run, and the row gets photoFiles (the public link of each, in the order of the listing's photos), photoSha256 (the SHA-256 of each) and photosDownloadedAt (the time of the download). It is a dated copy of what the listing showed that day, and the hash shows that a file is the one that was downloaded. A photo that cannot be had — gone, not an image, too big — is left out and not charged; you pay photo-download for each photo delivered. Photos are the sites' own files, kept as they are: your storage grows by their weight (a few hundred KB each), and the records follow the retention of your run's storage. Not available with Cards only (fast).

Cards only (option)

Tick Cards only (fast) to get just what Airbnb shows in its search results, without opening the listings: the link, title, type of place (propertyType: Apartment, Flat, Home…), price, rating, position, bedrooms and the dates of the search. It is faster and cheaper than a full check, and the right choice to list or monitor what is offered; the rows have source set to airbnb_card and verdict set to unchecked — no licence number, no verdict, nothing from the official lists. A run in this mode is charged one listing-card per card, and nothing else (no check fee for a card your filters drop: minimum rating, excluded words and the dates and prices of the search still apply).

It needs a place, a map area or an Airbnb search URL. It cannot be mixed with what needs the listing page or the lists — host profile, calendar, risk score, revenue estimate, comparables, AI labels, listing URLs and IDs, Booking.com, licence numbers, whole lists of wards, the host type filter (Airbnb's search results do not say it), and the filters on verdicts, regions, operator, phone and kind of licence: the run is refused at the start, naming each one.

Comparables (option)

Tick Comparable listings to get, for each Airbnb listing, comparables: the Airbnb listings around it that are of the same type of place (entire home, private room…) and within one bedroom of it, the nearest first, up to Max comparables per listing (10 by default) — each with its link, pricePerNight, bedrooms, rating and distanceKm — and comparablesMedianPrice, their median price per night. Give Check-in date and Check-out date to get the prices (the nightly rate of those dates, before taxes and fees, in the currency of the run); without dates the neighbours carry no price and there is no median.

The neighbours are read from the search results around the listing, not from their own pages, and one search serves all the listings of the same area (about 500 m), type of place and size: a run over a whole district costs a few searches, not one per listing (a district with every size of home costs one search per type of place and size). Airbnb shows the 18 best results of an area, so the neighbours are those of that page that fit: a quiet area may give fewer than the maximum, a listing whose type or position is unknown, or an entire home whose bedrooms are unknown, gets none (no search is made for it, nothing is charged). A listing is charged comparables only when its row carries at least one neighbour. Checked in October 2026 on 30 listings of Tokyo, Osaka and Kyoto: all 30 had neighbours.

Revenue estimate (option)

Tick Revenue estimate (12 months) and give Check-in date and Check-out date to get, for each Airbnb listing found by a search, an estimate of what its calendar says it earns: estimatedNightsBooked12m (the nights of the calendar that are not open), estimatedRevenue12m (those nights × the pricePerNight of the dates searched, in revenueCurrency) and estimatedOccupancy (the share of the calendar blocked, 0 to 1). The option reads the listing's calendar (the same one as Availability calendar, charged as such) — but only when the run has dates: without them no card has a price per night and nothing would be estimated.

It is an estimate: a night the calendar shows as not open may be rented or simply closed by the host, Airbnb does not tell them apart (the figure is an upper bound of the nights rented), and the price is the average nightly rate of the dates you searched, not of the year. A listing given by URL or ID has no price per night: it gets no estimate and is not charged for one. The log counts the listings estimated and those left without.

AI labels (option)

Tick AI labels to have the description of each Airbnb listing read for five things, each a yes / no in aiLabels with its confidence (0 to 1) in aiLabelScores:

Label (key)What it saysTrue from
managed_by_companyThe listing is run by a company or a property manager0.50
self_check_inGuests check in by themselves (lockbox, keypad, code)0.60
long_stayMonthly or long stays (28 nights or more)0.50
not_principal_residenceThe host does not live in the home (a 民泊 run by an absent host)0.75
mentions_licenceThe text mentions a licence or a permit (not the registration block Airbnb adds)0.50

The labels are read in the host's own text and are indications, not facts: expect some misses and some false alarms, and a host who does not write it down gets false (a long description is read to its end, up to about 6,000 characters). Only English descriptions are read: a description in Japanese, Chinese, Korean or any other language, a Booking.com property or a listing without a description gets null and is not charged. On Japanese listings checked in October 2026 about 45 descriptions in 100 were in English. The option needs 2 GB of memory (Run options → Memory): on a smaller run it is skipped, the log says so, and nothing is charged. The descriptions are read one at a time, so a run with the option is slower and costs more compute; it is charged once per listing given its labels (ai-labels).

How to reduce costs

The levers are maxItems, maxItemsPerQuery, Keep only these verdicts (a listing dropped costs only the filter fee), using Cards only (fast) when you do not need the number, leaving Host's listing count, Availability calendar, Risk score (0-100), Revenue estimate (12 months), Comparable listings, Download photos, Business contact (Booking.com), Professional host contact and AI labels off, onlyNew for recurring runs (you never pay twice for the same listing), and searching only the platform you need.

Several searches in one run

Fill locations and / or boundingBoxes, or paste several search URLs: one search each (up to 100 places, 100 map areas and 1,000 URLs per run). A listing found by several searches is saved — and charged — once. Set maxItemsPerQuery to give every search its own cap.

Monitoring: only the new listings

Tick Only new listings (onlyNew) and schedule the Actor. The first run returns everything; each later run skips the listings already delivered: they are not saved, not charged, and their page is not even opened. The memory lives in a named key-value store of your account (airbnb-japan-license-checker-seen, up to 150,000 listings per key) and is only updated with listings that really reached the dataset, plus, apart, the ones your filters dropped: a listing your filters drop is checked (and charged) once; the next runs with the same filters skip it for free. Change a filter, or tick resetState, to check them again. Give each schedule its own stateKey, and tick resetState once to start over. With Register lists, the same memory returns only the places never delivered, newest first: the places licensed since the last run once a run has taken the whole list (Max results 0) — after a capped run, the next one also gives the older places left. A listing saved while its official list could not be read (register_unavailable) is not remembered, saved or dropped: the next run checks its number, and charges it, again.

How the lists are read

Each list is found on its ward's page at every run, read once, and checked: the run's key-value store holds a SOURCES record with, for every list, the file read, its date, and how many places and numbers it gave. A 民泊 number (M13…) does not say its ward: every Tokyo 民泊 list is read for it, and the ward is the one whose list holds it. A 旅館業 number is looked up in the list of the public health centre that issued it.

🔌 Integrations and API

Call the Actor via the Apify API, the JavaScript or Python clients, or connect it with integrations and webhooks (Make, Zapier, n8n, Google Sheets, Slack, Airtable…). The dataset can be fetched as JSON or CSV from any tool.

🤖 Use with AI agents (MCP)

AI agents (Claude, ChatGPT, Cursor…) can find and run this Actor through the Apify MCP server, billed to their Apify account like any run. It returns one item per Airbnb listing or Booking.com property checked (or per licence number, or per place of a whole list). Actor id: nice_dev/airbnb-japan-license-checker; MCP server with this Actor only: https://mcp.apify.com/?tools=fetch-actor-details,nice_dev/airbnb-japan-license-checker.

Smallest input, for a cheap first call:

{
"licenseNumbers": ["8新保衛環第61号"],
"maxItems": 5
}

Key output fields: url, verdict, verdictNote, licenseNumber, registerAddress, registerHolder, registerPhone, hostName.

Cost: see the prices on the Pricing tab. Cap each call with maxItems and, through the API, with the run option maxTotalChargeUsd.

❓ FAQ

The Actor only reads what Airbnb and Booking.com show publicly to any anonymous visitor, and the lists of licensed places that the wards of Tokyo and the cities of Osaka and Kyoto publish on their own websites; each result names its list and its date. It logs in to nothing. The ward of a listing is found with the administrative boundaries of 国土数値情報 (MLIT, CC BY 4.0). Results contain personal data (names of private operators, representatives, phone numbers, host names), protected by Japan's Act on the Protection of Personal Information and by GDPR: do not store or use them without a legitimate reason. The business e-mail and phone of the Business contact (Booking.com) option are professional contact details that a professional host publishes on its own property page; sending commercial messages to them is governed by the law of the recipient's country: you answer for how you use them. The Professional host contact option returns business contact details of companies, taken from publicly available sources, with the page each one comes from; it never looks up a private person, and the same duties apply to how you use them. Minato, Shinagawa and Nerima ask that their 民泊 lists not be used for sales canvassing: this Actor uses them to check numbers only, and does not give them in Register lists. You are responsible for using the data in compliance with Airbnb's and Booking.com's Terms of Service, the terms of each ward's website, and applicable law. This Actor is not affiliated with Airbnb, Booking.com or any Japanese administration.

Does it need a login or a proxy?

No login. The proxy is included in the price: leave the default setting (the residential proxy is not available). A request the site turns away is retried at once on a new proxy session, up to 10 times on top of the retries (without a proxy, after a pause of 5 seconds, doubled at each retry up to 150 seconds).

Is the data safe to open in Excel or to show on a web page?

Titles and descriptions are the hosts' own words, copied as they are; the list fields are copied as each ward writes them (full-width letters turned half-width). A text can begin with -, +, = or @ (a phone number starts with +): Excel and Google Sheets may read such a cell of a CSV file as a formula or as a number, and a phone number such as 03-5918-8445 may lose its first 0. The Actor leaves the text as it is, so that the JSON and the API give the real value: when you open a CSV, import these columns as text. On a web page, escape every field like any text written by a stranger.

Known limitations

  • Lists without numbers (see Which lists give what) give region_not_covered for their numbers.
  • The lists are updated monthly, quarterly, or once or twice a year (Nakano 旅館業); Koto's 旅館業 list is the Tokyo open-data copy of February 2026 (registerUpdatedAt gives each list's date): a place licensed after its list's date gets not_yet_listed, never not_in_register.
  • Many lists are PDF files laid out for printing: on a few lines a cell can take a piece of its neighbour (a phone number printed in the address column). The licence number itself is read on its own.
  • The price comes from Airbnb's search results: listings given by URL or ID, and Booking.com properties, have none.
  • A host profile shows 10 of its listings at most: hostListingsCount is the full count, hostListingIds the first ones.
  • The calendar tells open nights from the others, not a booking from a night the host blocked: calendarNightsBlocked counts both. Airbnb gives 12 calendar months from the 1st of the current one, so late in a month fewer nights are counted (335 on the 31st): calendarOver180Nights is then never a false alarm, but a listing just over the cap can read false. Booking.com properties have no calendar here.
  • onlyNew remembers ids, not their content: a listing whose licence changed is not returned again.

A run the platform stops without warning (out of memory, run timeout)

  • Resurrect it: it goes on from where it stood at most a minute before the stop. What it had read since is read again, and the listings already saved are skipped: none is delivered or charged twice, and maxItems still counts them.
  • With onlyNew, the memory is saved after each write (at most once every 2 seconds): resurrect the stopped run and the listings it had saved meanwhile join the memory; leave it stopped for good, and the next run may return the listings of its last 2 seconds once more.

Something doesn't work?

The last line of the log counts the results saved, filtered out and no longer on Airbnb or Booking.com (removed while the run was reading them), and the requests that failed after every retry. Those requests and the removed listings are listed, with the reason, in the FAILED_REQUESTS record of the run's key-value store. A run that saved nothing and had failed requests fails, and its last message gives the cause. A list that cannot be read does not fail the run: its listings get register_unavailable, and the SOURCES record says why. A list is read when the first listing that needs it comes: meanwhile the log shows … could not be completed in its handler's time: read again for those listings — they are read again once it is there, nothing is lost or charged twice.

If Airbnb changes its pages, you are told instead of paying for blank rows. A results page that gives no listing the Actor can read is an error (listed in FAILED_REQUESTS), never a quiet "No listings found". If the first 20 listings read all lack their title, position, guests, room type, host, photos or registration block (hotels aside), the run saves nothing more, stops and fails, and its last message names the missing field: at most those first listings are charged. A listing a filter drops because such a field is missing counts among those 20.

🛟 Support

Open an issue in the Issues tab with a link to your run: the run log and the FAILED_REQUESTS and SOURCES records of the key-value store show exactly which URLs or lists failed and why.