How Vendor Lock-In Happens in SaaS Data Formats, Not Just Contracts

 

 Last Updated: September 28, 2026


Disclosure: This article currently contains no affiliate links, and no vendor mentioned here paid for or previewed it. If that changes, I will say so here and mark any affiliate links clearly. See my Affiliate Disclosure and Editorial Policy.

Methodology note: Every price, rate limit, and plan detail in this article was pulled from vendor pricing pages, official API documentation, or public review platforms (G2, Capterra). Several of the core figures — HubSpot's API rate-limit table and its $500/month and $1,700/month limit-increase add-ons, Salesforce's export cadence rules, and Airtable's rate limits and per-seat pricing — were independently verified with our own screenshots of the live pages on September 28, 2026, shown throughout this piece. Where a figure is an estimate rather than a published rate, I've labeled it as such. SaaS pricing changes often — I'd encourage you to verify current numbers against the linked sources before making a purchasing decision, and I'll update this piece when I catch material changes.

The lock-in clause everyone reads, and the one nobody does

When people worry about getting trapped by a SaaS vendor, they think about contracts: auto-renewal clauses, multi-year commitments, early-termination fees. Those are real, and a procurement team that ignores them is asking for trouble.

But after several years of watching companies try to actually leave SaaS platforms, the contract is rarely what stops them. What stops them is discovering, at the exact moment they need to move, that "exporting your data" and "having your data" are two completely different things.

A platform can have a month-to-month contract with zero cancellation fees and still be nearly impossible to leave — because the data comes out flattened, incomplete, rate-limited, or in a shape that takes a specialist team weeks to reassemble. That's lock-in with no contractual trigger at all. It's baked into the file format, the API's rate limits, and which fields the export button actually includes.

This piece looks at how that mechanism works in practice, with current pricing and documented limits from three widely used platforms — Salesforce, HubSpot, and Airtable — plus a short historical case that shows what the failure mode looks like when a vendor shuts down entirely. Then it quantifies something most lock-in articles only gesture at: what companies actually pay, in real dollars, just to get data they already own into a usable form.

What "data-format lock-in" actually means

Lock-in through data formats has a recognizable shape, and it rarely involves a vendor doing anything as blunt as refusing to let you leave. Instead:

  • Exports flatten relationships. A CRM will happily hand you a CSV of contacts. It's much less likely to hand you contacts with their deal history, their support tickets, their email threads, and the automation rules that were triggered by their activity, all still linked to each other. You get the nouns and lose the verbs.
  • APIs are rate-limited in ways that make bulk extraction impractical. A rate limit designed to protect the platform from abuse also, as a side effect, protects the platform from you extracting years of your own data in a reasonable timeframe — unless you pay more.
  • "Full export" and "usable export" are not the same claim. A vendor can accurately advertise unlimited data export and still make that export nearly worthless for migration, because file attachments, audit history, or configuration/metadata aren't included in the dump.
  • The ceiling moves with your subscription tier, not with how much data you have. This is the part that turns lock-in into a line item: the amount of your own data you're allowed to pull out in a given month is frequently a function of which plan you're paying for, not a function of how much data actually exists.

None of this requires malicious intent from the vendor. Every individual limit is a defensible engineering or business decision — protect API performance, price by usage, keep support costs down. The lock-in is an emergent property of a dozen reasonable decisions stacking up, not a single deliberate trap.

Case study 1: Salesforce's native export vs. what "backup" actually requires

Salesforce is the platform where this pattern is easiest to see clearly, because the gap between "technically exportable" and "actually usable" is well documented.

What the built-in Data Export Service gives you:

  • Export frequency capped at once a week on Enterprise, Performance, and Unlimited editions, and once every 29 days on Professional and Developer editions — you cannot run it more often even if you're willing to do it manually.
  • Files expire and are deleted 48 hours after the export completes, whether you've downloaded them or not.
  • Data comes out as a stack of separate CSV files, one per object, split into roughly 512MB .zip archives once volume grows — reconstructing relationships between accounts, contacts, cases, and custom objects is a manual job.
  • Binary attachment and file content is not included. ContentVersion and Attachment records show up as metadata rows in the CSV, but the actual file bytes have to be retrieved separately, object by object.

 


Screenshot: Salesforce Trailhead, "Data Management: Export Data" module, trailhead.salesforce.com, captured September 28, 2026.

