> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://developers.pricelabs.co/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://developers.pricelabs.co/_mcp/server.

# Listings

### `get_listings`

Returns a **minimal** list of all listings in your account — just the core fields (id, name, PMS, property, group, parent) plus each listing's **channel/OTA listing IDs** (`channel_listing_details` — the IDs the listing has on Airbnb, Vrbo, Booking.com, and other channels). No metrics or pricing, so it's fast. Use this **first** to pick a `listing_id` and `pms_name`, then call `get_listing_data` when you need full records.

**Best for:** Browsing your portfolio, finding a listing id, or mapping your listings to their channel/OTA IDs.

**Example:** "Show me all my listings"

### `get_listing_data`

Pulls detailed records for one or more listings. Returns performance metric columns, amenities, groups and tags, sync and hidden flags, and when prices were last refreshed. Heavier than `get_listings`; supports filtering to one listing, hidden-only-off, or sync-only.

**Best for:** Deep dives on a specific listing, comparing metrics across properties, or checking sync status.

**Example:** "Give me occupancy, base price and bedrooms count for **Sunset Villa**"

### `update_listing_data`

Updates min, base, or max prices, tags, or price sync for one or more listings. Requires OAuth write access — use `get_listing_data` to read current values before updating.

**Best for:** Adjusting base pricing, tags, or sync from a chat without opening the dashboard.

**Example:** "Set the base price for **Sunset Villa** to 250"

### `get_groups`

Lists the groups on your account with their ids, names, and whether any listings are assigned to each one. This is the reliable way to resolve a group before calling a group-level tool: a listing can still carry the id of a group that has since been deleted.

**Best for:** Finding the group id to use with `get_group_listings` or the customization tools.

**Example:** "What groups do I have?"

### `get_group_listings`

Returns the listings assigned to one group or subgroup, optionally narrowed to a single PMS. Results are paginated, so check the pagination block before assuming the first page is everything.

**Best for:** Checking which properties a group-level pricing change would affect.

**Example:** "Which listings are in my **Beach Houses** group?"

### `map_listings`

Maps (links) child listings under a parent listing — parent-child mapping. Use it to group the same property's listings across channels (Airbnb, Vrbo, Booking.com, …) so they are managed and priced together. By default it only links the listings; optional copy flags (all default false) copy the parent's min/base/max prices, customizations, group, notes, or tags to the children. Requires OAuth write access.

> **Warning**
>
> Copying customizations also deletes each child's future date-specific overrides and replaces them with the parent's.

**Best for:** Linking a property's channel listings during onboarding, especially in bulk for large accounts.

**Example:** "Map the Vrbo listing 12345678 under my Airbnb listing Sunset Villa"

### `unmap_listings`

Unmaps (detaches) listings from their parent-child group so they become standalone again — each keeps its own prices and settings. Unmapping a parent detaches its whole group. Partial success is supported: the response lists which listings were unmapped and which failed. Requires OAuth write access.

**Best for:** Undoing an incorrect mapping or splitting a group before re-mapping.

**Example:** "Unmap the Vrbo listing 12345678 from its parent"