Orakel Docs
API reference

Updates

Change feed for incremental CRM sync. Returns companies whose record changed after a given timestamp.

Request

GET /api/updates

ParameterTypeRequiredDescription
sinceISO dateyesReturn companies with updatedAt >= since.
limitintegerno1–100. Default 20.
cursorstringnoPagination cursor from prior response.

Ordering is stable: updatedAt ASC. Store the most recent updatedAt you've seen and pass it as since on the next call.

Response

{
  "data": [
    {
      "orgNumber": "912345678",
      "country": "NO",
      "name": "Example AS",
      "updatedAt": "2026-04-20T12:34:56Z"
    }
  ],
  "nextCursor": "clx...",
  "hasMore": true
}

Each row includes the full company firmographics, the latest financial, and active roles — the same shape as a page of /api/companies. Upstream update cadences: Brreg every 15 min, YTJ and Bolagsverket daily.

Examples

curl

curl -H "Authorization: Bearer $ORAKEL_KEY" \
  "https://orakel.cloud/api/updates?since=2026-04-20T00:00:00Z&limit=100"

JavaScript

const since = localStorage.getItem("orakel_watermark") ?? "2026-04-01T00:00:00Z";
const res = await fetch(
  `https://orakel.cloud/api/updates?since=${encodeURIComponent(since)}&limit=100`,
  { headers: { Authorization: `Bearer ${process.env.ORAKEL_KEY}` } },
);
const { data, hasMore } = await res.json();
if (data.length) {
  localStorage.setItem("orakel_watermark", data[data.length - 1].updatedAt);
}

Error modes

StatusMeaningAction
400Missing or invalid since parameterPass an ISO timestamp
401Missing or invalid API keyCheck the Authorization header
429Rate or quota exceededBack off
500Query failedRetry

Rate limits

Per-key RPM per tier.

Typical use cases

  • Incremental CRM sync: poll hourly with the previous updatedAt watermark.
  • Data-warehouse CDC: stream change records into a staging table.
  • Webhook replacement: pull on a schedule instead of operating a webhook receiver.

On this page