NEW Custom domains and signed webhooks

Short links your products can depend on.

FXURL gives every link an owner, a fast redirect path and an API your applications call with their own keys. Pause, edit or retire a link and the next click already sees it.

Plans from ₹0. Your team gets a portal; your products get scoped keys.

Create a linkExample
fxurl.in/
fxurl.in/Ab3Kx91 Active
Redirect trace

    Simulated request. Timings are illustrative.

    Codes7-character Base62Or a custom alias you choose.
    Redirects301 or 302, per linkSet it once, change it any time.
    CredentialsOne key per productRotate without downtime.
    WebhooksHMAC-SHA256 signedFive link and quota events.
    Platform

    Everything a link needs after you create it.

    Your team works in the portal. Your products work through the API. Both see the same links, domains and usage.

    Links with a clear owner

    Search, filter and export every link. Pause, resume or delete in bulk, set expiry dates, and import a CSV up to your plan's row limit.

    Your own domain

    Add a hostname, publish two DNS records, then verify. Only verified domains can carry links.

    CNAMEgo.acme.comfxurl.in
    TXT_fxurl.go.acme.comfxurl-verify=8f2c41e0a7
    go.acme.comVerified

    Keys that rotate cleanly

    Issue a second key, move your app over, then revoke the first. Secrets are shown once.

    checkout-webfxk_…a91f
    issuedoverlapold key revoked
    HeadersX-Client-Id · X-Client-Secret

    Signed webhooks

    Hear about changes as they happen. Every delivery carries a timestamped signature you can verify.

    link.createdlink.updatedlink.deletedlink.expiredquota.warning
    X-FXURL-Signature: t=1762425600,v1=5f2c9e…d41b

    Usage you can read

    Daily redirects, API requests and errors, kept for up to a year on Growth.

    48,210redirects · last 30 days · example
    Oct 8Nov 6

    Roles for the whole team

    Give each person the access their job needs, nothing more.

    ownerBilling, plan, account
    adminTeam, domains, keys, webhooks
    developerKeys, webhooks, links
    analystRead-only reports
    memberTheir own links
    Developers

    One request to a short link.

    Send a destination with your product's key. Links made with a key belong to that client automatically, and plan limits apply the same way they do in the portal.

    POST/api/v1/linksCreate a link, with optional alias, domain and expiry
    GET/api/v1/linksList and search your client's links
    PATCH/api/v1/links/:uuidChange destination, status or expiry
    POST/api/v1/keys/:uuid/rotateIssue an overlapping replacement key
    # Create a short link
      curl https://api.fxurl.in/api/v1/links \
        -H "X-Client-Id: $FXURL_CLIENT_ID" \
        -H "X-Client-Secret: $FXURL_CLIENT_SECRET" \
        -H "Content-Type: application/json" \
        -d '{
          "destination": "https://yourproduct.com/autumn-launch",
          "title": "Autumn launch",
          "code": "autumn",
          "redirectType": 302,
          "expiresAt": "2026-12-31T23:59:59Z"
        }'
    Response201 Created
    {
        "uuid": "7c1e9b2a-4f0d-4c8e-9a51-2d6f0b3e8c14",
        "shortUrl": "https://fxurl.in/autumn",
        "redirectType": 302,
        "status": "active",
        "expiresAt": "2026-12-31T23:59:59Z"
      }
    Reliability

    Built for the traffic that follows.

    Redirects run as their own service, apart from the API and the dashboard. A busy campaign never waits on a report.

    VisitorGET fxurl.in/autumn Redirect serviceresolves the code Redis cachehot links · sub-ms PostgreSQLrecord of truth Workerusage · webhooks · expiry request 1 · cache lookup 2 · fallback if cache down 301 / 302 + Location click event queued
    1. VisitorGET fxurl.in/autumn
    2. Redirect serviceResolves the code
    3. 1 · cache lookupRedis cacheHot links, sub-ms
      2 · if cache is downPostgreSQLRecord of truth
    4. Response301 / 302 + Location
    5. WorkerClick queued, then usage, webhooks and expiry

    Cache first, database always

    Popular links resolve from Redis. If the cache is unavailable, a controlled fallback to PostgreSQL keeps every link resolving.

    Edits take effect on the next click

    Changing or pausing a link clears its cached copy right away, so nobody lands on an old destination.

    Counting stays off the hot path

    Clicks are queued and recorded by a separate worker, so analytics never slow a redirect down.

    Pricing

    Start free. Grow into the API.

    Every plan includes the portal. API access, custom domains and webhooks open up as you grow.

    Free

    Try it out in the portal.

    ₹0forever
    • 100 new links / month
    • Portal only
    • 7-day analytics
    • 1 seat
    Request access

    Starter

    For small teams and first API integrations.

    ₹1,699per month
    • 2,000 new links / month
    • 50,000 API requests
    • 1 custom domain
    • 3 seats · 30-day analytics
    Request access

    Enterprise

    Volume pricing, SLA and dedicated support.

    Custom
    • Unlimited links
    • Custom API volume
    • Unlimited domains and seats
    • 99.95% SLA
    • SSO · data export
    Talk to us

    Prices in INR (₹). Plans are invoiced, so no card is needed to get started. Change plans from the portal at any time.

    Give your next campaign a link that keeps working.

    Tell us about your products and traffic. We'll set up your workspace, your first key and an invitation for your team.