canonical: https://jentic.com/apis/hubspot.com/hubspot-crm-limits-tracking

# HubSpot CRM Limits Tracking

The HubSpot CRM Limits Tracking API exposes the per-account quota information for the structural pieces of a HubSpot CRM portal - record counts, custom object types, custom properties, calculated properties, pipelines, and association labels. Each endpoint returns a current count, a maximum, and the remaining headroom so an integration or agent can check whether a planned action will exceed the account's plan limits before attempting it. It is the right tool for portal health checks, onboarding readiness validation, and pre-flight checks ahead of bulk imports or schema changes.

## For AI agents

Read the live structural limits and current usage of a HubSpot CRM portal - record counts, custom objects, properties, pipelines, and association labels.

## Scope

Does not handle API request rate limits, billing usage, or limit upgrades - use for reading structural CRM portal quotas only.

## Capabilities

- Read the current record count and maximum for each standard and custom object in the portal
- Check how many custom object types and custom properties are still available before hitting the plan cap
- Inspect calculation property limits and remaining headroom across the portal
- Read pipeline limits per object to verify that a new pipeline can be created
- Read record-association limits between two object types to confirm an association is permitted

## Use cases

### Pre-Flight Check Before a Bulk Import

Before triggering a large import or migration into HubSpot, query the limits API to confirm the destination object has enough record headroom and the schema has enough custom-property slots for the incoming columns. The endpoint returns current count, maximum, and remaining slots in one response, which lets an agent or migration runner abort cleanly before consuming an import slot.

Example prompt: Call GET /crm/v3/limits/records and GET /crm/v3/limits/custom-properties, parse the remaining values for the contacts object, and abort if either is below the count of incoming records or columns.

### Portal Health Dashboard

Surface a portal-level health view that highlights when any structural limit is approaching its cap so an admin can plan a cleanup or schema redesign. The limits endpoints return uniform shapes across object types, which makes a single dashboard query straightforward to build. Typical alert thresholds are 80% and 95% of the maximum.

Example prompt: Call GET /crm/v3/limits/records, GET /crm/v3/limits/custom-object-types, and GET /crm/v3/limits/pipelines, compute usage as current divided by maximum for each, and emit an alert when any value exceeds 0.8.

### Agent-Driven Schema-Change Safety Check

An AI agent that proposes schema changes (a new custom object, a new pipeline, a new association label) can call the limits API as a guardrail before the change request, refusing to attempt a creation that would exceed the cap. Through Jentic, the agent finds the relevant limits endpoint by intent and chains it with the create call from the corresponding schema or pipeline API.

Example prompt: Before calling a pipeline-create operation, GET /crm/v3/limits/pipelines for the target object and refuse to proceed if remaining is zero, returning a structured warning to the user.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | /crm/v3/limits/records | Read record limits for each object type |
| GET | /crm/v3/limits/custom-object-types | Read custom object type limits |
| GET | /crm/v3/limits/custom-properties | Read custom property limits |
| GET | /crm/v3/limits/calculated-properties | Read calculation property limits |
| GET | /crm/v3/limits/pipelines | Read pipeline limits per object |
| GET | /crm/v3/limits/associations/labels | Read association label limits |

## Key resources

- **Record limits** — Per-object record count, maximum, and remaining headroom
- **Custom object and property limits** — Quotas for custom object types, custom properties, and calculated properties
- **Pipeline and association limits** — Per-object pipeline caps and record-association limits between object types

## Why Jentic

- **Setup:** Wiring HubSpot CRM Limits Tracking by hand means implementing its OAuth2 authorization-code flow (or managing a private-app token), routing read calls to api.hubapi.com, and parsing each quota response yourself. Through Jentic you install once, import HubSpot CRM Limits Tracking from the API Directory, store the token once, and your agent calls it.
- **Permission scoping:** These endpoints are read-only quota lookups such as /crm/v3/limits/records and /crm/v3/limits/pipelines. Limit the agent to the operations it needs, such as reading record and property limits, so it only queries the quotas you intend and nothing more.
- **Credential handling:** Your HubSpot token is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'check HubSpot record limits' or 'read custom object quotas', and Jentic returns the matching limits endpoint with its response schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **HubSpot CRM Schemas** — Defines the custom object schemas whose limits this API tracks
- **HubSpot CRM Properties** — Manages the custom properties whose count this API reports
- **HubSpot CRM Imports** — Bulk import records once a limits check confirms there is record headroom

## FAQ

### What authentication does the HubSpot CRM Limits Tracking 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 the agent receives a scoped access reference, never the raw secret.

### Can I see how many contact records are left before hitting the plan limit?

Yes. GET /crm/v3/limits/records returns an array of object-level entries, each with currentCount and limit, so you can compute remaining headroom for contacts, companies, deals, and any other CRM object in the portal.

### What are the rate limits for this API?

Standard HubSpot account-wide limits apply: 100 requests per 10 seconds for OAuth apps and 110 for Private Apps, with daily caps that vary by Hub subscription. The limits endpoints are read-only and cheap to call, so caching the response for a few minutes is usually sufficient for dashboards.

### How do I check pipeline limits before creating a new pipeline through Jentic?

Run pip install jentic, call client.search('check HubSpot pipeline limits'), client.load to get the schema for GET /crm/v3/limits/pipelines, and client.execute. The response gives the maximum and current count per object type so a create call can be guarded against exceeding the cap.

### Does this API let me change a portal's limits?

No. The endpoints are read-only and reflect the limits assigned by the HubSpot subscription tier. Raising a cap requires a plan upgrade through HubSpot account management, not an API call.

### Where can I see association limits between two object types?

GET /crm/v3/limits/associations/records/{fromObjectTypeId}/{toObjectTypeId} returns the maximum number of associations permitted between records of the two given object types, plus current usage on a sample query basis.

### Can I limit what my agent is allowed to do with the HubSpot CRM Limits Tracking API?

Yes. Because you run Jentic One yourself, your own rules decide which of these read-only quota operations the agent may call, so you can allow only what a given task needs. For example, you can permit GET /crm/v3/limits/records and GET /crm/v3/limits/custom-properties for a pre-import check while withholding GET /crm/v3/limits/pipelines or the association-label lookup. Your HubSpot token is stored once by your own instance and injected at execution time, so the agent queries only the quotas you intend and never sees the raw secret.
