<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Best practice for extracting data in APIs &amp; Integrations</title>
    <link>https://community.hubspot.com/t5/APIs-Integrations/Best-practice-for-extracting-data/m-p/913042#M70645</link>
    <description>&lt;P&gt;Hoping for an ansver&amp;nbsp;&lt;a href="https://community.hubspot.com/t5/user/viewprofilepage/user-id/127074"&gt;@Jaycee_Lewis&lt;/a&gt;&amp;nbsp;&lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;/P&gt;</description>
    <pubDate>Mon, 29 Jan 2024 11:56:50 GMT</pubDate>
    <dc:creator>nmfoss</dc:creator>
    <dc:date>2024-01-29T11:56:50Z</dc:date>
    <item>
      <title>Best practice for extracting data</title>
      <link>https://community.hubspot.com/t5/APIs-Integrations/Best-practice-for-extracting-data/m-p/911320#M70569</link>
      <description>&lt;P&gt;Hi, I am currently developing an extraction tool using the HubSpot APIs to extract data from HubSpot into a data warehouse.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;So far I am not quite sure what is the best practice for doing such extractions.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Lets use Deals as an example.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I want to extract all deals, full load. I have then 2 options as far as I know. I can use the GET list endpoint:&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;/crm/v3/objects/deals&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;with a maximum limit of 100. I then need to iterate over the paginated results.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Then what I do not understand is that there is also a batch version of this, which I assume should be more apropiate for such large requests. But to my understanding I will then need to first request the same above endpoint to extract all Deal IDs, and then aggregate those into a list and perform the POST call to:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;crm/v3/objects/deals/batch/read&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;which will also return a result of 100 deals per page.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;So my confusion is, for a full extraction, what is the best practice? Is there something I am misunderstanding about the batch endpoint? Because I do not see any benefit of using it over the plain GET list endpoint.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Sincerely,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;NM Foss&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 25 Jan 2024 09:57:28 GMT</pubDate>
      <guid>https://community.hubspot.com/t5/APIs-Integrations/Best-practice-for-extracting-data/m-p/911320#M70569</guid>
      <dc:creator>nmfoss</dc:creator>
      <dc:date>2024-01-25T09:57:28Z</dc:date>
    </item>
    <item>
      <title>Re: Best practice for extracting data</title>
      <link>https://community.hubspot.com/t5/APIs-Integrations/Best-practice-for-extracting-data/m-p/911443#M70572</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.hubspot.com/t5/user/viewprofilepage/user-id/698588"&gt;@nmfoss&lt;/a&gt;, happy to help!&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Batch endpoints let you create, read, update, and delete multiple object records in a single request. Each HubSpot standard object has batch endpoints, so you can work with multiple records simultaneously. You can also batch-create associations, pipelines, and pipeline stages with some endpoints. Batch endpoints also have limits.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Caching data, batch APIs, and webhooks can prevent exceeding API rate limits.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Webhooks are a great way to keep data synced between integrations and a HubSpot CRM platform. They're an alternative to scheduled API calls to sync data prone to exceeding rate limits and lapses in synchronization. Webhook subscriptions are specific.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I'm just getting started with APIs,&amp;nbsp;&lt;a href="https://community.hubspot.com/t5/user/viewprofilepage/user-id/127074"&gt;@Jaycee_Lewis&lt;/a&gt;&amp;nbsp;can you jump in to help further?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 25 Jan 2024 13:03:27 GMT</pubDate>
      <guid>https://community.hubspot.com/t5/APIs-Integrations/Best-practice-for-extracting-data/m-p/911443#M70572</guid>
      <dc:creator>Jnix284</dc:creator>
      <dc:date>2024-01-25T13:03:27Z</dc:date>
    </item>
    <item>
      <title>Re: Best practice for extracting data</title>
      <link>https://community.hubspot.com/t5/APIs-Integrations/Best-practice-for-extracting-data/m-p/912125#M70609</link>
      <description>&lt;P&gt;&lt;a href="https://community.hubspot.com/t5/user/viewprofilepage/user-id/698588"&gt;@nmfoss&lt;/a&gt;&amp;nbsp;You are taking on a major project! There are apps in the HubSpot App Marketplace that can do exactly what you want, and will sync all of the objects and properties that are associated with your deals (ie contacts, companies, etc).&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;For example, we offer an app in the HubSpot App Marketplace called &lt;A href="https://ecosystem.hubspot.com/marketplace/apps/marketing/data-management/mssql-replicator" target="_blank" rel="noopener"&gt;MS SQL Server for HubSpot&lt;/A&gt; . The app pulls your HubSpot data into an Azure SQL data warehouse via prebuilt API connectors. A SQL data warehouse in Azure is included in the cost. If you have a data warehouse already, there is another app called &lt;A href="https://ecosystem.hubspot.com/marketplace/apps/productivity/connector/database-sync-data-warehouse" target="_blank" rel="noopener"&gt;Database Sync for HubSpot.&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;