None of this is hidden — Salesforce documents it plainly, including on its own public Trailhead training pages, not just in account-specific Setup screens. But it means the free, built-in export is a compliance checkbox, not a migration or disaster-recovery tool. Companies that actually need point-in-time recovery, full metadata backup, or exports they can restore into a different system have to buy that capability separately.

What filling that gap costs, in practice:

  • Own (formerly OwnBackup, the market leader before Salesforce acquired the company for $1.9 billion in September 2024) prices its backup and recovery product at roughly $2.50–$5.85 per Salesforce user per month, billed annually, according to its current G2 pricing listing.
  • Odaseva, aimed at larger and more compliance-heavy orgs, starts at roughly $1,750 a month for a package covering both data and metadata backup, per independent vendor comparisons — Odaseva doesn't publish exact figures, so treat that as a documented floor, not a full price list.
  • One G2 reviewer of Own's platform, verified as a current user, put the trade-off in a single line worth quoting directly: "The license is per 100 Gb which it is somehow expensive." (G2.com, Own pricing reviews.) That's a customer who bought the tool and is still flagging the cost — useful counter-evidence to anyone tempted to treat vendor pricing pages as the whole story.

Run the math for a 100-user Salesforce org and the "free" native export ends up costing somewhere between $250 and $585 a month in third-party tooling to get something an IT team would actually trust for a real migration or disaster-recovery scenario — and that's before Odaseva-tier enterprise requirements, which run substantially higher. The data was never withheld. It was just handed back in a shape that made "free" the wrong word for it.

 



Original chart built from the pricing sources cited throughout this article. Figures verified September 2026 — confirm current rates before relying on them.

Case study 2: HubSpot — the API is technically open, the throughput is not

HubSpot doesn't hide its API behind a paywall the way some platforms do. The documentation is genuinely good, and there are official SDKs in six languages. The lock-in mechanism here is subtler: your rate limit, and therefore how fast you can extract your own records, is tied directly to your subscription tier.

As of HubSpot's current published limits:

  • Free and Starter plans: private apps get 100 requests per 10 seconds and a 250,000 calls/day cap.
  • Professional and Enterprise plans: 190 requests per 10 seconds, with daily caps of 625,000 to 1,000,000 calls.
  • Publicly distributed marketplace apps are capped at 110 requests per 10 seconds per installed account, and HubSpot states this particular limit cannot be increased at any tier.
  • Search and Associations API endpoints carry their own, stricter limits on top of the general ones — a single search query counts as 4 requests against quota, so a sync of 50,000 contacts can consume 2,000 search requests before you've touched anything else.

If your account is hitting those ceilings regularly — which is exactly what happens when you're trying to do a full extraction for a migration rather than routine day-to-day syncing — HubSpot's own guidance is blunt: upgrade your subscription tier, or buy the API Limit Increase add-on for $500 a month, which raises private-app limits to 250 requests per 10 seconds and adds a million calls per day per capacity pack (capped at two packs per account).

 



Screenshot: HubSpot API usage guidelines and limits, developers.hubspot.com, captured September 28, 2026.

 



Screenshot: HubSpot Add-Ons & Limit Increases pricing page, captured September 28, 2026.

Put plainly: a company on a lower HubSpot tier that wants to pull its full contact, deal, and activity history out at a workable speed can end up paying $6,000 a year, on top of its existing subscription, for the privilege of extracting data it already owns — because the alternative is a sync so throttled it isn't practical to complete. And that's a modest number next to HubSpot's own subscription tiers, where the Professional CRM Suite starts at $1,781/month and Enterprise runs $5,000–$17,650/month depending on contact volume and add-ons, plus onboarding fees ranging $750–$12,000.

None of this is unreasonable engineering — rate limits exist to protect a multi-tenant platform serving over 194,000 customer accounts from being brought down by bulk extraction jobs. But the effect on a customer trying to leave, or even just trying to build an independent backup, is identical to lock-in: the data is "yours," and getting all of it out in a reasonable window costs money that has nothing to do with the value you're extracting.

It's not just the API — HubSpot meters record volume itself the same way. The same Add-Ons & Limit Increases page prices raw data volume as a paid upgrade, not just throughput:

Add-on Price What it actually buys
CRM Contact Record Limit Increase $1,700/month +1,000,000 contact records above the included 15M cap (max 50M/account)
CRM Object Record Limit Increase $1,100/month +1,000,000 records per object type (deals, tickets, companies, etc.)
Custom Objects Limit Increase $500/month +10 custom objects and +1,000,000 records across them
Reporting Limit Increase $200/month +300 dashboards, +3,000 custom reports

 



