AI Infrastructure and Data Management

ETL vs ELT for Data Acquisition: Choosing Per Source, Not Per Stack

August 21, 2026

5 min read


ETL vs ELT for Data Acquisition: Choosing Per Source, Not Per Stack featured image

You have read the same etl vs elt comparison five times this quarter. Each one compares where the transform runs, each one asks how much data you have, and each one assumes you own the source. You do not.

Set aside which pattern is modern. Modern is a property of your warehouse, not of the API you pull from. When the source belongs to someone else, a few source-side facts decide it: what a re-pull costs, whether the schema is contractual or merely observed, whether personal data may legally land raw, how hard the ceiling is. A documented 5,000 requests per hour does not care where your transform runs.

By the end you will be able to pick a pattern for one specific feed and defend the choice.

Quick Digest

  • The shared extract step: ETL and ELT run an identical E, and the E is the part you do not control.
  • Sources you do not control: third-party APIs, vendor drops, scraped sites and licensed feeds each bend extraction.
  • The differences that decide it: six source-side factors settle a third-party pipeline. Data volume is not one.
  • Where ETL wins: regulated PII feeds, no-raw-retention clauses, per-record pricing, narrow access windows.
  • Where ELT wins: scraped sources, costly re-pulls, exploratory coverage, moving business logic.
  • Choosing per source: five questions from a contract and a week of logs. Most estates run both.
  • The acquisition layer: a reliable extract is a precondition for either pattern, not a warehouse feature.
2026 Edition · Strategic Guide
How to Get Started With Your Data Acquisition Strategy For AI
A strategic guide for data leaders who don’t know where to start.
Most guides about data infrastructure jump to the technical fix. This one starts a step earlier, at the strategy decision. It helps you see where you stand on the data acquisition maturity curve, what your options are, and what to ask before you pick a partner.
5 Data Acquisition Stages
3 Data Solutions
15 Min Read
Download the e-book
Free. Sent straight to your inbox.
We’ll email you the guide. No spam, unsubscribe anytime.
Side-by-side ETL and ELT flow diagram. Both rows start with the same Extract stage, highlighted in teal as the segment outside your control. ETL runs Extract, Transform, Load and commits the schema at extract time. ELT runs Extract, Load, Transform and defers the schema to read time. Pattern choice moves the transform, never the extract.
Pattern choice moves the T. It never moves the E.

ETL and ELT in one pass

ETL transforms data before it lands in the warehouse. ELT loads it first and transforms it in place. Everything follows from where the transform runs and when the schema is committed.

ETL provisions a transformation tier and commits at extract time, schema-on-write. ELT lands the payload in a data warehouse or lakehouse, models it with dbt, and defers to read time, schema-on-read. Apache Airflow orchestrates either. Background: data pipeline versus ETL.

The pair is not exhaustive. A November 2025 academic paper formalizes ETLT and ELTL as design patterns, because practitioners already run them while “the literature lacks best practices and formal recognition of these approaches as design patterns.” ETL is not the legacy one.

CREATE TABLE raw_vendor_feed (payload VARIANT);

COPY INTO raw_vendor_feed
  FROM @vendor_stage
  FILE_FORMAT = (TYPE = 'JSON');

What do ETL and ELT actually share?

ETL and ELT share the entire extract step and its constraints: the same authentication and auth rotation, the same cursor pagination, the same watermark state, the same exponential backoff on HTTP 429.

And the ceiling. GitHub‘s REST API, as of August 2026, permits 60 requests per hour unauthenticated, 5,000 for an authenticated user or OAuth app, and 15,000 for qualifying Enterprise Cloud organizations, returning HTTP 403 or 429 past that.

The E is identical, and the E is the part you do not control. A shared dependency both patterns sit on.

What breaks when you don’t control the source?

