Skip to the page

Integrations / Data & warehouses

SpecStream for Supabase

SpecStream keeps a Supabase table filled with live web data. Your own Edge Function upserts each record into Postgres, with the source of every value beside it.

What you get

  • Upserts on entity_idEach record is one row in web_records, keyed by entity_id. The fields column holds values by label, and sources holds the page and read time for each.
  • A table that keeps upSave the request on a schedule, hourly to yearly. Each monitor.found delivery carries only the records that are new or changed since the run before.
  • Realtime to your appThe table joins the supabase_realtime publication. Add a select policy and each row the function writes reaches your app as it lands.

Set it up

  1. Create the web_records table in the SQL editor. Row level security starts on, so only the function's service role can write to it.
  2. Deploy the specstream Edge Function with Supabase's JWT requirement off. It turns away any delivery whose Specstream-Signature doesn't match.
  3. Register the function's URL as a SpecStream webhook for find.completed and monitor.found, and save its secret with supabase secrets set.

The full setup guide has every step, with what to do if something doesn’t arrive.

Related integrations

See all

Live web data, in Supabase

Ask in your own words for companies, places, people, filings or anything else the web lists. You see the price before anything runs and pay only for the matches.