# Rate Parity Checker: Spreads Over 10%

**Use case:** 

A parity report nobody reads is worse than none. minSpreadPct 10 delivers only properties whose cheapest and dearest source differ by more than ten percent, so the dataset is the exception list. Properties inside the tolerance produce a free status row and are never billed. Cost: 6 parity rows at $0.01 = at most $0.06 a run.

## Input

```json
{
  "hotels": [],
  "hotelNames": [
    "Le Meurice Paris",
    "Hotel Lutetia Paris",
    "Pullman Paris Tour Eiffel",
    "Hotel Scribe Paris Opera",
    "Mercure Paris Centre Tour Eiffel",
    "Novotel Paris Centre Gare Montparnasse"
  ],
  "checkIn": "21 days",
  "nights": 1,
  "sweepDays": 0,
  "adults": 2,
  "childrenAges": [],
  "currency": "EUR",
  "language": "en",
  "country": "fr",
  "minSpreadPct": 10,
  "proxyConfiguration": {
    "useApifyProxy": true
  },
  "sessions": 4,
  "perIp": 0.5
}
```

## Output

```json
{
  "hotel_name": {
    "label": "Property",
    "format": "string"
  },
  "check_in": {
    "label": "Check-in",
    "format": "string"
  },
  "check_out": {
    "label": "Check-out",
    "format": "string"
  },
  "currency": {
    "label": "Currency",
    "format": "string"
  },
  "n_sources": {
    "label": "Sources",
    "format": "integer"
  },
  "min_source": {
    "label": "Cheapest source",
    "format": "string"
  },
  "min_price": {
    "label": "Cheapest",
    "format": "number"
  },
  "max_source": {
    "label": "Dearest source",
    "format": "string"
  },
  "max_price": {
    "label": "Dearest",
    "format": "number"
  },
  "spread_pct": {
    "label": "Spread %",
    "format": "number"
  },
  "median_price": {
    "label": "Median",
    "format": "number"
  },
  "official_source": {
    "label": "Official site",
    "format": "string"
  },
  "official_price": {
    "label": "Direct rate",
    "format": "number"
  },
  "official_is_cheapest": {
    "label": "Direct is cheapest",
    "format": "boolean"
  },
  "undercut_by": {
    "label": "Undercut by",
    "format": "array"
  },
  "undercut_pct": {
    "label": "Undercut %",
    "format": "number"
  },
  "hotel_url": {
    "label": "Google Hotels",
    "format": "string"
  }
}
```

## About this Actor

This example demonstrates how to use [Hotel Rate Parity Checker — OTA Price Comparison](https://apify.com/kestrel/hotel-rate-parity.md) with a specific input configuration. Visit the [Actor detail page](https://apify.com/kestrel/hotel-rate-parity.md) to learn more, explore other use cases, and run it yourself.


## 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.
This Task's input is already configured above — use it as-is rather than inventing a new one.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For full API examples (JavaScript, Python, CLI, MCP, OpenAPI), see this Task's Actor page: https://apify.com/kestrel/hotel-rate-parity.md

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).
