Your data doesn't always live in files. If it sits behind your own API, in an ERP, an OMS, or a PIM, you can point WeTransform directly at the endpoint that lists your items. No export scripts, no CSV dumps, no uploads: WeTransform pulls the data itself, and replays the fetch on every source refresh.
🧙 A guided setup — you never type a JSON path
Create a new source and choose From an API. The setup is a six-step wizard whose central idea is simple: everything is picked by clicking a live response from your API, never typed by hand.
Authentication — no sign-in, API key (header or query parameter), or username and password. Credentials are stored encrypted and can be rotated anytime
Entry point — the endpoint that lists your items. The wizard calls it once, read-only, and shows the live response
Locate records — click the collection in the response that holds your rows. Nested collections work too: pick
datafor one row per order, ordata[].linesfor one row per order lineFetch details (optional) — if the list only returns a summary, enable a second request per item, like
GET /orders/{id}Paginate — page number, offset and limit, cursor, or none. The stop condition is read from the response
Pick data — tick the columns you want, from the list and from the item detail, and preview the exact joined table that will land in your source
💡 Test on a sample first. An optional item limit bounds the fetch, handy to validate a configuration on 50 items before importing everything.
🔁 What happens on every refresh
The fetched data becomes a regular source: it flows through matching, rules, and Finalize like any uploaded file. The difference is the refresh: every source refresh replays the whole fetch, all pages and all detail calls, so your source always mirrors the API. Each run logs its status, pages and rows fetched, and any error, with the failing request captured for debugging.
🏭 Example — pulling orders from an OMS
A logistics operator needs yesterday's orders from their OMS every morning. The API lists orders at GET /v2/orders?page=N, 100 per page, with the shipping detail on GET /v2/orders/{id}. In the wizard, they authenticate with an API key, pick data as the records, enable the detail request, choose page-number pagination, and tick order_ref, customer, total from the list plus carrier and tracking from the detail. Combined with a daily schedule, the orders arrive transformed every morning with zero exports on the OMS side.
👨💻 For your developers: the full reference, including a public demo API to try the wizard end to end, is at api.wetransform.com/en/documentation/api-fetcher.
👉 What to do next
