Both are permit-data tools that can push you events when permits change. The difference is scope: SignedOff.io is webhook-first across a small set of jurisdictions, while PermitStack pairs webhooks with broad national coverage, a free tier, and a lower price floor.
No sales call. API key in 2 minutes. Cancel anytime.
SignedOff.io is a legitimate webhook-first peer. If permit-status webhooks across its roughly 44 jurisdictions are exactly what you need, it does that job well. PermitStack also offers webhooks — plus a permit_events delta feed and an /alerts/ product — on top of 8,000+ cities across 48 states and DC and 118M+ permit records, with most sources refreshed nightly. So the real question is breadth: if you need event coverage across many metros, a free tier to prototype, or a $29 price floor, PermitStack is the wider net. If you only need those ~44 jurisdictions, either works.
SignedOff.io is built around permit status webhooks; that's its core feature, and we won't pretend otherwise. PermitStack offers webhooks (POST /v1/webhooks) plus a permit_events delta feed and an /alerts/ product — event-driven, just across far more jurisdictions.
SignedOff.io advertises webhooks across 44 jurisdictions in 8 states, 35 of them in California (re-verified against signedoff.io/cities on 11 September 2026). PermitStack covers 8,000+ U.S. cities across 48 states and DC via 893 active data sources — plus 73 historical-archive jurisdictions — totaling 118M+ records.
PermitStack starts free (100 requests/day, no card) and paid plans begin at $29/month. SignedOff.io publishes a free tier too, and its paid plans start at $49/month. Webhooks are included from PermitStack's $79 Developer tier; SignedOff.io includes them lower, on its $0 Free plan. The difference is breadth — roughly 44 jurisdictions there against 790 active sources here.
Side-by-side on the factors that matter when you're choosing an event-driven permit feed. SignedOff.io figures are publicly reported re-verified against signedoff.io/cities on 11 September 2026.
| Feature | PermitStack | SignedOff.io |
|---|---|---|
| Permit webhooks | ✓Yes (POST /v1/webhooks) | ✓Yes — core feature |
| Status-change events | ✓permit_events delta feed + /alerts/ | ✓Permit status events |
| U.S. jurisdiction coverage | 8,000+ cities / 48 states and DC | ~44 jurisdictions |
| Total permit records | 118M+ | Not published |
| Entry price | Free → $29/mo (Indie) | Free → $49/mo (vendor-published) |
| Free tier | ✓100 requests/day, no card | ✓200 lookup credits/mo |
| Volume at $149/mo | 100,000 requests/day (Business) | 25,000 lookup credits/mo (Pro); a forced refresh costs 10 credits |
| How the data is refreshed | Pre-ingested nightly from each jurisdiction, queried instantly | Cached, falling back to a live scrape of the source portal on demand |
| Webhooks included from | $79/mo (Developer) — plus permit_events on every paid tier | $0 Free plan (1 webhook); $49/mo Developer (5) |
| Data refresh | Nightly for most sources (ingest 03:00 UTC) | Event-driven (not published) |
| Full search API | ✓zip, city, state, address, radius, category, status, value, contractor | —Webhook-focused |
| CSV export | ✓GET /v1/permits/export | —Not published |
| Per-address history | ✓GET /v1/property/history | —Not published |
| Permit categories | ~20 (solar, roofing, HVAC, electrical…) | Not published |
| Honest data labeling | ✓data_status per jurisdiction (active / archive / frozen) | —Not published |
| Self-serve, no sales call | ✓Stripe, email verification | Not published |
SignedOff.io pricing, jurisdiction count, and feature details are publicly reported re-verified against signedoff.io/cities on 11 September 2026; "Not published" means we found no public figure and chose not to invent one. PermitStack figures reflect live platform metrics on 2026-09-30. PermitStack is an independent company and is not affiliated with SignedOff.io. All trademarks belong to their respective owners.
Four reasons teams that started with a webhook-only tool end up wanting more.
Webhooks are only as useful as the geography they cover. If your prospects, properties, or projects span more than a handful of cities, ~44 jurisdictions runs out fast. PermitStack's permit_events delta feed and webhooks operate across 8,000+ cities in 48 states and DC — including statewide solar feeds like CA (~2.1M permits) and NY (~466K).
You shouldn't have to pay before you've confirmed the data fits. PermitStack's free tier gives you 100 requests/day with no credit card — enough to build and test your event-handling code, validate field mappings, and prove the use case before you spend a dollar.
Events tell you what changed; a real search API tells you everything else. PermitStack pairs webhooks with GET /v1/permits/search (zip, city, state, address, lat/lng radius, category, status, contractor, value), CSV export, and per-address history — so you can backfill, enrich, and reconcile, not just react to pushes.
Every jurisdiction carries a data_status flag (active / historical_archive / frozen) exposed in the API and on our coverage page, so you always know how fresh a feed is. Ingestion runs nightly for most sources from 03:00 UTC, reports a data-through date for every jurisdiction and rejects future-dated records. Sign-up is self-serve via Stripe — no demo, no MSA, no rep in your inbox.
Pull just the permits that were added or changed, then register a webhook to get pushed the next ones:
We're not going to pretend PermitStack wins every comparison. SignedOff.io is a legitimate, webhook-first peer in our price range, and it's clearly built by people who care about permit status events. If the 44 jurisdictions it covers happen to be exactly the ones you care about — and a tightly focused, event-only product is what you want — it's a perfectly good choice, and you may prefer its narrower surface area. One thing it does that we don't: its API can fall back to scraping the source portal live at request time, so for a single permit inside its footprint it can be fresher than our nightly ingest. If you track a handful of permits in those cities and need status the moment the city posts it, that design beats ours.
PermitStack's case is breadth without giving up events: webhooks plus a permit_events delta feed and an /alerts/ product, layered on 8,000+ cities across 48 states and DC, 118M+ records, a free tier, and a $29 price floor. If you need event coverage across many metros, want to prototype before paying, or value honest per-jurisdiction freshness labeling, that's the gap we fill. Either way, you can verify it yourself in minutes — no sales call required.
Webhooks, coverage, pricing, and the honest trade-offs.
Yes. PermitStack offers permit webhooks via POST /v1/webhooks, plus a permit_events delta feed (GET /v1/permits/events) that surfaces newly added and changed permits, and an /alerts/ product for saved-search notifications. Webhooks are included on paid plans starting at $79/month (the Developer tier) — below their paid floor on our own entry plan. See our guide to real-time permit alerts and webhooks for setup.
As of 11 September 2026, SignedOff.io publicly advertises permit status webhooks across roughly 44 jurisdictions. PermitStack covers 8,000+ U.S. cities across 48 states and DC via 893 active data sources, plus 73 historical-archive jurisdictions, for a total of 118M+ permit records. Check our live coverage page to confirm a specific city.
PermitStack's paid plans start at $29/month (Indie), below SignedOff.io's $49/mo paid floor (they also publish a $0 Free plan) — and PermitStack also offers a free tier with 100 requests/day and no credit card. You don't give up event-driven workflows by choosing the lower floor: the permit_events delta feed is available across paid tiers, and webhooks are included from the $79 Developer plan. See full pricing.
SignedOff.io is a webhook-first product focused on permit status events across roughly 44 jurisdictions. PermitStack is a broad permit data platform — 8,000+ cities across 48 states and DC and 118M+ records, most sources refreshed nightly — that also offers webhooks, a permit_events delta feed, and an /alerts/ product. The trade-off is focus versus breadth: SignedOff is narrow and event-centric; PermitStack is wide-coverage with event features layered on.
Yes. GET /v1/permits/events returns deltas — permits that were newly added or whose fields (including status) changed — so you can poll for changes, and webhooks can push those events to your endpoint. Statuses tracked include filed, issued, in_progress, final, expired, cancelled, revoked, and unknown.
PermitStack re-ingests most of its sources every night, with the main ingest at 03:00 UTC. Permits that appear in a city's public portal are typically available in the API within 24 hours, and future-dated records are rejected during ingestion. Each jurisdiction also carries a data_status flag (active / historical_archive / frozen) so you always know how current a feed is.
Yes. PermitStack is fully self-serve via Stripe. The free tier requires only email verification — no credit card and no sales call. Paid plans are month-to-month and cancellable from the Stripe Customer Portal. You can have a working API key and your first event query running in a couple of minutes.
Get a PermitStack API key in 2 minutes. Wire up the permit_events feed or a webhook, then watch changes roll in across 893 jurisdictions, not ~44.
100 free requests per day. No credit card. No sales call.