Diff

Technical post

How Diff turns Secretary of State filings into webhooks

Diff compares each company to the last known snapshot and pushes only the change — INSERT, UPDATE, or DELETE — to your webhook, authenticated with a shared secret.

Get credentials

From filing to event

  1. 1. Filings land as company snapshots

    Diff ingests normalized Secretary of State filings — entity status, Franchise Tax Board standing, registered agent standing, and the other fields that matter. You never parse provider columns yourself.

  2. 2. Each company is compared to the last snapshot

    If nothing material changed, Diff stays quiet. Unchanged fields do not become events. You are not flooded with full-file replays.

  3. 3. Real changes become INSERT, UPDATE, or DELETE

    INSERT means a new company. UPDATE means fields that moved — only those fields. DELETE means the company was removed from the feed you watch.

  4. 4. Your webhook gets a minimal payload

    Diff posts JSON authenticated with a shared secret. Verify the signature, then act. No scrape loop, no home-grown diff engine.

What an UPDATE looks like

Only the fields that moved. Standing collapsed; everything else stayed off the wire.

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

Watch California next

Live coverage today is the California corporate registry. Filter by state and principal city, then receive the same minimal events.

California corporate standing events · Full documentation

Subscribe to the diff

Download credentials from https://diff.streamgine.com/account, register a webhook, and verify the shared-secret signature.

Get credentials