Four acquisition classes, four ways the extract step bends. Third-party APIs hand you auth rotation, cursor state and a ceiling you cannot raise. Vendor file drops arrive on an SFTP schedule under a delivery SLA, columns reordered between deliveries. Scraped web sources bring anti-bot measures, proxy management and an observed rather than contractual structure. Licensed feeds carry retention terms, per-record pricing and residency rules.

None offers change data capture. No log to tail, so you keep the state yourself: cursors, high-water marks, idempotency keys, dedupe on re-extract. No upstream merge gates a change made in someone else’s repository. In practice, data volume, the axis the field decides on, predicts almost nothing here.

Extraction is not a solved first step. A silently truncated pull, a vendor adding a column mid-file, an auth rotation at 3am, a 429 storm halving a day’s records: none are transform events.

Yasmin, Tian and Yang (IEEE ICSME 2020) studied 2,224 OpenAPI specifications covering 1,368 RESTful APIs and found that across the 219 APIs carrying deprecation signals, an average of 46% of operations were deprecation-related, and in 71 of those 219, every operation was affected. There is no standard way to retire an endpoint, which is why reliable automated data collection is a validation discipline, not a scripting one.

GET /repos/acme/widgets/issues?per_page=100&page=3
Authorization: Bearer <token>

HTTP/1.1 403 Forbidden
x-ratelimit-limit: 5000
x-ratelimit-remaining: 0
x-ratelimit-reset: 1787160000
retry-after: 60

Neither pattern changes a byte of that exchange.

Quick Summary

Q: What breaks when you don’t control the source?

A: The extract step, in ways neither pattern can see. Sources change without notice, offer no CDC log and enforce ceilings you cannot raise.

Forage AI promotional banner. The extract step is the part you do not control. Four source types, a third-party API, a vendor drop, a scraped site and a licensed feed, sit on the far side of a source boundary and flow through managed extraction into either ETL or ELT, so both patterns stay available. Forage AI handles selector drift, anti-bot evolution and schema changes as part of the service.
Managed extraction feeds either pattern, without replacing your warehouse or transform tier.

The differences that decide a third-party pipeline

Six factors settle the choice, and we call them the Six Source-Side Factors: cost placement, drift behaviour, replay, PII placement, access exposure, failure shape. Each is answered by a fact about the source, not about the warehouse.

Terminology, held from here. Schema drift is an unannounced source-side change. Replay is re-running the transform against retained raw. Backfill is recovering a historical range from the source. Not interchangeable.

The Six Source-Side Factors that decide ETL versus ELT for a third-party pipeline: cost placement, drift behaviour, replay, PII placement, access exposure and failure shape. Each is phrased as a question answered by a fact about the source rather than about the warehouse. Data volume is not one of them.
The Six Source-Side Factors. Data volume is not one of them.
Factor ETL ELT
Order of operations Transform before load Load before transform
Schema committed At extract time At read time, deferred
Where compute cost lands Dedicated tier, paid regardless of queries Warehouse compute, billed per transform run
Cost of a re-run Paid again unless raw was retained Paid once if raw is retained
Behaviour under schema drift Fails loudly at the transform, pre-load Absorbs it, fails silently downstream later
Replay and backfill Only if raw was retained separately Native: re-run the transform on retained raw
Where PII is handled Masked pre-load; raw PII never lands Lands raw; masking is a post-load control
Rate limit exposure A failed transform can force a re-pull Retained raw removes the re-pull
Completeness guarantee Transform-time validation catches short pulls Preserves an incomplete pull confidently
What breaks first The transform job The dashboard
Fit for licensed data Compatible with no-raw-retention clauses Often contractually disqualified

Where the transform cost lands

ETL pays for a tier regardless of query volume. ELT bills per transform run, re-runs included. In the 2026 State of Analytics Engineering Report, April 2026, n=363, 57% reported increased warehouse and compute spend against 36% reporting increased team budgets, and 53% now prioritize cost reduction, up from 48%.

For a per-call-priced API or a scraped source carrying proxy costs, the mechanism inverts. You pay per record before any transform exists, and again for every retry burned against a ceiling. That spend belongs to the E, so moving the transform does not move it.

