Platform
Search Coverage Property History Alerts
Solutions
Solar & Energy Solar Permit Data Real Estate Insurance Contractors
Company
Pricing API Docs Blog Sign In Get API Key
Alternatives

PermitStack vs SignedOff.io

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.

Free → $19/mo
PermitStack — webhooks from $49, no card to start
vs
~$49 / ~$149
SignedOff.io (publicly reported, as of June 2026)

No sales call. API key in 2 minutes. Cancel anytime.

The short answer

SignedOff.io is a legitimate webhook-first peer. If permit-status webhooks across its roughly 18 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 about 552 active jurisdictions across 48 states and 58M+ permit records, refreshed daily. So the real question is breadth: if you need event coverage across many metros, a free tier to prototype, or a $19 price floor, PermitStack is the wider net. If you only need those ~18 jurisdictions, either works.

The short version

Webhooks

Both offer them — fairly

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.

Coverage

~552 vs ~18 jurisdictions

SignedOff.io advertises webhooks across roughly 18 jurisdictions (as of June 2026). PermitStack covers about 552 active U.S. jurisdictions across 48 states — plus 51 historical-archive jurisdictions — totaling 58M+ records.

Price floor

Free tier, then $19/mo

PermitStack starts free (100 requests/day, no card) and paid plans begin at $19/month. SignedOff.io's publicly reported pricing starts around $49/month. Webhooks on PermitStack are included from the $49 Developer tier — at or below SignedOff.io's entry price.

How they compare

Side-by-side on the factors that matter when you're choosing an event-driven permit feed. SignedOff.io figures are publicly reported as of June 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 ~552 active / 48 states ~18 jurisdictions
Total permit records 58M+ Not published
Entry price Free → $19/mo (Indie) ~$49/mo (publicly reported)
Free tier 100 requests/day, no card Not published
Webhooks included from $49/mo (Developer) — plus permit_events on every paid tier ~$49/mo entry (publicly reported)
Data refresh Daily (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 as of June 2026; "Not published" means we found no public figure and chose not to invent one. PermitStack figures reflect live platform metrics on 2026-06-11. PermitStack is an independent company and is not affiliated with SignedOff.io. All trademarks belong to their respective owners.

Where PermitStack pulls ahead

Four reasons teams that started with a webhook-only tool end up wanting more.

1

Events across ~552 jurisdictions, not ~18

Webhooks are only as useful as the geography they cover. If your prospects, properties, or projects span more than a handful of cities, ~18 jurisdictions runs out fast. PermitStack's permit_events delta feed and webhooks operate across about 552 active jurisdictions in 48 states — including statewide solar feeds like CA (~2.7M permits) and NY (~550K).

2

A free tier to prototype your pipeline

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.

3

Webhooks and a full data API

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.

4

Honest labeling, daily refresh, no sales call

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 daily at 03:00 UTC and rejects future-dated records. Sign-up is self-serve via Stripe — no demo, no MSA, no rep in your inbox.

Catch changes without polling everything

Pull just the permits that were added or changed, then register a webhook to get pushed the next ones:

# 1. Poll the delta feed for newly added / changed permits curl "https://api.permit-stack.com/v1/permits/events?detected_after=2026-06-10T00:00:00Z&category=solar" \ -H "X-API-Key: pk_your_key_here" # 2. Or register a webhook so changes are pushed to you curl -X POST "https://api.permit-stack.com/v1/webhooks" \ -H "X-API-Key: pk_your_key_here" \ -H "Content-Type: application/json" \ -d '{"url":"https://you.example.com/hook","category":"SOLAR","state":"CA"}' # Event payload (status changed: filed -> issued) { "event": "permit.changed", "permit_number": "2026-040187", "category": "SOLAR", "status": "ISSUED", "address": "2900 PECAN SPRINGS", "date_issued": "2026-06-11" }

When SignedOff.io is the better fit

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 roughly 18 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.

PermitStack's case is breadth without giving up events: webhooks plus a permit_events delta feed and an /alerts/ product, layered on about 552 active jurisdictions, 58M+ records, a free tier, and a $19 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.

Frequently asked questions

Webhooks, coverage, pricing, and the honest trade-offs.

Does PermitStack have webhooks?

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 $49/month (the Developer tier) — at or below SignedOff.io's entry price. See our guide to real-time permit alerts and webhooks for setup.

How many jurisdictions does SignedOff.io cover?

As of June 2026, SignedOff.io publicly advertises permit status webhooks across roughly 18 jurisdictions. PermitStack covers about 552 active U.S. jurisdictions across 48 states, plus 51 historical-archive jurisdictions, for a total of 58M+ permit records. Check our live coverage page to confirm a specific city.

Is there a cheaper SignedOff alternative?

PermitStack's paid plans start at $19/month (Indie), below SignedOff.io's publicly reported ~$49 entry tier — 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 $49 Developer plan. See full pricing.

What's the main difference between PermitStack and SignedOff.io?

SignedOff.io is a webhook-first product focused on permit status events across roughly 18 jurisdictions. PermitStack is a broad permit data platform — about 552 active jurisdictions and 58M+ records refreshed daily — 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.

Does PermitStack notify me when a permit's status changes?

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.

How fresh is PermitStack's permit data?

PermitStack ingests from city open-data portals daily, 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.

Can I try PermitStack without talking to sales?

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.

See also

PermitStack vs Shovels.ai
Free tier & daily refresh vs $599 enterprise floor
PermitStack Alerts
Saved-search notifications + webhooks for new permits
Real-Time Permit Alerts & Webhooks
How to get pushed new and changed permits as they happen

Webhooks plus the whole map

Get a PermitStack API key in 2 minutes. Wire up the permit_events feed or a webhook, then watch changes roll in across ~552 jurisdictions — not 18.

100 free requests per day. No credit card. No sales call.