Screenshot: HubSpot Add-Ons & Limit Increases pricing page, captured September 28, 2026.

This is worth sitting with: a company that simply has more of its own historical data than the base plan anticipated — more contacts, more custom object records — pays a recurring monthly fee for the right to keep and access it in HubSpot at all, independent of any API or export activity. That's a more direct version of the same pattern the API limits illustrate: the ceiling is priced, not technical.

Case study 3: Airtable — the ceiling is priced, not just rate-limited

Airtable is worth including because it shows the same mechanism in a tool that markets itself as flexible and export-friendly, aimed at smaller, less technical teams who are less likely to notice the ceiling until they hit it.

Airtable's Web API rate limit — 5 requests per second per base, 50 per second per token — is the same on every plan, which is genuinely fair, and it's stated plainly on Airtable's own developer documentation.

 



Screenshot: Airtable Web API documentation, "Rate Limits," airtable.com/developers, captured September 28, 2026.

What isn't flat across plans is how much data each plan lets you hold and touch in the first place:

Plan Price (annual billing) Records per base Monthly API calls (per Airtable support docs)
Free $0 1,000 1,000
Team $20/seat/mo ($24 monthly) 50,000 100,000
Business $45/seat/mo ($54 monthly) 125,000 Unlimited (rate-limited only)
Enterprise Scale ~$60+/seat, negotiated 500,000+ Unlimited (rate-limited only)

Records-per-base and per-seat pricing confirmed directly from Airtable's pricing page (screenshots below). The monthly API-call caps are documented separately, on Airtable's support site (support.airtable.com) rather than the main pricing page — worth a second screenshot of that specific page if you want every cell in this table visually verified.

 



Screenshot: Airtable pricing page, airtable.com/pricing, captured September 28, 2026.

 



Screenshot: Airtable pricing page, airtable.com/pricing, captured September 28, 2026.

A team that outgrows its Free plan's 1,000-record cap has to move to Team. A team that then wants to run a serious data-extraction or migration job — the kind that involves calling the API tens of thousands of times to pull every field of every record, including attachments — can burn through the Team plan's 100,000-monthly-call allowance surprisingly fast, and the only paths forward are throttling the job across multiple months or upgrading to Business, more than doubling the per-seat price.

For a 12-editor team, that's the difference between $240/month (Team) and $540/month (Business) — a $300/month jump that's driven, in real cases, by nothing more than wanting to fully extract the data that's already sitting in the account.

 



Original chart built from Airtable's published pricing and API documentation.

What happens when the vendor isn't just throttling you — it's disappearing

Rate limits and tiered caps are the everyday version of this problem. The acute version shows up when a platform shuts down and the export window becomes a one-time, unforgiving event.

A documented case from a publisher support forum: when the commenting platform LiveFyre wound down, one site owner ran the provided data export, found it merged spam and legitimate comments with no field to tell them apart, cleaned the source data, and went back to re-run the export — only to find the platform's own export page stated: "Once you start an export, you will be unable to run it again." (Adobe Experience League Communities, LiveFyre migration thread, 2017.) Support redirected the user to an email alias with no further resolution documented in the thread.

That's an older, smaller-scale example, and LiveFyre itself no longer exists — but the mechanism it illustrates hasn't gone anywhere: a single-use, unverified export function is functionally the same as no export function, and the only time most people discover that is during a shutdown or a forced migration, when it's too late to negotiate. It's the sharpest version of a pattern that, on active platforms, just shows up as an ongoing monthly bill instead.

The overpay pattern, quantified

Pulling the three current case studies together:

  • Salesforce: $0 native export → $250–$585/month (Own, 100 users) or $1,750+/month (Odaseva) for an export you'd actually trust.
  • HubSpot: existing subscription → +$500/month ($6,000/year) for API throughput sufficient to extract your own data at a workable pace, or up to +$1,700/month just to keep more than 15 million contact records in the account in the first place.
  • Airtable: Team plan → +$300/month for a 12-editor team, largely to clear record-per-base and API-call ceilings tied to extraction volume, not to unlock any new editing feature.

None of these numbers are hypothetical — they're published rates or documented vendor pricing, linked throughout this piece so you can verify them yourself. What they add up to is a pattern that rarely shows up on a vendor comparison spreadsheet, because comparison spreadsheets are built around feature pricing, not exit pricing. A tool that looks cheapest on the way in can be the most expensive one to get data out of on the way out, and that cost is functionally invisible until you're the one trying to leave.

A pre-purchase checklist that actually tests for this

