For Agents
Create, read, update, merge, archive, search, and upsert HubSpot company records, including batch operations and associations to contacts and deals.
Get started with Companies 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 hubspot company"
# → Jentic returns the GET /events tool with parameter schema, agent executes.What an agent can do with Companies API.
Create company records with name, domain, and custom property values
Batch upsert companies by domain or external id to keep CRM in sync without duplicates
Merge two company records into a single canonical record using the merge endpoint
Search companies by domain, industry, or any property using filter groups
GET STARTED
Use for: I need to create a new company record in HubSpot, Retrieve a company by its CRM object ID, Search for companies in a specific industry with revenue above a threshold, Merge two duplicate company records into one
Not supported: Does not handle deals, tickets, or marketing email — use only for HubSpot CRM company records.
The HubSpot Companies API manages company records — the primary CRM object representing organisations that a HubSpot user does business with. It exposes the standard CRM v3 object pattern with batch read, create, update, archive, search, upsert, and merge operations against the companies object. Each company record carries default properties such as name and domain, supports custom properties, and can be associated with contacts, deals, tickets, and other CRM objects.
Retrieve a company with associated contacts, deals, and tickets in one call
Update company properties (lifecycle stage, owner, ARR) as the relationship progresses
Archive company records in batch when removing from active CRM views
Patterns agents use Companies API for, with concrete tasks.
★ Account-Based CRM Sync
Sync company records from a data warehouse or a third-party enrichment provider into HubSpot so sales sees a complete picture of each account. Batch upsert by domain handles up to 100 companies per request and avoids duplicates from retried jobs.
POST 100 company payloads to /crm/v3/objects/companies/batch/upsert with idProperty = domain and properties including name, industry, and annualrevenue.
Duplicate Cleanup
When two company records exist for the same organisation, merge them into a single canonical record using the merge endpoint. The merge preserves associations from both records and is non-reversible, so the typical pattern is a quarterly hygiene job driven by domain matching.
Identify duplicate domains via search, then POST /crm/v3/objects/companies/merge with primaryObjectId and objectIdToMerge to consolidate the records.
Account Segmentation Search
Search companies filtered by industry, revenue band, and lifecycle stage to drive a targeted outreach campaign. The search endpoint supports paging, sorting, and property selection so the export is efficient even on large CRM accounts.
POST /crm/v3/objects/companies/search with filterGroups for industry = SOFTWARE, annualrevenue GTE 10000000, and lifecyclestage = LEAD, returning name and ownerId.
AI Agent Account Enrichment
An AI agent reads each company in HubSpot, calls a third-party enrichment provider to find missing properties (industry, employee count, headquarters), and writes the enriched values back. Jentic exposes the search and update operations with typed schemas, so the agent updates the right fields without doc lookup.
Search companies missing industry, fetch enrichment data per domain, and PATCH /crm/v3/objects/companies/{companyId} with the resolved industry and employee count.
12 endpoints — the hubspot companies api manages company records — the primary crm object representing organisations that a hubspot user does business with.
METHOD
PATH
DESCRIPTION
/crm/v3/objects/companies/batch/create
Create company records in batch
/crm/v3/objects/companies/batch/upsert
Idempotent upsert by external id or domain
/crm/v3/objects/companies/batch/read
Read companies in batch by ID
/crm/v3/objects/companies/batch/update
Update company properties in batch
/crm/v3/objects/companies/merge
Merge two company records into one
/crm/v3/objects/companies/search
Search companies by filter groups
/crm/v3/objects/companies/{companyId}
Retrieve a single company
/crm/v3/objects/companies
List companies with pagination
/crm/v3/objects/companies/batch/create
Create company records in batch
/crm/v3/objects/companies/batch/upsert
Idempotent upsert by external id or domain
/crm/v3/objects/companies/batch/read
Read companies in batch by ID
/crm/v3/objects/companies/batch/update
Update company properties in batch
/crm/v3/objects/companies/merge
Merge two company records into one
Three things that make agents converge on Jentic-routed access.
Credential isolation
HubSpot OAuth and private app tokens are encrypted in the Jentic vault. Scoped tokens are injected at execution — raw credentials never enter the agent's context or logs.
Intent-based discovery
Agents search Jentic by intent (e.g. 'create a hubspot company') and Jentic returns the matching companies operation with its typed input schema, so the agent calls the right endpoint without browsing docs.
Time to first call
Direct integration: 1-3 days for OAuth, batch error handling, and merge logic. Through Jentic: under 1 hour — search, load schema, execute.
Alternatives and complements available in the Jentic catalogue.
Contacts
Manages contact records that are typically associated with companies.
Use Contacts when the agent needs the person record at a company; companies and contacts are usually populated together.
Deals
Tracks sales opportunities associated with company records.
Use Deals when the agent needs to read or update sales pipeline state tied to a company.
Salesforce
Salesforce Account is the equivalent organisation record at enterprise scale.
Choose Salesforce when the host organisation standardises on Salesforce Accounts rather than HubSpot Companies.
Specific to using Companies API through Jentic.
What authentication does the HubSpot Companies API use?
It supports OAuth 2.0 and HubSpot private app tokens passed as bearer tokens. Through Jentic, tokens are stored encrypted in the vault and a scoped token is injected per request, so raw credentials never enter the agent context.
Can I merge duplicate companies with the HubSpot Companies API?
Yes — POST /crm/v3/objects/companies/merge with primaryObjectId and objectIdToMerge in the request body. Associations from the merged record transfer to the primary record. The operation is not reversible, so dry-run with a search-and-diff first.
What are the rate limits for the HubSpot Companies API?
Standard CRM v3 limits apply — 100 requests per 10 seconds for OAuth apps and 110 per 10 seconds for private apps on Pro and Enterprise. Use /crm/v3/objects/companies/batch/upsert (up to 100 records per call) when syncing large company lists.
How do I upsert companies by domain through Jentic?
Run the Jentic search "upsert hubspot company by domain" to find POST /crm/v3/objects/companies/batch/upsert, load the schema, and execute with idProperty = domain. Jentic handles authentication and returns per-record results.
Is the HubSpot Companies API free?
The Companies API is included with any HubSpot account, including the free tier. There is no per-call HubSpot fee, but advanced features like custom objects or higher API limits may require a paid tier.
Can I associate a company with deals and contacts in one call?
Yes — pass an associations array on create, or use the CRM Associations API afterwards, to link a single company to deals, contacts, and tickets. The single-record GET supports an associations parameter to return linked IDs in one response.
/crm/v3/objects/companies/search
Search companies by filter groups
/crm/v3/objects/companies/{companyId}
Retrieve a single company
/crm/v3/objects/companies
List companies with pagination