Skip to content New SourceLoop MCP: chat with your attribution data in Claude, ChatGPT & Cursor
SourceLoop
API reference

Changes

What changed since your last run. The incremental endpoint automations poll instead of refetching a window.

Endpoint Method Path Permission
List changes What changed since your last run GET /v1/changes conversions:read

Base URL https://app.sourceloop.ai/api/v1

List changes

What changed since your last run

GET /v1/changes

Requires conversions:read

The endpoint automations are built on. Poll it with the cursor from your last run instead of refetching a window and diffing client-side.

Every change carries a `source`, so your job can skip its own writes rather than reacting to them and looping.

Ordered newest first. Keeps 90 days.

curl -s -X GET "https://app.sourceloop.ai/api/v1/changes" \
  -H "Authorization: Bearer $SOURCELOOP_API_KEY"
const res = await fetch(
  "https://app.sourceloop.ai/api/v1/changes",
  {
    method: "GET",
    headers: {
      Authorization: `Bearer ${process.env.SOURCELOOP_API_KEY}`,
    },
  },
);

const data = await res.json();
import os, requests

res = requests.get(
    "https://app.sourceloop.ai/api/v1/changes",
    headers={"Authorization": f"Bearer {os.environ['SOURCELOOP_API_KEY']}"},
)
data = res.json()

Query parameters

sincestring (date-time)

Defaults to the last 24 hours.

cursorstring

typesstring

Allowed values4

  • conversion.created
  • conversion.value_changed
  • stage.changed
  • deal.stage_changed

limitinteger

Default 100

Responses

  • 200 Changes
  • 400 Something was wrong with the request or the credential.
  • 429 Too many requests for this workspace in the current minute. Wait Retry-After seconds and repeat the request unchanged.

Track every conversion to its true source

Capture and send full attribution data from every signup, lead, booking, and sale to your CRM and ad platforms, so you know exactly what's driving revenue.

Without SourceLoop

Untagged

Kayden Floyd

kayden@abc.com

  • SourceUnknown
  • MediumUnknown
  • CampaignUnknown
  • Landing pageUnknown
Journey
No touchpoints captured

With SourceLoop

Auto-tagged

Kayden Floyd

kayden@abc.com · Acme Co.

  • Channel Paid Social
  • CampaignFree_demo
  • Landing page/pricing
Journey
Synced to HubSpot Google Ads Meta