The four places pipeline cost actually sits: extract-side spend from per-record pricing, proxies and retries, paid before any transform exists; the transformation tier ETL provisions up front; warehouse compute that ELT bills per transform run, against a April 2026 survey of 363 practitioners where 57% report rising warehouse and compute spend and 36% report bigger team budgets; and raw storage. Pattern choice moves the transform cost only.
Pattern choice moves the transform cost. It does not move a cent of the extract cost.

What happens when the source schema drifts

A vendor renames a field in Tuesday’s file. ETL fails at the transform, before bad data lands. ELT’s semi-structured landing accepts the rename, the row count looks right, and the blast radius widens for days before a NULL column surfaces. See how extraction pipelines break in production.

SELECT
  payload:customer_id::STRING AS customer_id,
  payload:amount::NUMBER      AS amount
FROM raw_vendor_feed;

After the rename to customerId, that first column returns NULL from Tuesday on. Nothing alerts.

Common misconception. ELT does not handle schema drift. It defers it. Loud and early is usually the cheaper failure.

Whether you can replay or backfill

ELT’s retained raw makes replay native and removes the re-pull. ETL’s replay exists only if you retained raw separately; discard it, and a backfill against a vendor’s rolling window returns nothing. Retained raw is still not a backup. It is only as complete as the pull behind it.

Two recovery paths after a bad transform. With retained raw, replay is native: re-run the transform and the source is never touched twice, though the raw is only as complete as the pull behind it. Without retained raw you go back through the source boundary into a documented ceiling of 5,000 requests per hour. A closed access window does not reopen.
Replay is not backfill. A closed access window does not reopen.

Where PII gets handled

ETL masks or drops before load. ELT lands raw and masks downstream while the original still exists. GDPR, in force since May 2018, names the mechanism twice: Article 5(1)(c) requires personal data “limited to what is necessary in relation to the purposes for which they are processed,” and Article 5(1)(e) requires it “kept in a form which permits identification of data subjects for no longer than is necessary.” The second clause bites the ELT raw layer specifically. ETL’s price: the unmasked original is gone, so replay went with it.

Who absorbs a rate limit or a closed access window

A failed ETL transform can force a re-pull straight into a ceiling; retained raw removes the need to pull twice. The pattern that survives is the one whose recovery path does not need the source to cooperate again. A retry policy is not a recovery plan once the window has closed.

What a failure actually looks like

Under ETL the transform job breaks and pages someone. Under ELT it is a gray failure: the dashboard breaks and someone notices, later. You can’t ELT what you couldn’t extract. A raw layer built from an incomplete pull is not a safety net: a truncated extract or a 429-shortened page walk lands as a confident-looking raw table.

Expert Insights

Chad Sanderson, CEO and co-founder of Gable.ai, wrote in March 2025 that “data engineers became reactive firefighters, constantly wrangling broken schemas, cleaning up unexpected transformations, and trying to reconstruct meaning from fragmented event logs,” and that “if a change to a schema or data payload is going to break an ML model or a reporting pipeline, the engineer should know before they hit merge.” For a source you do not own there is no merge to gate.

Detection-latency timeline comparing schema drift under ETL and ELT. Under ETL the transform rejects the renamed field on day zero and the failure is detected in minutes, with nothing bad loaded. Under ELT the load succeeds, the row count looks right, the blast radius widens across days, and a model returns NULL later with no alert.
ELT does not handle drift. It defers it.

Where ETL wins in data acquisition

Five acquisition scenarios, named as source types, not data properties. Regulated feeds carrying PII that must not land raw, masked inside the extract job. Licensed data with no-raw-retention or delete-on-transform clauses. Per-record priced sources you cannot afford to re-pull, where a validation gate inside the extract job earns its keep. Small, high-complexity vendor feeds where warehouse compute is the expensive part. Narrow access windows, where the job must validate and quarantine before the window shuts.

