# HubSpot + SQL Server - How to do daily Export & Import ?

**URL:** <https://community.hubspot.com/t/hubspot-sql-server-how-to-do-daily-export-import/26461>\
**Category:** APIs & Integrations\
**Tags:** contacts\
**Created:** [October 7, 2020, 1:26am UTC](https://community.hubspot.com/t/hubspot-sql-server-how-to-do-daily-export-import/26461 "2020-10-07T01:26:58Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![reedevtaneja](https://d10pqhm3lwygmk.cloudfront.net/user_avatar/community.hubspot.com/reedevtaneja/32/77060_2.png) [@reedevtaneja](https://community.hubspot.com/u/reedevtaneja)\
**Post date:** [October 7, 2020, 1:26am UTC](https://community.hubspot.com/t/hubspot-sql-server-how-to-do-daily-export-import/26461/1 "2020-10-07T01:26:58Z")

</div>

Hi, I am looking to integrated HubSpot with my SQL server database which will act as a single source of truth between for all CRM & Sales data for reporting ( offline+online)

There are 2 use cases for the integrations:

1. Export all Contacts with a list of properties from HubSpot and push it to SQL server on a daily basis. I would prefer incremental ie only New or Updated contacts info will be updated in databases, if not possible then may be over-write the entire table everytime but offcourse the records limit can be a restriction.

2. Import contacts from SQL server stored in a different table and create them as new contacts in HubSpot. These will be offline contacts generated via offline mode.

Both Import & Export should be done twice a day or atleast daily to ensure we have the data synced between database and HubSpot. ur estimated contacts may not go beyond 50K in next 2-3 years.

Challenge is within API documentation, it requires contact id or vid in order to export /retrive the contact data, which we wont have for the new contacts created within HubSpot. O

Can you please advise on how to bulk export & import data from HubSpot to SQL server database without using an external app, we can build using Python. We are not sure which API to use and how to import/export contacts without contact id/vid.

Thanks

Reed

---

<div class="post-metadata">

**Author:** ![dennisedson](https://d10pqhm3lwygmk.cloudfront.net/user_avatar/community.hubspot.com/dennisedson/32/28044_2.png) [@dennisedson](https://community.hubspot.com/u/dennisedson)\
**Post date:** [October 7, 2020, 8:05pm UTC](https://community.hubspot.com/t/hubspot-sql-server-how-to-do-daily-export-import/26461/2 "2020-10-07T20:05:55Z")

</div>

Hi @reedevtaneja

Thanks for submitting the question!

Wanted to tag a few people from the community in here who may be able to assist!

@jpsanchez , @derekcavaliero , @DanielSanchez -- Hi all! Do you guys have thoughts on this question?

Thanks in advance!

---

<div class="post-metadata">

**Author:** ![jpsanchez](https://d10pqhm3lwygmk.cloudfront.net/user_avatar/community.hubspot.com/jpsanchez/32/106486_2.png) [@jpsanchez](https://community.hubspot.com/u/jpsanchez)\
**Post date:** [October 8, 2020, 1:10pm UTC](https://community.hubspot.com/t/hubspot-sql-server-how-to-do-daily-export-import/26461/3 "2020-10-08T13:10:07Z")

</div>

Hi Reed,

The best aprouch is to use a connector between HubSpot and your SQL with a EL or ETL aprouch. ( if you wish you can use your own connector and or ETLs in the market) in my experience.

I already work with this two ones.

> **[HubSpot Marketplace](https://app.hubspot.com/marketplace/5890901/apps/sales/data-management/import2datamigration)**

> **[HubSpot Marketplace](https://app.hubspot.com/marketplace/5890901/apps/marketing/analytics-data/stitch)**

The DYI . some examples.

> **[GitHub - jpsanchezcalypso/tap-hubspot](https://github.com/jpsanchezcalypso/tap-hubspot)**
>
> Contribute to jpsanchezcalypso/tap-hubspot development by creating an account on GitHub.

> **[GitHub - christiantschmidt/HubSpot-SQL-Data-Clean-Up: Microsoft SQL Coding that helped me clean-up...](https://github.com/christiantschmidt/HubSpot-SQL-Data-Clean-Up)**
>
> Microsoft SQL Coding that helped me clean-up contact information for import into HubSpot

> **[GitHub - jpetrucciani/hubspot3: python3.6+ hubspot client based on hapipy, but...](https://github.com/jpetrucciani/hubspot3)**
>
> python3.6+ hubspot client based on hapipy, but modified to use the newer endpoints and non-legacy python

Please let me know if it helps you! 😉

Best

JP

---

<div class="post-metadata">

**Author:** ![johnelmer](https://d10pqhm3lwygmk.cloudfront.net/user_avatar/community.hubspot.com/johnelmer/32/55984_2.png) [@johnelmer](https://community.hubspot.com/u/johnelmer)\
**Post date:** [November 14, 2020, 2:55pm UTC](https://community.hubspot.com/t/hubspot-sql-server-how-to-do-daily-export-import/26461/4 "2020-11-14T14:55:10Z")

</div>

@reedevtaneja @nhatmusic @DLarson @jpsanchez @dennisedson We offer an app in the HubSpot App Marketplace called [MS SQL Server for HubSpot](https://ecosystem.hubspot.com/marketplace/apps/marketing/data-management/mssql-replicator) . The app pulls your HubSpot data into a SQL data warehouse via prebuilt API connectors. A SQL data warehouse in Azure is included in the cost.  
Once your HubSpot data is in the data warehouse, it automatically refreshes on a scheduled basis. You can connect the SQL data warehouse to any other application that has a SQL connector.

---

<div class="post-metadata">

**Author:** ![DLarson](https://d10pqhm3lwygmk.cloudfront.net/user_avatar/community.hubspot.com/dlarson/32/74736_2.png) [@DLarson](https://community.hubspot.com/u/DLarson)\
**Post date:** [December 23, 2020, 7:42pm UTC](https://community.hubspot.com/t/hubspot-sql-server-how-to-do-daily-export-import/26461/5 "2020-12-23T19:42:49Z")

</div>

Reed,

We have built an extractor for pulling out HubSpot data, indexing it and creating a new SQL Server DB. Still in Beta but will be launching shortly. I would be happy to share it with you now.

Don

---

<div class="post-metadata">

**Author:** ![skszymon](https://d10pqhm3lwygmk.cloudfront.net/user_avatar/community.hubspot.com/skszymon/32/9373_2.png) [@skszymon](https://community.hubspot.com/u/skszymon)\
**Post date:** [August 17, 2021, 7:55am UTC](https://community.hubspot.com/t/hubspot-sql-server-how-to-do-daily-export-import/26461/6 "2021-08-17T07:55:36Z")

</div>

Is it available somewhere? I could test it

---

<div class="post-metadata">

**Author:** ![nhatmusic](https://d10pqhm3lwygmk.cloudfront.net/user_avatar/community.hubspot.com/nhatmusic/32/69256_2.png) [@nhatmusic](https://community.hubspot.com/u/nhatmusic)\
**Post date:** [December 24, 2020, 5:01pm UTC](https://community.hubspot.com/t/hubspot-sql-server-how-to-do-daily-export-import/26461/7 "2020-12-24T17:01:51Z")

</div>

Hi Reed,

We have built a daily process using Hubspot API v1 to solve similar use cases. Workflow

Download all contact from Hubspot to SQL table → Update all contact from SQL to Hubspot (Creating new contact is included in this step)

Key: Central table in SQL will be truncated everytime, this table is used to store Hubspot contact and define which contact need to be updated/created in Hubspot contacts with vid.

- Hubspot Get All contact API will return all contact’s vid for sure so there is probably no challenge to get vid for new contacts created within Hubspot. [https://legacydocs.hubspot.com/docs/methods/contacts/get\_contacts](https://legacydocs.hubspot.com/docs/methods/contacts/get_contacts)

- API limit: since Hubspot limits to 100 contacts per API call, you need to use Contact Offset to loop through all contact and you should handle async API call well.

We are working on downloading only new/updated contacts to SQL and Import only changed or new contact from SQL to Hubspot. We hope that Hubspot will release 2-way contact sync between Hubspot and SQL server in the future.

I hope that our idea will help you. Thanks!

---

<div class="post-metadata">

**Author:** ![SergeyK](https://avatars.discourse-cdn.com/v4/letter/s/6bbea6/32.png) [@SergeyK](https://community.hubspot.com/u/SergeyK)\
**Post date:** [July 11, 2023, 8:56am UTC](https://community.hubspot.com/t/hubspot-sql-server-how-to-do-daily-export-import/26461/8 "2023-07-11T08:56:56Z")

</div>

Hi there!

As it was told, the best solution for your use case is to use a 3rd party tool. I can recommend you to try Skyvia. It natively supports both HubSpot and SQL Server connectors and allows you to easily integrate data in any direction using regular schedule. You can read more about its features [here](https://skyvia.com/data-integration/integrate-hubspot-sql-server) or on HubSpot [marketplace](https://app.hubspot.com/ecosystem/3267231/marketplace/apps/productivity/connector/skyvia).

Skyvia works good when you need to integrate cloud apps and databases using ETL/ELT approaches.

Hope it helps.

---

<div class="post-metadata">

**Author:** ![RubenBurdin](https://d10pqhm3lwygmk.cloudfront.net/user_avatar/community.hubspot.com/rubenburdin/32/75212_2.png) [@RubenBurdin](https://community.hubspot.com/u/RubenBurdin)\
**Post date:** [October 22, 2025, 8:01pm UTC](https://community.hubspot.com/t/hubspot-sql-server-how-to-do-daily-export-import/26461/9 "2025-10-22T20:01:44Z")

</div>

In 2025 the cleanest “DIY, no external app” path is: pull from HubSpot with the v3 CRM Search API filtered by `hs_lastmodifieddate` (store a last-run timestamp and page through results), then push back using the Imports API so contacts are upserted by email without needing a `vid` ([Search the CRM - HubSpot docs](https://developers.hubspot.com/docs/api-reference/search/guide) )

For inbound to HubSpot, batch a CSV from SQL and let the Imports API map Email as the unique ID; it will create or update in one job and handle associations if you include IDs in columns ([Accounts Dashboard | HubSpot](https://developers.hubspot.com/docs/api-reference/crm-imports-v3/guide) )

On the SQL side, land HubSpot exports into a staging table, then merge into your “source of truth” table by email and `hs_object_id`. For the reverse flow, generate only changed rows since last sync to keep jobs fast and within limits. One quick check: is your SQL Server on-prem or Azure? That affects how you schedule and secure the jobs. Where native connectors stop short, Stacksync fills the gap with real-time, bidirectional sync so your workflows and reports stay trustworthy.

---

<div class="post-metadata">

**Author:** ![Jaycee\_Lewis](https://d10pqhm3lwygmk.cloudfront.net/user_avatar/community.hubspot.com/jaycee_lewis/32/61352_2.png) [@Jaycee\_Lewis](https://community.hubspot.com/u/Jaycee_Lewis)\
**Post date:** [October 30, 2025, 2:55pm UTC](https://community.hubspot.com/t/hubspot-sql-server-how-to-do-daily-export-import/26461/10 "2025-10-30T14:55:43Z")

</div>

Thanks for the updated solution @RubenBurdin 🙌 — Jaycee
