Salesforce Data Integration: Cut API Usage in 2026
- Oct 7, 2025
- 10 min read
Quick Answer
Salesforce enforces daily API call limits shared across every tool, integration, and pipeline connecting to your org. When warehouse sync pipelines consume API calls inefficiently — querying all records on every cycle rather than only what changed — limits get hit, pipelines stall, and dashboards go stale at the worst possible moment. The solution is a set of incremental sync strategies that dramatically reduce API consumption while improving data freshness. This guide covers each strategy, when to use it, and how Sesame Software implements them without requiring custom code or developer involvement.
Why API limits matter more than most teams realize
Salesforce calculates daily API limits based on your edition and the number of licensed users. The limit resets every 24 hours. It sounds generous until you map out how many tools draw from the same org simultaneously.
A BI tool running its own Salesforce queries. A marketing automation platform syncing contact data. A revenue operations integration pulling opportunity data. A customer success platform tracking account health. A warehouse sync pipeline running alongside all of them. Each operates independently. Each consumes API calls from the same shared daily budget. None coordinates with the others.
The warehouse sync pipeline is typically the heaviest consumer — particularly when it uses full extraction, querying all records on every cycle regardless of what changed. On a Salesforce org with two million records, a full extraction pipeline might consume two million API calls per sync cycle. Running hourly, that is 48 million API calls per day — before any other tool touches the org.
When limits are hit, Salesforce returns errors and blocks further requests until the limit resets. Pipelines fail silently. Dashboards stop updating. Revenue reports show stale data. Because the failure is often logged rather than alerted, teams sometimes do not discover the problem until a business decision gets made on data that is hours old.
The fix is not to reduce how often you sync. It is to change how you sync so that API consumption drops dramatically while data freshness improves or stays the same.
The core problem: full extraction and why it wastes API calls
Most out-of-the-box Salesforce integrations use full extraction — querying every record in every object on every sync cycle, regardless of whether anything has changed. This pattern is simple to implement and easy to understand, which is why it is the default in many integration tools. It is also the most wasteful API pattern available.
Consider the math. An Opportunity object with 500,000 records, syncing every hour using full extraction: 500,000 API calls per cycle, 24 cycles per day, 12 million API calls per day — from a single object. Add Accounts, Contacts, Cases, and custom objects and the number multiplies quickly.
The ratio of API consumption to useful data movement is the problem. In most enterprise Salesforce orgs, fewer than 1% of records change on any given sync cycle. A full extraction pipeline consumes 100% of the API calls required to query the entire dataset to find that 1%. The other 99% of API consumption produces no new data.
Incremental sync strategies fix this ratio by querying only what changed — reducing API consumption to a fraction of full extraction while delivering the same or better data freshness.
Strategy 1: Incremental extraction using SystemModstamp
The most widely applicable API reduction strategy is incremental extraction using Salesforce's SystemModstamp field. Every Salesforce record has a SystemModstamp value — a timestamp that Salesforce updates automatically whenever the record is modified, by a user, an automation, or an integration.
An incremental sync pipeline records the timestamp of the last successful extraction cycle. On the next cycle, it queries only records where SystemModstamp is greater than that timestamp — meaning only records modified since the last sync. On a 500,000-record Opportunity object where 200 records changed in the last fifteen minutes, the query returns 200 records, not 500,000. API consumption drops by more than 99%.
SystemModstamp is an indexed field in Salesforce, which means queries against it are efficient and do not trigger full table scans that consume additional processing resources. For incremental extraction to work correctly, every sync cycle must record its completion timestamp accurately — a failed cycle that does not update the checkpoint will re-extract records already processed on the next successful run.
Sesame Software implements SystemModstamp-based incremental extraction by default across all supported Salesforce objects. The platform maintains the checkpoint automatically. Failed cycles retry from the correct position. Extraction frequency is configurable per object — high-priority objects like Opportunities and Cases sync every five minutes while lower-priority reference data syncs less frequently.
This is the primary API efficiency strategy that Sesame Software applies — and for most enterprise warehouse sync use cases, it is sufficient to reduce API consumption dramatically while keeping data fresh.
Strategy 2: Bulk API for initial loads and large-volume operations
For initial historical loads — pulling years of Salesforce data into a warehouse for the first time — and for large-batch operations like historical backfills, the Salesforce Bulk API provides a separate, high-volume data path that does not consume the standard REST API budget.
The Bulk API is designed for processing large record volumes asynchronously in batches. It has its own separate limits, runs without blocking other Salesforce operations, and is significantly more efficient for high-volume data movement than REST API queries. A historical load of five million records via REST API might consume millions of API calls over hours. The same load via Bulk API processes through a separate mechanism that does not touch the daily REST API budget.
This separation is critical for initial migration scenarios. Without Bulk API, an initial historical load of a large Salesforce org would consume a significant portion of the daily REST API budget for days or weeks — blocking other integrations and users during the load window. With Bulk API, the initial load runs independently while the REST API remains available for operational tools throughout.
Sesame Software uses Bulk API automatically for initial loads and large-batch operations. After the initial load completes, the platform transitions to incremental sync for ongoing data movement — keeping the REST API budget available for operational integrations throughout the pipeline lifecycle.
Strategy 3: Per-object sync frequency configuration
Not all Salesforce objects require the same sync frequency. Opportunities during an active quarter need frequent updates to keep revenue dashboards current. Historical Accounts that rarely change can sync daily or even weekly without affecting analytical value. Reference objects like Products, Pricebooks, and static lookup tables may only need to sync when changes are detected.
Configuring sync frequency per object — rather than applying a single interval across the entire org — reduces total API consumption significantly while maintaining freshness where it matters. A pipeline syncing 50 objects every five minutes consumes the same API budget whether one object changes frequently and 49 change rarely, or all 50 change frequently. Matching sync frequency to actual change rate eliminates the waste in the former scenario.
Practical per-object frequency tiers for most enterprise Salesforce orgs look like this.
High-frequency objects — those driving operational decisions or real-time dashboards — sync every five to fifteen minutes. These typically include Opportunities, Cases, and Leads.
Standard-frequency objects — those feeding daily reporting and analytics — sync every thirty to sixty minutes. These typically include Accounts, Contacts, and Activities.
Low-frequency objects — reference data and historical records — sync daily or on change detection only.
Sesame Software configures sync frequency per object through the visual pipeline interface. High-priority objects use five-minute incremental polling while lower-priority objects use scheduled incremental polling at appropriate intervals — all managed from a single configuration without separate pipeline instances.
Strategy 4: Composite API and batch query optimization
For pipelines that need to retrieve related data across multiple objects — joining parent and child records during extraction rather than in the warehouse — the Salesforce Composite API allows multiple related API requests bundled into a single API call. What would require five separate REST API calls executes as a single composite request, reducing API consumption by up to 80% for related-object queries.
Query optimization at the SOQL level further reduces API overhead. Queries that retrieve only the fields needed for the destination schema — rather than SELECT * across all fields — reduce response payload size and processing time. Indexed field queries — filtering on SystemModstamp, Id, or other indexed fields — avoid full table scans that consume additional processing resources beyond the API call itself.
Sesame Software applies query optimization automatically. Field-level filters configured in the platform interface ensure that only necessary fields are extracted. Queries run against indexed fields. Related object data is retrieved efficiently without requiring custom SOQL query development from your team.
Strategy 5: Change Data Capture — a market option worth knowing
Some integration platforms offer Change Data Capture as an alternative extraction pattern. CDC subscribes to Salesforce's platform event bus, which publishes record-level change events as they occur — without consuming REST API calls during normal operation.
CDC delivers near-real-time data movement with minimal API impact and is available on certain Salesforce editions for standard and custom objects. It is worth understanding when evaluating the market, particularly if your use case requires sub-minute data freshness and your Salesforce edition supports it.
For the vast majority of enterprise warehouse sync use cases — where five-minute incremental extraction delivers sufficient freshness — CDC is not a requirement. Where sub-minute freshness is a hard requirement, it is a factor to include in your platform evaluation.
How to measure your current API consumption
Before optimizing, measure your baseline. Salesforce provides API usage monitoring through Setup > System Overview, which shows daily API call consumption as a percentage of your limit. For more granular tracking, the API Usage Last 30 Days report in Salesforce shows consumption by connected app — identifying which tools consume the most API calls and which sync patterns are the least efficient.
Monitor these metrics before and after implementing incremental sync strategies. A well-optimized warehouse sync pipeline using incremental extraction should consume less than 5% of what a comparable full-extraction pipeline consumed against the same objects.
Set up ongoing API consumption monitoring as part of normal IT operations. Alert when daily consumption exceeds 70% of the limit — giving your team time to investigate and adjust before limits are hit and pipelines stall.
Common mistakes that increase API consumption unnecessarily
Several common pipeline design decisions increase API consumption without improving data quality or freshness.
Re-extracting records that have not changed is the most wasteful pattern — the full extraction problem described above. Any pipeline that does not use incremental extraction over-consumes API calls by definition.
Syncing all objects at the same high frequency applies peak-demand API consumption to objects that do not need it. A Products table that changes quarterly does not need five-minute sync intervals.
Pipelines without correct checkpointing cause re-extraction of already-processed records when cycles fail. A pipeline that restarts from the beginning rather than from its last successful checkpoint doubles API consumption for every failed cycle.
Field-heavy queries that retrieve all fields when only a subset is needed at the destination increase payload size and processing overhead without adding analytical value. Define field-level extraction to match destination requirements.
Not using Bulk API for initial loads causes initial historical migrations to consume REST API budget that operational integrations need. Always use Bulk API for volume operations above a defined threshold.
Why Sesame Software is built for API-efficient Salesforce data integration
Sesame Software's Salesforce data integration platform implements the API reduction strategies that deliver the greatest impact for enterprise warehouse sync — incremental extraction, Bulk API, per-object frequency configuration, and query optimization — in a no-code configuration that enterprise IT teams deploy without developer involvement.
The patented hyper-threaded replication engine manages Salesforce API consumption efficiently, extracting data at high throughput while staying within configured API budgets. SystemModstamp-based incremental extraction queries only what changed since the last cycle — keeping API consumption proportional to change volume regardless of total org size. Per-object sync configuration applies the right frequency to each object without requiring separate pipeline instances or custom code.
The customer-hosted architecture keeps all pipeline processing inside your own environment. Salesforce data moves directly from your org to your warehouse through pipelines running on your infrastructure — Sesame Software's servers are never in the data path. Your API consumption patterns are governed by your configuration, not by vendor-side processing decisions.
Predictable annual pricing based on connectors means API efficiency gains translate directly into better pipeline performance — not into billing surprises as data volumes grow. Whether your Salesforce org has one million records or one hundred million, the annual cost stays fixed.
Talk to a Sesame Software data expert today at sesamesoftware.com.

