Live Diffs

Stop building hard-to-maintain crawlers. Subscribe to Live Diffs.

Live Diffs

Real-time corporate standing and compliance events

Get notified the moment a company's legal or financial standing changes — suspension, reinstatement, forfeiture, agent lapses. You get Live Diffs: only the change they need.

Get credentials

Why Live Diffs

Built for risk, underwriting, and compliance systems that need standing changes as they happen.

  • Built for systems, not spreadsheets

    Every change ships as a structured event you can pipe into underwriting, risk, or compliance workflows — no scraping, no manual re-checks.

  • Agentic Signals, not snapshots

    We don't sell a point-in-time export. Each Live Diff is the webhook with only the fields that moved — so you find out when it matters, not when you happen to look.

  • Built on distribution, not data creation

    The filings are public. What isn't is a normalized, real-time feed of what changed. That's the layer we built.

What a Live Diff looks like

We compare full company snapshots. Your Live Diff is the webhook with only the standing fields that moved — authenticated with a shared secret.

{
  "entity_id": "CA-B20260240102",
  "action": "UPDATE",
  "after": {
    "status": "Suspended",
    "standing_ftb": "Not Good",
    "suspension_date": "2026-08-15"
  }
}

Live today: California corporate registry. Subscribe by state and city, plus optional actions. More states use the same pattern.

Quick start

Three steps to your first event. Full detail in full documentation.

  1. Get credentials at diff.streamgine.com/account — API key + signing secret.
  2. Search today's companies, then subscribe so we push when standing or filings change.
  3. Verify X-Diff-Signature over raw body bytes, then handle INSERT / UPDATE / DELETE.
from streamgine import diff

# Once at startup — pick ONE download from /account:
#   diff.configure("diff-streamgine-credentials.json")
#   OR: source diff-streamgine-env.sh  then  diff.configure()
diff.configure("diff-streamgine-credentials.json")

callback_url = "https://your-agent.example/webhooks/diff"
client = diff.DiffClient()
# Full-story search (current companies):
hits = client.search(query={"term": {"principal_city.keyword": "San Francisco"}}, size=10)
# Newly added companies in San Francisco:
client.register(
    match={"state": "CA", "principal_city": "San Francisco"},
    actions=["INSERT"],
    callback_url=callback_url,
)

AI-agent friendly

These URLs are plain text — no JavaScript required. Point coding agents here first.

  • Agent index — /llms.txt — Short map of links (llms.txt standard)
  • Agent journey — /docs.md#agent-journey — Search → Watch → Qualify → Act → Stay current
  • Full documentation — /docs.md — Complete Markdown guide — also at /llms-full.txt

Stop building hard-to-maintain crawlers. Subscribe to Live Diffs.

Pay for the Agentic Signal your system consumes. California corporate registry today — same integration when we add more states.

Get credentials