What links them is a source behaviour, not a preference. Regulated feeds emit identifiers alongside the fields you need, and the minimisation obligation attaches the moment they land, not when a model reads them. A delete-on-transform clause makes retention itself the breach, and no downstream masking undoes it. Per-record pricing charges on the pull, so a parse you get wrong buys a second invoice, not a second query. An access window shuts on the vendor’s schedule and gives you one attempt to validate, which is why that check belongs inside the extract job.

California Civil Code § 1798.100(c), operative January 2023, sets the standard: a business’s “collection, use, retention, and sharing of a consumer’s personal information shall be reasonably necessary and proportionate to achieve the purposes for which the personal information was collected or processed.” Read that as an architecture constraint, not a legal footnote. An ELT raw layer is by construction retention of everything the source emitted.

Common misconception. For some licensed feeds, ELT is not the worse option. It is contractually disqualified. No cost advantage recovers a clause. ETL’s price is real too: native replay goes with the unmasked original.

This article provides general guidance, not legal or compliance advice. Consult qualified counsel for your organization’s specific requirements.

Where ELT wins in data acquisition

Five again, weighted the same. Scraped and semi-structured sources where the schema cannot be known at extract time. Expensive-to-re-extract feeds, where retained raw buys replay. Exploratory coverage, where you do not yet know which fields matter. High-volume vendor feeds where warehouse compute costs less than a provisioned tier. Business logic still moving, where early schema commitment books technical debt.

What links these is the opposite source behaviour. A scraped source has no contract holding it still, so the structure you parse today is a reading you will revise, and landing the payload whole makes that revision a re-run, not another crawl past anti-bot measures. A feed you cannot re-pull cheaply turns every parse decision into a one-way door unless raw survives. Exploratory coverage has no target schema, so committing one at extract time discards fields you have not learned to want. When business logic outruns the source, replay keeps the rewrite off the extract schedule.

Open table formats are why the raw layer got cheap and queryable after 2024, a shift absent from the published comparisons. Adoption is earlier than the discourse implies: in the same April 2026 survey of 363 respondents, only 9% reported Apache Iceberg in production, with 27% reporting some engagement. Treat the cheap replayable raw layer as a settled default and you skip the completeness checks that make it work.

The honest version of the replay argument: it exists only if the raw pull was complete, so ELT’s strongest advantage is conditional on the extract rather than the warehouse.

Which pattern fits which source?

Six factors, five questions: drift and failure shape resolve together. Each is answerable from a vendor contract and a week of logs. Can you re-extract cheaply, or at all? Is the schema contractual or merely observed? May PII legally land raw? How narrow is the access window? Do you need replay, and would retained raw be permitted?

Which pattern fits which source. A third-party API usually lands on EtLT because of hard ceilings, cursor state and auth rotation. A vendor file drop can go either way and drift behaviour decides. A scraped source leans ELT because its structure is observed rather than contractual. A licensed feed leans ETL because retention clauses can disqualify a raw layer. A 40-source estate legitimately runs both.
A 40-source estate legitimately runs both.

Most third-party estates converge on EtLT: light normalization and PII masking pre-load, heavy modelling post-load. Not a fence-sit. As of November 2025 the hybrid has a formal specification, and the enhanced variants embed “explicit contracts, versioning, semantic curation, and continuous monitoring as mandatory design obligations.” That is a job description: a data contract for a schema you do not own, a schema registry to make it contractual, not observed, and data observability for third-party datasets replacing the merge gate you do not get.

So reject “standardise on one pattern.” A 40-source estate will legitimately run both, and that follows from the contracts, not indecision. Our view, not either cited source’s: per-source selection becomes the default posture within 12 to 24 months.

Expert Insights

Pooja Crahen, Senior Manager of Analytics Engineering at Okta, framed it in April 2026: “there’s a real tension between moving fast and building trust, and you can’t optimize for both without intention,” and “discipline in modeling, validation, and ownership becomes a requirement, not a best practice.”

Where the acquisition layer fits