Salesforce data integration Frequently asked questions
How do Salesforce API limits affect warehouse sync pipelines?
Salesforce enforces daily API call limits based on edition and user count. When warehouse sync pipelines use full extraction — querying all records on every cycle — they consume API calls proportional to total record count rather than change volume. When limits are reached, Salesforce blocks further API requests until the limit resets, causing pipelines to fail and warehouse data to go stale. Incremental sync strategies reduce API consumption to a fraction of full extraction by querying only what changed since the last cycle.
What is the most effective way to reduce Salesforce API consumption for warehouse sync?
SystemModstamp-based incremental extraction is the most widely applicable and immediately impactful strategy. Rather than querying all records on every cycle, the pipeline queries only records modified since the last successful extraction — reducing API consumption proportionally to change volume rather than total record count. On a 500,000-record object where 200 records changed in the last fifteen minutes, incremental extraction returns 200 records rather than 500,000.
How does incremental extraction work in practice?
Incremental extraction records the timestamp of the last successful sync cycle and queries only records where SystemModstamp is newer than that checkpoint. Sesame Software manages the checkpoint automatically — failed cycles retry from the correct position without re-extracting previously processed records. Extraction frequency is configurable per object so high-priority objects sync every five minutes while reference data syncs daily.
When should I use Bulk API versus REST API for Salesforce warehouse sync?
Use Bulk API for initial historical loads and large-batch operations above approximately 10,000 records. The Bulk API operates through a separate data path that does not consume the standard REST API budget, allowing large-volume operations to run without affecting the API availability of other integrations and operational tools. Sesame Software uses Bulk API automatically for initial loads and transitions to incremental sync for ongoing operations.
Can different Salesforce objects sync at different frequencies?
Yes — and configuring per-object sync frequency is one of the most effective API reduction strategies for enterprise warehouse sync. High-priority objects like Opportunities and Cases sync every five to fifteen minutes. Standard objects feeding daily analytics sync every thirty to sixty minutes. Reference data syncs daily or on change detection only. Sesame Software configures sync frequency per object through the visual pipeline interface without requiring separate pipeline instances.
What is Change Data Capture and does Sesame Software support it?
Change Data Capture is an extraction pattern where a platform subscribes to Salesforce's event bus and receives record-level change notifications without consuming REST API calls. It delivers near-real-time data movement with minimal API impact. Sesame Software does not currently implement CDC. For most enterprise warehouse sync use cases, five-minute incremental extraction delivers sufficient data freshness without requiring CDC. Where sub-minute freshness is a hard requirement, CDC support is a factor to include in your platform evaluation.



