canonical: https://jentic.com/apis/pricelabs.co/pricelabs

# PriceLabs Customer API

The PriceLabs Customer API imports PriceLabs dynamic nightly prices for short-term rental listings into any system, with prices refreshed every 24 hours. It returns each listing's minimum, base, recommended base, and maximum price alongside the performance metrics shown on the Pricing Dashboard, and lets you update those price bounds and set date-specific overrides with a fixed or percent price_type. Neighborhood market data, rate plan adjustments, and reservation data with rental revenue from the connected PMS round out the surface.

## For AI agents

Read and adjust PriceLabs dynamic prices for vacation rental listings: fetch nightly prices, update min, base, and max prices, and set or remove date-specific overrides.

## Scope

Does not take bookings, message guests, or list properties on booking channels. Use for reading and adjusting PriceLabs rental prices only.

## Capabilities

- Pull PriceLabs dynamic nightly prices for listings over a dateFrom to dateTo range
- Read each listing's min, base, recommended base, and max price with Pricing Dashboard performance metrics
- Update the min, base, or max price and tags for one listing or a group of listings
- Set date-specific price overrides with a fixed price or a percent change on the recommended price
- Remove date-specific overrides for a listing, optionally cascading to child listings with update_children
- Retrieve neighborhood market stats for a listing as shown on the Neighborhood tab
- Fetch reservations from the connected PMS with rental revenue between a start_date and end_date

## Use cases

### Agent-managed rental pricing

An AI agent helping a short-term rental host can review and adjust PriceLabs pricing without custom integration code. Through Jentic the agent searches for 'get dynamic prices for my listings', calls the listing_prices operation for a listing and date range, and if a local event is coming up, posts a date-specific override with a percent price_type on the recommended price. The host keeps PriceLabs as the pricing engine while the agent handles the routine adjustments.

Example prompt: POST `/v1/listing_prices` for listing id '2854562' on pms 'airbnb' from 2026-12-01 to 2026-12-31, then POST `/v1/listings/2854562/overrides` with date '2026-12-31', price '25', and price_type 'percent'

### Syncing prices into a channel manager

A property management system or channel manager can import PriceLabs recommendations instead of computing its own. The listing_prices call returns nightly prices for listings that exist in the PriceLabs account, and fetch_rate_plans returns the adjustments needed to derive prices for non-default rate plans, so the downstream system can publish a full rate grid once a day after PriceLabs refreshes.

Example prompt: Call POST `/v1/listing_prices` for every syncing listing, then GET `/v1/fetch_rate_plans` with listing_id and pms_name to apply rate plan adjustments before publishing

### Bulk price bound updates

Before a slow season a host may want to lower minimum prices across a portfolio. POST `/v1/listings` accepts a listings array where each entry carries an id, a pms, and any of min, base, or max, plus up to 10 tags, so a single call can move the price floor for many listings at once.

Example prompt: POST `/v1/listings` with a listings array setting min to 89 for three listing ids on pms 'airbnb'

### Market and revenue reporting

A host reviewing performance can combine PriceLabs neighborhood data, which covers the listings considered in the area along with their pricing stats, with reservation_data, which returns bookings and rental revenue from PMSs that share it. Paging with limit and offset over a start_date to end_date range builds a revenue view to compare against the local market.

