Authentication, rate limits and conventions

Updated 2026-09-08

The REST API covers everything the dashboard does. This page describes the conventions that apply to every endpoint; the endpoint list itself is generated from the running routes.

Authentication

Pass an API key in the Authorization header:

curl https://your-instance/api/links \
  -H "Authorization: YOUR_SECRET_KEY"

Secret keys have full access to the organization. Public keys can only create links, and are the right choice for anything shipped to a browser or a mobile app. A key can be scoped to a single domain, in which case every request is confined to that domain.

Session cookies also authenticate, which is how the dashboard itself calls the API. Anything you can do in the dashboard you can do with a key, subject to your role: readonly members get 403 on write endpoints.

Request and response shape

Requests are JSON with Content-Type: application/json. Responses are JSON. Field names in responses use camelCase — originalURL, shortURL, createdAt — while write payloads accept both camelCase and the underlying snake_case names, so original_url and originalURL are both understood on create and update.

Rate limits

Requests are limited per key at the rate shown on the API tab under Integrations. Exceeding it returns 429. Back off and retry; do not spin. For volume, use the bulk endpoints rather than a loop of single requests.

Plan gating

Some fields require a paid plan. If a write includes gated fields your plan cannot use — geo rules, expiry, cloaking, password, social metadata, per-link tracking, link permissions — the request still succeeds, the gated fields are dropped, and the response carries an upgradeRequired list naming the features that were stripped. Check for it rather than assuming a 200 means everything was applied.

Limits and quotas

Creating a link when a plan limit is reached returns an error naming the limit. Links created through the API count against the API link allowance separately from the total link count.

Discovery

GET /api/openapi.json returns an OpenAPI description of the live routes, which is the fastest way to generate a client. GET /api/zapier returns the trigger and action catalogue used by the automation platforms.

Find this in your dashboard

  1. Sign in and select the workspace and domain you want to manage.
  2. Open API keys. Review the article’s steps and your plan’s available controls.
  3. Save your changes, reopen the record and verify the saved result. For routing changes, check the short link with a test visit.
ShortFreeURL API keys in a demonstration workspace
API keys · Demo workspace. Click to enlarge.

API workflow guides · Open dashboard

Was this helpful?

Start Free — no credit card

The free plan includes 1,000 links, 6 custom domains and 50,000 tracked clicks a month, free forever. Choose a free subdomain from six shared domains. Paid plans start at $4 a month when you outgrow it, and you keep everything you have built.