For Agents
Generic CRUD plus batch and search endpoints for any HubSpot CRM object type, parameterised by an objectType path argument.
Get started with Listings in minutes using your preferred integration method.
# Add to your MCP client config (Claude Desktop, Cursor, Windsurf)
{
"jentic": {
"url": "https://api.jentic.com/mcp",
"auth": "oauth"
}
}
# Then ask your agent:
"create a record on any HubSpot CRM object type"
# → Jentic returns the GET /events tool with parameter schema, agent executes.What an agent can do with Listings API.
Create individual or batched records of any standard or custom object type via a single parameterised endpoint
Search any object type by property filters using the generic /search endpoint
Update records on any object type with single PATCH or batch update calls
Archive records of any object type without permanently deleting them
GET STARTED
Use for: I need to create records on a custom object type without wiring its own endpoint, I want to search any HubSpot object type by property filters from a single integration, Update a batch of records on a custom object that does not have a dedicated API, List records of a given object type filtered by property values
Not supported: Does not handle object schema definition, association schema management, or property type creation — use for record-level CRUD across object types only.
The HubSpot CRM Listings API provides a generic, object-type-parameterised CRUD and search interface for any standard or custom object in the portal. Endpoints accept an objectType path parameter so the same operations work for contacts, companies, deals, line items, products, tickets, quotes, listings, and any custom object schema the portal has defined. Use it when an integration or agent needs to operate over many object types from a single set of operations rather than wiring per-object endpoints.
Upsert records of any object type by a unique external identifier property
Patterns agents use Listings API for, with concrete tasks.
★ Generic Sync Across Many Object Types
Build a single sync engine that pushes data into HubSpot across contacts, companies, deals, and several custom object types without writing a per-object adapter for each. The objectType-parameterised endpoints accept the same request shape for every type, so the sync engine only needs to vary the path segment and the property map. This is the typical pattern for ETL pipelines and reverse-ETL tools that target HubSpot.
POST /crm/v3/objects/{objectType}/batch/upsert with objectType set to a custom object name and a 100-record batch keyed by an external_id property, then verify the response status counts.
Search Across Custom Object Schemas
Power a unified search experience that runs the same property-filter query against contacts, companies, deals, and a portfolio of custom objects. The generic search endpoint accepts the same filterGroups shape regardless of objectType, so a single agent prompt or UI form can issue a fan-out search across the relevant types and merge the results.
POST /crm/v3/objects/{objectType}/search for each of contacts, companies, and a custom object schema, with the same filterGroups payload, and merge the results into a unified result set.
Agent-Driven Custom Object Operations
An AI agent that operates against a HubSpot portal with several custom object schemas can use the generic endpoints to read, create, and update records without needing a dedicated tool per schema. Through Jentic, the agent finds the parameterised operation by intent, loads its schema, and executes against any objectType the user requests.
Given a user-supplied objectType and property map, call POST /crm/v3/objects/{objectType} to create the record, then GET /crm/v3/objects/{objectType}/{objectId} to confirm the persisted state.
11 endpoints — the hubspot crm listings api provides a generic, object-type-parameterised crud and search interface for any standard or custom object in the portal.
METHOD
PATH
DESCRIPTION
/crm/v3/objects/{objectType}
Create a record of the given object type
/crm/v3/objects/{objectType}
List records of the given object type
/crm/v3/objects/{objectType}/{objectId}
Read a specific record
/crm/v3/objects/{objectType}/{objectId}
Update a specific record
/crm/v3/objects/{objectType}/search
Search records by property filters
/crm/v3/objects/{objectType}/batch/upsert
Upsert records by unique property
/crm/v3/objects/{objectType}
Create a record of the given object type
/crm/v3/objects/{objectType}
List records of the given object type
/crm/v3/objects/{objectType}/{objectId}
Read a specific record
/crm/v3/objects/{objectType}/{objectId}
Update a specific record
/crm/v3/objects/{objectType}/search
Search records by property filters
Three things that make agents converge on Jentic-routed access.
Credential isolation
HubSpot OAuth and Private App tokens are stored encrypted in the Jentic vault. Agents receive scoped access references, never raw tokens.
Intent-based discovery
Agents search by intent (e.g., 'create a record on a HubSpot custom object') and Jentic returns the parameterised operation with its full input schema, including the objectType path argument.
Time to first call
Direct integration: 1-2 days for OAuth, batch sync, and search query construction. Through Jentic: under 30 minutes.
Alternatives and complements available in the Jentic catalogue.
HubSpot CRM Custom Objects
Defines the custom object schemas that this generic endpoint operates over
Use CRM-customObjects to define the schema first, then use this generic API to manage records of that schema
HubSpot CRM Contacts
Dedicated contacts API with object-specific behaviour
Choose CRM-contacts when the integration is scoped to contacts and benefits from contact-specific endpoints
HubSpot CRM Associations
Manages the association links between records of any two object types
Use CRM-associations to add or remove links between records once they have been created via this generic API
Specific to using Listings API through Jentic.
What authentication does the HubSpot generic objects API use?
OAuth 2.0 Bearer tokens or HubSpot Private App tokens in the Authorization header. Jentic stores the token encrypted in the vault and provides a scoped access reference to the agent rather than the raw secret.
What does the objectType path parameter accept?
It accepts the object type slug or numeric objectTypeId for any standard object (contacts, companies, deals, line_items, products, tickets, quotes) or any custom object schema defined in the portal. The same operations work uniformly across all of them.
What are the rate limits for this API?
Standard HubSpot quotas apply: 100 requests per 10 seconds for OAuth apps and 110 for Private Apps, with daily caps that vary by Hub subscription. Each batch call counts as a single request even though it can carry up to 100 records, which is the recommended pattern for high-volume sync.
How do I create records on a custom object through Jentic?
Run pip install jentic, call client.search('create a record on a HubSpot custom object'), client.load to get the schema for POST /crm/v3/objects/{objectType}, and client.execute with the objectType slug and a properties map. The same operation also handles standard objects.
When should I use this generic API instead of the dedicated per-object APIs?
Choose this API when an integration must operate uniformly across many object types or when the target type is a custom object that does not have a dedicated REST surface. The dedicated per-object APIs (CRM-contacts, CRM-deals, etc.) typically expose richer object-specific behaviour, so prefer them when the integration is scoped to a single type.
Can I search by associations through this endpoint?
Yes. POST /crm/v3/objects/{objectType}/search accepts filterGroups that include filters on association references (for example, associations.deal). This lets you find records of one object type linked to a specific record of another.
/crm/v3/objects/{objectType}/batch/upsert
Upsert records by unique property