Example prompt: GET `/v1/neighborhood_data` for listing_id 'SUNSETPROPS_OLSE___239' on pms 'vrm', then GET `/v1/reservation_data` for the same pms from 2026-10-01 to 2026-10-31 with limit 100

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/v1/listing_prices` | Get prices for listings |
| GET | `/v1/listings` | Get all listings in an account |
| POST | `/v1/listings` | Update one or more listings |
| GET | `/v1/listings/{listing_id}/overrides` | Get date-specific overrides |
| POST | `/v1/listings/{listing_id}/overrides` | Add or update a date-specific override |
| GET | `/v1/neighborhood_data` | Get neighborhood data for a listing |
| GET | `/v1/reservation_data` | Get PMS reservations with revenue |

## Key resources

- **Listings** — Rental listings with min, base, recommended base, and max prices plus performance metrics
- **Listing prices** — Dynamic nightly prices per listing over a date range
- **Date-specific overrides** — Per-date fixed or percent price adjustments on a listing
- **Neighborhood and reservation data** — Local market stats for a listing and PMS reservations with rental revenue

## AI readiness

This API is usable in Jentic One now. Its AI-readiness score against Jentic's framework shows where it stands today and where improvements would make it even easier for agents to use.

- **Score:** 59 / 100
- **Maturity:** Foundational
- **Dimensions:**
  - Foundational Compliance: 83 / 100
  - Developer Experience & Jentic Compatibility: 62 / 100
  - AI-Readiness & Agent Experience: 40 / 100
  - Agent Usability: 94 / 100
  - Security: 50 / 100
  - AI Discoverability: 69 / 100
- **View full report:** https://jentic.com/apis/pricelabs.co/pricelabs/scorecard
- **How the score is calculated:** https://docs.jentic.com/reference/api-readiness-framework/overview/
- **More about the dimensions:** https://docs.jentic.com/reference/api-readiness-framework/specification/#dimensional-model-overview

### Score it yourself

Every API in the directory is allowlisted, so you can re-score it with no key required.

- **Score your own API:** https://jentic.com/scorecard.md
- **Scoring CLI agent skill:** https://github.com/jentic/jentic-api-scorecard/blob/main/skills/jentic-api-scorecard/SKILL.md

```sh
npx @jentic/api-scorecard-cli score <openapi-url>
```

## Why Jentic

- **Setup:** Wiring PriceLabs by hand means enabling the Customer API, sending the key in the X-API-Key header, honouring a per-key rate limit, and allowing long client timeouts for slow price calls. Through Jentic you install once, import PriceLabs from the API Directory, store the key once, and your agent calls it.
- **Permission scoping:** PriceLabs puts the listing id in the URL path for listing reads and overrides (`/v1/listings/{listing_id}/overrides`), so a rule can pin your agent to one listing for those operations. You choose which operations it may call, so price-changing ones like POST `/v1/listings` or override deletion are not included unless you add them.
- **Credential handling:** Your PriceLabs API key is stored once, encrypted, by your own Jentic One instance and injected into the X-API-Key header at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'get dynamic prices for my listings' or 'set a price override', and Jentic returns the matching PriceLabs operation with its input schema, including pms and listing_id, so the agent calls the right endpoint directly.

## Related APIs

- **RentCast** — Rental market estimates and comparables for long-term rental properties
- **Hospitable** — Short-term rental host platform for properties, reservations, and guest messaging
- **BookingSync** — Vacation rental PMS whose new listings PriceLabs can import via add_listing_data
- **Hostfully** — Property management platform for vacation rental operations

## FAQ

### What authentication does the PriceLabs Customer API use?

Per its OpenAPI spec, the PriceLabs Customer API authenticates with an API key sent in the X-API-Key header on every operation. You enable the Customer API for your PriceLabs account and copy the key from Settings, API Details. Through Jentic the key is held by your own instance and attached at call time.

### Can I override the price for specific dates with the PriceLabs Customer API?

Yes. POST `/v1/listings/{listing_id}/overrides` takes an overrides array where each entry has a date, a price, and a price_type of fixed or percent. A percent price is a change on the recommended price ranging from -75 to 500. DELETE on the same path removes overrides for the listed dates, and update_children set to true also removes them from child listings.

### What are the rate limits for the PriceLabs Customer API?

The OpenAPI spec states that each Customer API key is limited to 60 requests per minute, capped at 1000 requests per hour, and that exceeding it returns 429 Too Many Requests. PriceLabs also recommends a client timeout of 300 seconds because processing time varies with server load.

### Is there a PriceLabs MCP server?

You don't need an MCP server to give your agent PriceLabs. Jentic connects it directly from the API Directory: import it, store your X-API-Key once, and your agent calls the pricing operations it needs on demand without loading another server's tool definitions into its context.

### How do I fetch listing prices through Jentic?

Search Jentic for 'get dynamic prices for my listings', load the POST `/v1/listing_prices` operation, and execute it with a listings array of id, pms, dateFrom, and dateTo. The response carries the nightly prices for each listing. To run it on your own infrastructure, install Jentic One from its GitHub repo.

### Can I limit what my agent is allowed to do with the PriceLabs Customer API?

Yes. Write a rule that allows only the read operations, such as GET `/v1/listings`, POST `/v1/listing_prices`, and GET `/v1/neighborhood_data`, so the agent can report on prices and the market but cannot change price bounds or overrides. Every call it makes is logged for review.
