HubSpot
SaaS API (REST)
Managed auth, retries, and throttling
Export coverage
Know exactly what Vern pulls before you migrate.
Objects Vern extracts
Vern extracts the full set of queryable HubSpot objects (39 total), including: Account Details, Base Association, Base Custom Object Association, Campaigns, Companies, Companies Property History, Contact Lists, Contacts, Contacts Property History, Custom Object Stream Name, Deal Pipelines, Deal Splits, Deals, Deals Archived, Deals Property History, Email Events, Email Subscriptions, Engagements, Engagements Calls, Engagements Emails, Engagements Meetings, Engagements Notes, Engagements Tasks, Form Submissions, Forms, Goals, Leads, Line Items, List Memberships, Marketing Emails, Owners, Owners Archived, Products, Properties, Subscription Changes, Ticket Pipelines, Tickets, Users, and Workflows. 17 of these support incremental change tracking, so syncs pull only what changed.
Output schema
Normalized JSON per object with referential keys preserved, so the relationships between your user's records survive the import. Timestamps are returned in ISO 8601. Delivered as JSON or CSV, or loaded straight into your own application database or pushed to your API — whatever your product expects.
Where it can land
Your own application database (Postgres, MySQL), a direct push to your API or webhook, or JSON/CSV files, plus another crm system (AgileCRM, Apptivo, Capsule CRM) when a user is switching tools.
Source details
Built for the source type shown above, with extractor content refreshed from the collection record.
Managed by Vern
The details you normally have to build yourself.
Authentication
OAuth 2.0 (Authorization Code flow). Your new user authorizes HubSpot once during onboarding — their credentials never touch your code. HubSpot access tokens are short-lived and refresh tokens roll on the provider's own schedule, so Vern manages the full token lifecycle and refresh and the import never drops midway. See HubSpot's authentication guide.
Pagination
Vern detects and handles HubSpot's paging model (cursor, page-number, or offset) internally and returns one consistent, de-duplicated result set — so you import a user's complete data without ever managing page tokens.
Rate limits and gotchas
HubSpot enforces its own API rate limits (see HubSpot's rate-limit docs). Vern queues and throttles requests internally so importing a new user's data never trips a 429 — even on a large account.
OAuth-based sources expire access tokens frequently and require a working refresh flow — a dropped refresh is the most common cause of a half-finished import. Vern owns the refresh loop so a new user's onboarding completes even on a long extraction.
API quickstart
A cleaner way to extract without rebuilding source-specific plumbing.
View docs
Common questions
Can I keep a user's HubSpot data in sync after the first import? Yes — 17 HubSpot objects support incremental change tracking, so after the first full import Vern pulls only what changed on re-run.
Can I move a user from HubSpot to AgileCRM? Yes — Vern normalizes the HubSpot data model into typed tables that map cleanly onto AgileCRM and into your own product.
What does it cost to read the HubSpot API? HubSpot's own API access follows HubSpot's pricing/plan; Vern is billed separately per import. Check HubSpot's developer docs for their current limits.