Skip to main content
Andre Alves
MVP ⭐️⭐️⭐️⭐️⭐️
MVP ⭐️⭐️⭐️⭐️⭐️
October 13, 2026
Question

When would you use a Cognite Function instead of the hosted REST extractor to ingest data into RAW?

We’re reviewing how to ingest data from external REST APIs into CDF RAW and would like to hear how other teams choose between the hosted REST extractor and a Cognite Function.

My starting point is the hosted REST extractor when the source can be handled with scheduled requests, pagination, incremental load, and mappings. A Function becomes attractive when the integration needs more complex request sequences or Python logic. But then our team also owns the extraction state, retries, recovery, and monitoring.

I’m particularly interested in how you make this decision when:

  • The source API requires calls to multiple endpoints or hosts, or data from several responses must be combined before writing a RAW row.

  • A large initial load cannot finish in one Function execution.

  • The source uses a change timestamp or cursor, and a run can fail after writing some rows but before completing the batch.

  • You need to replay a date range without losing later changes.

  • Authentication or network access makes a hosted integration difficult.

For teams using Functions for this pattern: where do you store the checkpoint, and when do you advance it? How do you make RAW writes safe to retry, avoid overlapping scheduled runs, and detect missing data?

Would you use a Function for ongoing production ingestion in these cases, or build a custom extractor outside CDF? I’d appreciate examples of where each approach worked well or became difficult to operate.

Hosted REST extractor documentation · Cognite Functions documentation