Neither ETL nor ELT addresses an extract-side failure, so whoever owns the extract sits upstream of the decision. A March 2025 survey of 307 UK and US data decision-makers and users found 64% reporting that their teams spend more than half their time on repetitive or manual tasks, and 70% rating pipeline management as somewhat or extremely complex.

An acquisition layer absorbs four functions: managed extraction against sources you do not control, schema-drift monitoring at the source boundary, replayable raw retention, and completeness checks before hand-off. Forage AI handles selector drift, anti-bot evolution, and schema changes as part of the service, Managed Data Extraction for teams moving from fragile scripts to managed pipelines.

Not a warehouse replacement, not a transform tier. It makes both patterns available by making the shared E reliable.

Forage AI promotional banner. Make the shared extract step reliable and both ETL and ELT work. Neither pattern can fix an extract-side failure. The four functions an acquisition layer absorbs: managed extraction against sources you do not own, schema-drift monitoring at the source boundary, replayable raw retention where terms allow it, and completeness checks before hand-off.
An acquisition layer, not a warehouse replacement.

Frequently asked questions

Is ELT replacing ETL?

No, and specifically not for sources you do not control. Retention clauses and per-record pricing make pre-load transformation structurally required for a real share of third-party feeds.

Which is better for third-party or API data, ETL or ELT?

Neither, universally. It turns on whether you can re-extract cheaply and whether the schema is contractual or observed. Answer those two and the rest falls out.

Is ELT actually cheaper than ETL?

Only if you measure transform compute alone. For per-call-priced APIs and scraped sources the extract dominates, and warehouse compute spend is outrunning the budgets meant to absorb it.

Can you run ETL and ELT in the same pipeline?

Yes, and most third-party estates should. Light normalization and PII masking pre-load, heavy modelling post-load, formalized as a design pattern in November 2025.

What happens to an ELT pipeline when the source schema changes?

The load usually succeeds. Semi-structured landing absorbs the change instead of rejecting it, so the failure surfaces days later in the models, not at ingestion.

Is dbt ETL or ELT?

dbt is the T in ELT. It transforms data already in the warehouse and never touches your source, so it cannot fix an extract-side failure.

Conclusion

Pick one source you already own. Run the five questions against it this week, write the answers next to the feed name, and see whether the pattern you inherited is the one the source actually selects. Per-source selection is the posture that survives a vendor changing a field, because it does not require re-platforming every time one does. If you land somewhere that contradicts what we have argued, we would rather hear it.

2026 Edition · Strategic Guide
How to Get Started With Your Data Acquisition Strategy For AI
A strategic guide for data leaders who don’t know where to start.
Most guides about data infrastructure jump to the technical fix. This one starts a step earlier, at the strategy decision. It helps you see where you stand on the data acquisition maturity curve, what your options are, and what to ask before you pick a partner.
5 Data Acquisition Stages
3 Data Solutions
15 Min Read
Download the e-book
Free. Sent straight to your inbox.
We’ll email you the guide. No spam, unsubscribe anytime.
S
Written by
Sai Subramaniam
Data Infrastructure Enthusiast, Forage AI

Sai is a data infrastructure enthusiast who has spent the past two to three years following the AI space closely, from the infrastructure layer to the fast-growing world of data for AI. He is genuinely curious about how modern data pipelines get built and where the data industry is heading, and he writes insightful pieces on the core topics that shape this niche.

Reviewed by the team of experts at Forage AI for accuracy and clarity.

Related Blogs

post-image

Data Extraction

August 21, 2026

Top 10 Legal Data Providers: How Intelligence Teams Buy Legal Data (2026)

Author name

5 min read

post-image

Firmographic Data

August 21, 2026

US Business Registries: All 51 Ranked by Data Accessibility (2026)

Author name

5 min read

post-image

AI Infrastructure and Data Management

August 21, 2026

ETL vs ELT for Data Acquisition: Choosing Per Source, Not Per Stack

Author name

5 min read