Skip to content
HookDeploy
On this page

Plans

HookDeploy plan comparison, what counts toward limits, and how to upgrade or downgrade.

HookDeploy offers four plans. Every account starts on Free. Upgrade when your team or volume grows.

Plan comparison

FreeStarterTeamEnterprise
Price (monthly)$0$9$39Custom
Price (yearly)$0$90$390Custom
Members12UnlimitedUnlimited
Endpoints52550Unlimited
Requests/month5,00015,000100,0001,000,000
Max payload256 KB1 MB25 MB100 MB
Retention7 days30 days90 days365 days
Header injection
Cron jobs2 (1 hr min)10 (5 min min)50 (1 min min)Unlimited (1 min min)
Storage/month1 GB5 GB50 GBUnlimited

Yearly billing saves $18/year on Starter and $78/year on Team compared to monthly.

What counts toward limits

Requests per month

Each incoming webhook to https://hookdeploy.dev/h/{slug} counts as one request. Counted per organization, across all endpoints, per calendar month (UTC).

Does count:

  • POST, GET, PUT, PATCH, DELETE, etc. to your HookDeploy URL

Does not count:

  • API calls to api.hookdeploy.dev
  • Replay actions (manual or via API)
  • Requests rejected with 413 (payload too large — rejected before storage)
  • Requests to paused endpoints (423 — rejected before storage)

Endpoints

Each active endpoint counts toward the limit, including paused endpoints. Deleted endpoints free up a slot immediately.

Members

Each organization member counts, including the owner. Pending invitations do not count until accepted.

Payload size

Checked at ingestion. Bodies exceeding max_payload_bytes are rejected with 413. Nothing is stored.

Retention

Not a usage limit — captured requests are automatically deleted after the retention period. No manual action needed.

Storage

Monthly storage counts request body size only — headers, query parameters, and metadata do not count toward the cap.

Storage resets on the first of each month (UTC), alongside monthly request metering.

PlanStorage/month
Free1 GB
Starter5 GB
Team50 GB
EnterpriseUnlimited

When your organization reaches its storage cap:

  • The webhook is still accepted (senders receive 200)
  • Request metadata appears in the dashboard (method, headers, timing, etc.)
  • The body is not stored
  • The body tab shows an upgrade prompt instead of the payload

Upgrade your plan anytime from the Billing page to restore body storage for new requests.

Header injection

Inject custom headers (for example Authorization or X-Tenant-ID) into every auto-forwarded webhook. Available on Starter, Team, and Enterprise — not included on Free.

Configure injected headers in an endpoint’s Settings tab under Inject headers on forward. See Forwarding — Header injection.

Checking your usage

DashboardBilling page shows current usage vs limits with progress bars.

API:

curl -s "https://api.hookdeploy.dev/v1/usage" \
  -H "Authorization: Bearer hd_live_YOUR_KEY"
{
  "data": {
    "requests_this_month": 42,
    "endpoint_count": 3,
    "member_count": 1,
    "limits": {
      "max_endpoints": "5",
      "max_users": "1",
      "max_requests_per_month": "5000",
      "max_payload_bytes": "262144",
      "retention_days": "7"
    }
  }
}

Limit values of -1 mean unlimited.

Upgrading

Requires billing.change_plan permission (super admin, admin, or finance).

  1. Go to Billing in your organization
  2. Select a plan (Starter, Team, or Enterprise)
  3. Choose monthly or yearly billing
  4. Complete checkout via Stripe

Stripe confirms the subscription after checkout, then HookDeploy applies the paid plan limits to the organization.

Downgrading

  1. Go to Billing
  2. Click Manage subscription (opens Stripe Customer Portal)
  3. Change plan or cancel in Stripe

Downgrades take effect at the end of the current billing period. You keep current limits until then.

Existing resources are not automatically deleted when lower limits take effect. You may need to reduce usage before you can create additional resources.

Enterprise

Enterprise uses custom pricing. Contact us via support to discuss your needs. It includes:

  • Unlimited team members and endpoints
  • 1,000,000 requests per month
  • 100 MB payloads
  • 365-day retention
  • Security and architecture review support

What happens at limits

Limit hitBehavior
Requests/monthMetered usage is shown in the dashboard; the monthly counter is not itself a hard gate. Protective ingestion controls may return 429. Usage resets at the start of the next calendar month (UTC).
Max endpointsCannot create new endpoints (dashboard error or API 429 plan_limit)
Max membersCannot send new invitations
Max payloadIncoming webhooks return 413. Body not stored.
Storage/monthRequest captured; body not stored. Upgrade prompt in body tab.

No surprise charges. Self-serve plans never auto-upgrade you.

Next steps