Skip to main content
SnapCount logoSnapCount.app

SnapCount Developer Resources

Use the read-only public API and signed outbound webhooks to connect SnapCount to your own systems. oEmbed remains the supported embed path. Organization owners and admins manage keys and webhooks in Settings.

Public endpoints and machine-readable files

Public read-only API

The public API is available on Pro and Enterprise workspaces. It is read-only. There is no public write API, counter-management API, or MCP server. Browser product requests use private session-authenticated endpoints and are not a supported integration contract.

Base host:https://api.snapcount.app

Authenticate every request with an organization API key:

Authorization: Bearer sc_live_...

Create and revoke keys in organization settings. Owner or admin access is required.

Endpoints

  • GET /api/v1/countersreturns the workspace counters and current totals.
  • GET /api/v1/counters/:counterIdreturns one counter and its current total.
  • GET /api/v1/counters/:counterId/historyreturns recent count events. Optional query parameters:limit(default 100, maximum 500) andbeforeEventIdfor pagination. Metadata-onlyupdaterows are omitted.
curl https://api.snapcount.app/api/v1/counters \
  -H "Authorization: Bearer sc_live_..."

Rate limits

Limits are enforced per API key. Pro allows 60 requests per minute and 1,000 per hour. Enterprise allows 300 requests per minute and 10,000 per hour. Over the limit, the API returns429withcode: RATE_LIMITED.

Signed outbound webhooks

Pro and Enterprise workspaces can subscribe an HTTPS URL to count changes. SnapCount posts JSON to your endpoint and signs the raw body. Owner or admin access is required to manage endpoints.

Event types:

  • counter.increment
  • counter.decrement
  • threshold.alert.firedarrives only when an Enterprise threshold alert fires. Pro can subscribe to this type, but the event is not produced until an Enterprise alert runs.

Delivery headers:

  • X-SnapCount-Signature: t=<unix>,v1=<hex>is HMAC-SHA256 of${timestamp}.${rawBody}using the endpoint secret.
  • X-SnapCount-Timestamp
  • X-SnapCount-Event
  • X-SnapCount-Delivery

Verify the signature before trusting the payload. Failed deliveries retry after 30 seconds, 2 minutes, 10 minutes, 1 hour, and 6 hours. A410response is terminal. A2xxresponse marks the delivery complete.

Embed a live counter

Create or open a live counter, then use its sharing controls to obtain an embed URL. Pass that URL in the oEmbed endpoint's requiredurlquery parameter. Optionalmaxwidthandmaxheightparameters constrain the returned iframe dimensions.

What is not a public API

SnapCount does not offer a public write API, public counter-management scopes, third-party OAuth, or an MCP server. Key and webhook management uses the signed-in product, not Bearer API keys.

For another integration requirement, email viraj@snapcount.app before building against private endpoints.