Reading a vendor's data-portability promises is not the same as testing them. Before signing, or before your renewal date locks you in for another term:

  1. Request an export of a realistic dataset, not a demo account. A five-record test export tells you nothing about what happens at 50,000 records with attachments and related objects.
  2. Check whether relationships survive the export. Does the contact record still reference its deals, tickets, and attachments after export, or do you get disconnected flat files?
  3. Read the actual rate-limit and monthly-call documentation for the plan you're buying, not just the plan the salesperson is demoing. HubSpot and Airtable both publish these numbers; Salesforce publishes its export cadence limits.
  4. Ask what a full data-and-metadata export costs beyond the base subscription — as a dollar figure, in writing. If the vendor can't answer, that's itself informative.
  5. Put export rights in the contract, specifying standard formats (CSV, JSON, XML — not a proprietary dump), a defined turnaround time, and at least one full export per contract term at no extra charge.
  6. Actually test it on a schedule, not just once at signup. Rerun the export test quarterly. A working export from eighteen months ago tells you nothing about whether this quarter's export still reconstructs cleanly, especially after the vendor has shipped new custom fields or object types.

The honest limits of this piece

A few things worth being upfront about, in the spirit of not overselling a research article as more than it is:

  • Pricing for backup and migration vendors (Own, Odaseva, and similar) changes frequently and is often partly negotiated rather than fully public — the figures here are the best publicly documented numbers as of September 2026, not guaranteed current rates.
  • The dollar comparisons in the chart above (Salesforce third-party backup vs. HubSpot's add-on vs. Airtable's tier jump) are not apples-to-apples in scope — they cover different capabilities at different company sizes. They're included to illustrate the shape of the pattern, not to rank the three vendors against each other.
  • This article doesn't cover every SaaS category — it uses Salesforce, HubSpot, and Airtable because their pricing and API documentation are unusually well-published, which made the claims verifiable. The same pattern shows up, often less transparently documented, across marketing automation, e-commerce, help-desk, and project-management platforms.

The bottom line

Vendor lock-in through data formats doesn't announce itself in a contract clause. It shows up as a rate limit that happens to make bulk extraction slow, a CSV that happens to drop the relationships that made the data useful, or an add-on that happens to cost $500 a month right when you need to move fast. Every individual piece of it is defensible. The cumulative effect is a system where leaving costs real, quantifiable money — money that was never listed on the pricing page you compared before you signed up.

The fix isn't avoiding SaaS tools with rate limits or tiered pricing — that would rule out nearly the entire industry. It's treating data portability as something you test before you buy, not something you discover during a migration deadline. Ask for the export. Check what's actually in it. Price out what a full extraction costs at your real data volume, not the demo account's. The vendors covered here aren't unusual in having these limits — they're unusual in publishing enough detail that the limits could be checked at all.

Sources referenced in this article

Sources marked (screenshot-verified) were independently captured from the live page on September 28, 2026, as shown in this article; other sources were reviewed but not separately screenshotted.

  • HubSpot API usage guidelines and limits, developers.hubspot.com/docs/developer-tooling/platform/usage-guidelines — (screenshot-verified)
  • HubSpot Add-Ons & Limit Increases pricing page, legal.hubspot.com — (screenshot-verified)
  • HubSpot pricing guide, Email Vendor Selection (verified 2026)
  • Salesforce Trailhead, "Data Management: Export Data" module, trailhead.salesforce.com — (screenshot-verified)
  • Salesforce Data Export Service documentation, via OpenText Cybersecurity, Xappex, and Revenue Grid coverage (verified 2026)
  • Own (formerly OwnBackup) pricing, G2.com product pricing page
  • Odaseva pricing coverage, DevOps Launchpad and Sigma Info (2026)
  • Salesforce's $1.9B acquisition of Own Company, reported September 2024, via Flosum's 2026 pricing analysis
  • Airtable pricing page, airtable.com/pricing — (screenshot-verified)
  • Airtable Web API "Rate Limits" documentation, airtable.com/developers/web/api/rate-limits — (screenshot-verified)
  • Airtable monthly API call limits, support.airtable.com (support documentation, distinct from the main pricing page)
  • LiveFyre export policy, Adobe Experience League Communities forum thread (2017)

About the Author:

Sandra Robert is the founder and editor of SaaS Software Reviews, an independent site that compares the real cost of business software. She checks prices against vendor pages and linked sources where possible, dates the figures, and updates articles when I learn of pricing changes. Corrections? Contact Sandra.