# Japan Dog-Friendly Hotels: Fees & Stay Rules (`a_a2ad/japan-dog-friendly-stay-rules`) Actor

Compare dog-count, room, fee and vaccination-proof conditions for five selected Japanese hotels. Official sources and explicit unknowns. $0.005 per complete hotel record; a dated snapshot, not booking availability.

- **URL**: https://apify.com/a_a2ad/japan-dog-friendly-stay-rules.md
- **Developed by:** [Manabu Omae](https://apify.com/a_a2ad) (community)
- **Security:** Limited permissions
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$5.00 / 1,000 facility records

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Japan Dog-Friendly Stay Rules

Retrieve structured dog-stay conditions for **five selected Japanese hotels**, with official source links, document locations and observation times. One result keeps room-specific dog limits, fees, vaccination proof, exceptions and unresolved conditions together.

**Initial snapshot: 6 November 2026.** This Actor reads a curated dataset. It does not visit hotel websites during a run. It does not provide booking availability or decide whether an individual dog will be admitted.

### Coverage

| Record ID | Property | Location |
|---|---|---|
| `jp-dog-stay-hakone` | ゆるり箱根 with DOGS / Yururi Hakone | Hakone, Kanagawa |
| `jp-dog-stay-atami` | ゆるり熱海 with DOGS / Yururi Atami | Atami, Shizuoka |
| `jp-dog-stay-nishiizu` | ゆるり西伊豆 / Yururi Nishiizu | Izu, Shizuoka |
| `jp-dog-stay-okunikko` | ゆるり奥日光 with DOGS / Yururi Okunikko | Nikko, Tochigi |
| `jp-dog-stay-kitakaruizawa` | ゆとりろガーデン北軽井沢 with DOGS | Tsumagoi, **Gunma** |

These five properties share an operator. Coverage is limited to the room types and dog-policy dimensions stated inside each record. It is not a nationwide hotel directory. The separate Relo Stay VILLA Atami is outside the Atami record.

### What the records preserve

- Room type × dog category × dog-count alternatives. A price for three dogs does not mean every room accepts three.
- Standard dog-fee totals and the membership, booking-channel, meal-plan and multi-night conditions that can change them.
- Rabies proof together with the combination-vaccine or antibody-certificate alternative; the alternative is not applied to rabies.
- Published exceptions, room/shared-area restrictions, relevant seasonal closure and the Oku-Nikko campaign.
- Source URLs and condition-level locators, uncertainty reasons, and the scope of the independent factual-use assessment.

The normalized facts are mainly English; official property and room names are also retained in Japanese. `logic.all` and `logic.any` preserve descriptive relationships. They are not an executable admission or invoice calculator.

### Input examples

All five records:

```json
{"limit": 20}
```

One exact property:

```json
{"record_ids": ["jp-dog-stay-hakone"], "limit": 1}
```

Search the snapshot in Japanese or English:

```json
{"query": "箱根", "limit": 1}
```

Optional fields are `record_ids`, `query` and `limit` only. Text search is Unicode-normalized and case-insensitive; all whitespace-separated terms must occur. A search does not establish that its conditions apply to the buyer's circumstances. Explicit `record_ids: []` returns no records; omit it to search all. Repeated IDs are deduplicated. Unknown IDs and unmatched queries return no items. The limit is 1–20; this version has only five records.

### Output and reuse

Each Dataset item contains `record_id`, `title`, `policy_scope`, all `rule_groups`, `sources`, `rights`, `needs_confirmation` and `confirmation_reasons`. It also includes `data_version`, `record_revision_sha256`, the snapshot observation time and the run retrieval time.

Use the record ID and revision hash to cache an unchanged record. `retrieved_at_jst` describes this retrieval; it is not evidence that the hotel was checked again. An unchanged snapshot is returned when the same version runs again. There is no automatic refresh or update SLA in this release.

Read the uncertainty alongside the conditions. In particular, the official breed guide uses reference weights and breed categories; it is not a universal weight-only admission rule. Some fee interactions and mixed-size parties remain unresolved. Undated consent PDFs remained publicly available when checked but were absent from the live consent index; their additional conditions are explicitly marked `CURRENT_APPLICABILITY_UNCONFIRMED`. The campaign's 2026–2027 years are labelled as an inference. These findings remain part of the complete information record.

### Pricing

**$0.005 per complete facility record ($5 per 1,000 results).** All five cost **$0.025**. There is no Actor-start fee; platform usage is included in this Actor price. An empty result produces zero Dataset-item charges. A record with uncertainty is still one delivered information record. Repeated retrievals are charged again, so cache results when appropriate.

Set the run's maximum total charge to at least $0.025 when requesting all five. If the remaining event allowance cannot cover the selected batch, the Actor stops before emitting that batch. It does not split a facility into separately billed conditions.

### Sources and boundaries

The records independently structure facts from the linked official pages and documents. They do not redistribute photographs, source-page prose, full forms or the full breed catalogue. This is an independent information product with no hotel affiliation or claim of an operator data licence. `rights` states the limited case-specific basis; public accessibility alone is not represented as a licence.

For a stay, check the applicable current terms with the hotel using the included official sources. The Actor does not contact hotels, book rooms, collect medical documents or calculate personalized admission. For data errors, use the Actor's Issues tab and identify the record and source.

# Actor input Schema

## `record_ids` (type: `array`):

Optional exact IDs listed in the README. An explicit empty list selects no records; omit this field for all records. Duplicate IDs produce one result each.

## `query` (type: `string`):

Optional text search over titles, locations and recorded conditions. All whitespace-separated terms must occur. Up to 200 characters and 20 terms. This searches the snapshot, not the web.

## `limit` (type: `integer`):

1–20. The current snapshot contains only five records; each result retains its conditions, sources and caveats.

## Actor input object example

```json
{
  "limit": 20
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {};

// Run the Actor and wait for it to finish
const run = await client.actor("a_a2ad/japan-dog-friendly-stay-rules").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {}

# Run the Actor and wait for it to finish
run = client.actor("a_a2ad/japan-dog-friendly-stay-rules").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{}' |
apify call a_a2ad/japan-dog-friendly-stay-rules --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,a_a2ad/japan-dog-friendly-stay-rules"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/PZzrSTSrXOOSO5N4H/builds/GJeQNUr7hhsauA1Qz/openapi.json
