For AI agents: the complete documentation index is available at https://docs.ovhcloud.com/es/llms.txt, the full documentation bundle is available at https://docs.ovhcloud.com/es/llms-full.txt, and this page is available as Markdown at https://docs.ovhcloud.com/es/guides/public-cloud/data-platform/connectors-sources-hubspot.md.

Extract HubSpot CRM and marketing data

Ver como Markdown

The HubSpot connector extracts data from your HubSpot account: contacts, companies, deals, tickets, pipelines, forms, marketing emails, and more

Objective

The HubSpot connector extracts data from your HubSpot account: contacts, companies, deals, tickets, pipelines, forms, marketing emails, and more.

25 endpoint types covering the full HubSpot API: CRM, Marketing, CMS, Automation, and Settings.

The connector returns raw JSON from the HubSpot API. The platform automatically flattens nested objects into columns and stores the result in the lakehouse. No manual schema definition needed.

Info

Prerequisites: A HubSpot account (the free plan is sufficient for API access. No paid plan required) with at least a few test records (contacts, companies) so you have data to extract. Sign up at app.hubspot.com/signup-hubspot/crm.

1. Get an API Token

Create a Private App

  1. Log in to HubSpot
  2. Go to Settings (gear icon) > Integrations > Private Apps
  3. Click Create a private app
  4. Give it a name (e.g. data-connector)
  5. Go to the Scopes tab and select the required permissions (see next section)
  6. Click Create app > Continue creating
  7. Copy the generated token (starts with pat-na1-... or pat-eu1-...)
Info

Note: Private Apps may appear under a "Legacy" section in HubSpot's UI, but they remain the standard for server-side API integrations. "Personal Access Keys" only work for the HubSpot CLI, NOT for the REST API.

Configure Credentials

Paste your token in the HubSpot API Key field:

pat-eu1-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

Minimum scopes (basic CRM)

To extract contacts, companies, deals, and tickets:

ScopeGrants access to
crm.objects.contacts.readContacts, calls, emails, meetings, notes, tasks
crm.objects.companies.readCompanies
crm.objects.deals.readDeals + deal pipelines
ticketsTickets + ticket pipelines
crm.schemas.contacts.readContact properties
crm.schemas.companies.readCompany properties
crm.schemas.deals.readDeal properties

Additional scopes (as needed)

ScopeGrants access to
formsForms + form submissions
contentMarketing emails
crm.lists.readLists and segments
e-commerceProducts
crm.objects.line_items.readLine items
crm.objects.quotes.readQuotes
crm.objects.feedback_submissions.readFeedback submissions
crm.objects.leads.readLeads (Sales Hub Pro+)
Tip

Start with minimum scopes. You can always add more later in your Private App settings.

3. Available Endpoint Types

CRM (relational data)

EndpointDescriptionParameters
crm_objects27 CRM object types (contacts, companies, deals...)object_type, properties_filter, max_items
associationsRelationships between objects (contact->deal, company->contact...)from_type, to_type, max_items
association_definitionsAvailable relationship types between objectsfrom_type, to_type
pipelinesPipelines with stages (deals or tickets)pipeline_object_type
pipeline_auditAudit log for a specific pipelinepipeline_object_type, pipeline_id
properties_metaProperty schema for an object typeproperty_object_type
property_groupsProperty groupsproperty_object_type
listsLists and segmentsmax_items
list_membershipsMember record IDs for a specific listlist_id, max_items

Marketing

EndpointDescriptionParameters
marketing_emailsEmail campaigns with statisticsmax_items
formsForm definitionsmax_items
form_submissionsSubmissions for a specific formform_id, max_items
campaignsMarketing campaignsmax_items

CMS (content)

EndpointDescriptionParameters
blog_postsBlog articlesmax_items
site_pagesWebsite pagesmax_items
landing_pagesLanding pagesmax_items
hubdb_tablesHubDB structured data tablesmax_items

Automation

EndpointDescriptionParameters
workflowsAutomation workflowsmax_items
sequencesSales sequencesmax_items

Settings / Admin

EndpointDescriptionParameters
usersAccount usersmax_items
importsCRM import historymax_items
crm_schemasCustom object schemasmax_items
custom_eventsBehavioral eventsevent_object_type, event_object_id, max_items
timeline_eventsTimeline event templatesapp_id

4. Add a HubSpot source on Data Platform

  1. In the Data Platform Connectors, find HubSpot in the source store and click Select.
  2. Paste the Private App token from step 1 into the HubSpot API Key field.
  3. Click Connect to verify the credentials.
  4. Click Add an Endpoint, choose an endpoint type from the dropdown (e.g. crm_objects), then fill in the parameters that endpoint requires (for example object_type: contacts, an optional properties_filter, and an optional max_items).
  5. Repeat step 4 for every additional endpoint you want to ingest in this source. Each endpoint becomes a separate table in the lakehouse.
  6. Name the source and click Create.
Warning

The technical name cannot be changed after the source is created. It is used when opening the source via the Data Platform SDK.

5. Quick Example: Extract Contacts

  1. Endpoint: crm_objects
  2. Object Type: contacts
  3. Properties Filter: email, firstname, lastname, phone, company, jobtitle
  4. Max Items: 100 (or empty to extract all)

The connector returns raw JSON from the HubSpot API. The platform automatically flattens nested objects (e.g. properties.email becomes a column properties_email) and stores the result in the lakehouse.

6. Best Practices

Use the properties filter

By default, the connector uses HubSpot's native default set (6 core fields for contacts: email, firstname, lastname, createdate, lastmodifieddate, hs_object_id). Use properties_filter to pick a specific list of properties.

Start with max_items

When setting up, set max_items to 10 or 100 to test quickly. Remove the limit once you're satisfied with the output.

Pipelines as a reference table

Extract pipelines separately to get a reference table. You can then join with deals/tickets on the pipeline and stage fields.

Use properties_meta to discover fields

The properties_meta endpoint returns the full data dictionary for any object type. Useful to find out which fields exist and their types.

7. HubSpot Plan Limits

Some endpoints require paid plans:

PlanAccessible endpoints
Freecrm_objects, pipelines, properties_meta, forms, blog_posts, site_pages, landing_pages, associations, property_groups, lists, marketing_emails, form_submissions, pipeline_audit, list_memberships
Pro+ workflows, sequences, users, campaigns
Enterprise+ conversations, custom_events, timeline_events, crm_schemas, hubdb_tables, imports

Endpoints not available on your plan or missing the required scope return a 403 error. The connector does not catch these errors. The extraction will fail with an HTTPError. Make sure your Private App has the necessary scopes enabled before selecting an endpoint.

Info

Note: The plan classification above is approximate. Some 403 errors may be caused by missing scopes on your Private App rather than plan limitations. If an endpoint returns 403, check your Private App's scope configuration first.

Info

For detailed technical information (auth internals, full endpoint reference, scopes, pagination, output format, limitations), see the HubSpot Technical Reference.

Go further

If you need training or technical assistance to implement our solutions, contact your sales representative or click on this link to get a quote and ask our Professional Services experts for a custom analysis of your project.

Ask questions, give your feedback and interact directly with the team building the Data Platform on the dedicated Discord channel.

If you need support with your OVHcloud services, create a request in our Help Centre.

Join our community of users.

¿Le ha resultado útil esta página?