Developer API

Integrate Fetch into your applications with our robust, RESTful API. Designed to be simple yet powerful.

Introduction

Welcome to the Fetch API documentation. Our API allows you to programmatically create short URLs, manage domains, and retrieve detailed analytics for your links.

The API is organized around REST. It uses predictable, resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes.

Base URL
https://fetch.click/api/v1

All API endpoints are relative to this base URL.

Authentication

The Fetch API uses Bearer Tokens to authenticate requests. You can view and manage your API keys in your dashboard settings.

Requirements: API access is exclusively available for Platinum plan subscribers. Upgrade to Platinum to generate your API keys.

Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth.

Authentication to the API is performed via HTTP Bearer Auth. Provide your API key as the bearer token value in the Authorization header.

HTTP Header
Authorization: Bearer YOUR_API_KEY

Create Smart QR Code

Creates a new dynamic Smart QR Code for a provided destination URL.

POST /smart-qr-codes/create

Request Parameters

Parameter Description
url
string Required

The long destination URL. Must be a valid, fully-qualified URL.

name
string Required

The name/label for this Smart QR asset (e.g., "Main Entrance Sticker").

Request Body
{
  "url": "https://example.com/promo",
  "name": "Summer Flyer #1"
}

Get Link Analytics

Retrieves detailed click statistics and analytics for a specific shortened URL.

GET /analytics/{code}

Path Parameters

Parameter Description
code
string Required

The unique alias code of the shortened URL (e.g., 'abc123').

Response (200 OK)
{
  "success": true,
  "data": {
    "code": "abc123",
    "original_url": "https://example.com/very/long",
    "clicks": 1234,
    "created_at": "2026-01-27T20:00:00Z",
    "analytics": {
      "devices": { "Mobile": 850, "Desktop": 384 },
      "browsers": { "Chrome": 600, "Safari": 400, "Firefox": 234 },
      "countries": { "US": 500, "UK": 300, "CA": 434 }
    }
  }
}

Rate Limits

To ensure system stability, the API enforces rate limits on requests. Exceeding these limits will result in a 429 Too Many Requests response.

  • Silver Plan: No API access
  • Gold Plan: No API access
  • Platinum Plan: 100 req/min 500 req/day

Headers

Rate limit status is returned in the HTTP headers of every API response:

Rate Limit Headers
X-RateLimit-Limit: 100
X-RateLimit-Remaining: 99
X-RateLimit-Reset: 1643299200

Errors

Fetch uses conventional HTTP response codes to indicate the success or failure of an API request.

HTTP Status Description
200 - OK

Everything worked as expected.

400 - Bad Request

The request was unacceptable, often due to missing a required parameter.

401 - Unauthorized

No valid API key provided.

403 - Forbidden

The API key doesn't have permissions to perform the request.

404 - Not Found

The requested resource doesn't exist.

429 - Too Many Requests

Too many requests hit the API too quickly. We recommend an exponential backoff of your requests.

500, 502, 503, 504 - Server Errors

Something went wrong on our end.