Supported products
Supported products
Required Scopes
Required Scopes
Retrieve price books
You can retrieve price book records individually, as a list, or in batches. Use the following optional query parameters in list and individual read requests:Retrieve all price books
To retrieve a list of all price books, make aGET request to /crm/objects/2026-09/price_books.
By default, the endpoint returns up to 10 records per page. Use the limit query parameter to adjust the page size, and the after parameter (from the previous response’s paging.next.after field) to retrieve the next page.
properties query parameter in the request URL with a comma-separated list of property names.
To view all available price book properties, use the properties API.
Retrieve an individual price book
To retrieve a single price book by its record ID, make aGET request to /crm/objects/2026-09/price_books/{objectId}.
id) returned here matches the id returned by the price books APIwhen creating or retrieving price books via the commerce endpoints.
Retrieve a batch of price books
To retrieve multiple price books in a single request, make aPOST request to /crm/objects/2026-09/price_books/batch/read.
In the request body, include an inputs array of record IDs and a properties array specifying which properties to return:
Retrieve price book items
Price book items (the products configured within a price book) are also accessible as CRM objects. You can retrieve them using the same list, individual read, batch read, and search patterns, substitutingprice_book_items as the objectType.
Retrieve all price book items
To retrieve a list of all price book items, make aGET request to /crm/objects/2026-09/price_book_items.
Retrieve an individual price book item
To retrieve a single price book item by its record ID, make aGET request to /crm/objects/2026-09/price_book_items/{objectId}.
The record ID matches the id returned by the price book items endpointsin the commerce API.
Retrieve a batch of price book items
To retrieve multiple price book items in a single request, make aPOST request to /crm/objects/2026-09/price_book_items/batch/read.
Search price books and items
Use the search endpoint to retrieve price books or price book items that match a set of filter criteria. Make aPOST request to /crm/objects/2026-09/price_books/search (or /crm/objects/2026-09/price_book_items/search for items).
In the request body, include a filterGroups array to define your search criteria, a properties array to specify which fields to return, and optional sorts and limit parameters.
For example, to search for price books modified after a specific date:
Learn more about searching the CRM including available filter operators.
Business API property mapping
The price books CRM object API (/crm/objects/) and price books business API(/commerce/price-books/) expose the same underlying data, with the following differences in how fields are returned:
- Nesting: business API fields are returned at the top level of the response. CRM API fields are returned inside a
propertiesobject, alongside a few standard top-level envelope fields (id,createdAt,updatedAt,archived). - Naming: field names follow different conventions. CRM fields use HubSpot’s
hs_-prefixed property naming pattern. - Shape: some values are returned in a different format, such as
supportedCurrencies(array in the business API, semicolon-delimited string in the CRM API) andpricingfor price book items. - Casing: string enum values use different cases. Business API returns uppercase (e.g.,
"VOLUME","NON_INVENTORY"). CRM returns lowercase (e.g.,"volume","non_inventory"). - Types: numeric values are returned as numbers by the business API and as strings by the CRM API (e.g.,
countOfIncludedProducts: 6vs"hs_count_of_included_products": "6").
Price book properties
The following example shows a
GET response for the same price book from each API.
- CRM API
- Business API
Price book item properties
The following example shows a
GET response for the same price book item from each API.
- CRM API
- Business API