&lt;P&gt;These apps have hundreds of installs by HubSpot users, offer free trials and are very cost effective solutions.&lt;/P&gt;</description>
      <pubDate>Fri, 26 Jan 2024 14:02:36 GMT</pubDate>
      <guid>https://community.hubspot.com/t5/APIs-Integrations/Best-practice-for-extracting-data/m-p/912125#M70609</guid>
      <dc:creator>johnelmer</dc:creator>
      <dc:date>2024-01-26T14:02:36Z</dc:date>
    </item>
    <item>
      <title>Re: Best practice for extracting data</title>
      <link>https://community.hubspot.com/t5/APIs-Integrations/Best-practice-for-extracting-data/m-p/913042#M70645</link>
      <description>&lt;P&gt;Hoping for an ansver&amp;nbsp;&lt;a href="https://community.hubspot.com/t5/user/viewprofilepage/user-id/127074"&gt;@Jaycee_Lewis&lt;/a&gt;&amp;nbsp;&lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 29 Jan 2024 11:56:50 GMT</pubDate>
      <guid>https://community.hubspot.com/t5/APIs-Integrations/Best-practice-for-extracting-data/m-p/913042#M70645</guid>
      <dc:creator>nmfoss</dc:creator>
      <dc:date>2024-01-29T11:56:50Z</dc:date>
    </item>
    <item>
      <title>Re: Best practice for extracting data</title>
      <link>https://community.hubspot.com/t5/APIs-Integrations/Best-practice-for-extracting-data/m-p/913047#M70646</link>
      <description>&lt;P&gt;We are creating our own connector so using existing solutions is not an option, therefore it would be nice to know the best practices for using the API. It is not very clear from the documentation. And extracting data I assume is one of the main usecases for an API.&lt;/P&gt;</description>
      <pubDate>Mon, 29 Jan 2024 12:01:54 GMT</pubDate>
      <guid>https://community.hubspot.com/t5/APIs-Integrations/Best-practice-for-extracting-data/m-p/913047#M70646</guid>
      <dc:creator>nmfoss</dc:creator>
      <dc:date>2024-01-29T12:01:54Z</dc:date>
    </item>
    <item>
      <title>Re: Best practice for extracting data</title>
      <link>https://community.hubspot.com/t5/APIs-Integrations/Best-practice-for-extracting-data/m-p/915071#M70751</link>
      <description>&lt;P&gt;Hey, &lt;SPAN style="background: var(--ck-color-mention-background); color: var(--ck-color-mention-text);"&gt;&lt;a href="https://community.hubspot.com/t5/user/viewprofilepage/user-id/698588"&gt;@nmfoss&lt;/a&gt;&lt;/SPAN&gt; &lt;span class="lia-unicode-emoji" title=":waving_hand:"&gt;👋&lt;/span&gt; Thanks for your question.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;In general, the batch endpoint `/crm/v3/objects/deals/batch/read` is an alternative to the “Get by ID” endpoints rather than a direct substitute for “Get all” endpoints.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The primary use of batch endpoints is to efficiently retrieve specific records by their IDs in a single request. This is useful when you already know the IDs of the deals you wish to extract.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Your approach of iterating over the paginated results of the /crm/v3/objects/deals endpoint is the optimal approach, as it does not require you to pre-fetch IDs and can effectively extract all deals data.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Have fun building! — Jaycee&lt;/P&gt;</description>
      <pubDate>Wed, 31 Jan 2024 21:59:26 GMT</pubDate>
      <guid>https://community.hubspot.com/t5/APIs-Integrations/Best-practice-for-extracting-data/m-p/915071#M70751</guid>
      <dc:creator>Jaycee_Lewis</dc:creator>
      <dc:date>2024-01-31T21:59:26Z</dc:date>
    </item>
    <item>
      <title>Re: Best practice for extracting data</title>
      <link>https://community.hubspot.com/t5/APIs-Integrations/Best-practice-for-extracting-data/m-p/915361#M70774</link>
      <description>&lt;P&gt;Thank you&amp;nbsp;&lt;a href="https://community.hubspot.com/t5/user/viewprofilepage/user-id/127074"&gt;@Jaycee_Lewis&lt;/a&gt;, so clear and helpful as always!&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 01 Feb 2024 11:57:46 GMT</pubDate>
      <guid>https://community.hubspot.com/t5/APIs-Integrations/Best-practice-for-extracting-data/m-p/915361#M70774</guid>
      <dc:creator>Jnix284</dc:creator>
      <dc:date>2024-02-01T11:57:46Z</dc:date>
    </item>
    <item>
      <title>Re: Best practice for extracting data</title>
      <link>https://community.hubspot.com/t5/APIs-Integrations/Best-practice-for-extracting-data/m-p/917878#M70861</link>
      <description>&lt;P&gt;Thank you for the reply!&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;We are going with the GET list endpoint.&lt;/P&gt;</description>
      <pubDate>Tue, 06 Feb 2024 14:32:30 GMT</pubDate>
      <guid>https://community.hubspot.com/t5/APIs-Integrations/Best-practice-for-extracting-data/m-p/917878#M70861</guid>
      <dc:creator>nmfoss</dc:creator>
      <dc:date>2024-02-06T14:32:30Z</dc:date>
    </item>
    <item>
      <title>Re: Best practice for extracting data</title>
      <link>https://community.hubspot.com/t5/APIs-Integrations/Best-practice-for-extracting-data/m-p/1087833#M79194</link>
      <description>&lt;P&gt;If you want your data out and easily queryable in bulk, use the HubSpot native Snowflake connector. It costs nearly nothing to have a tiny snowflake instance if you just use it to pull your data down every X minutes as long as you're properly doing an incremental query and not doing a full table dump. Very very cheap, easy option that also likely makes your project obsolete after you connect snowflake as most warehouse tools have a direct connect import from snowflake so it's point &amp;amp; click at that point.&lt;BR /&gt;&lt;BR /&gt;The services that were mentioned above work well. I've tried them, ultimately not great for our use case for reasons that had nothing to do with the product. It wasn't expensive nad it did what we need.&lt;BR /&gt;&lt;BR /&gt;You can buy StitchETL and set up a one-way sync from HubSpot into the database of your choice.&lt;BR /&gt;&lt;BR /&gt;But the fastest way is to setup an app (I don't recall whether private apps support webhooks now or not)... but either private or a developer account. You don't have to really do any coding in there, you just set up the account, define the app, and then connect it to your business hubspot account. In there you can configure near real time webhook from HubSpot into whatever http endpoint you want. Unlike with a workflow, you can subscribe to all events on all object types.&lt;/P&gt;</description>
      <pubDate>Sun, 29 Dec 2024 09:51:08 GMT</pubDate>
      <guid>https://community.hubspot.com/t5/APIs-Integrations/Best-practice-for-extracting-data/m-p/1087833#M79194</guid>
      <dc:creator>arlogilbert</dc:creator>
      <dc:date>2024-12-29T09:51:08Z</dc:date>
    </item>
  </channel>
</rss>

