---
title: Resolve Short URL API
slug: unshorten-url
url: https://apyhub.com/dosvak/service/unshorten-url
provider: Dosvak LLC
categories: [Developer Tools, "Security & Privacy"]
tags: [url-expansion, redirect-resolution, link-unshortening, url-normalization, phishing-checks]
auth: api_key
version: 0.1.0
service_type: sync
endpoints: 1
atoms: 100
mcp: true
---

# Resolve Short URL API

Resolve shortened URLs to their final destination. Control redirect hops and timeout for link checks, moderation, analytics, and normalization.

## Endpoints

| Method | URL | Description | Atoms |
| --- | --- | --- | --- |
| POST | `https://api.eu.apyhub.com/dosvak/unshorten-url` | What it does Unshortens a URL by following redirects and returning the resolved result. The request… | 100 |

## Endpoint reference

### Unshorten URL

`POST https://api.eu.apyhub.com/dosvak/unshorten-url` · 100 atoms · accepts `application/json` · returns `application/json`

| Parameter | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `url` | body | string | yes | Url |
| `max_hops` | body | integer | no | Max Hops Default: `10`. |
| `timeout_s` | body | integer | no | Timeout S Default: `8`. |

#### Quickstart

Send the URL you want to unshorten in a JSON body.

```bash
curl -X POST "https://api.eu.apyhub.com/dosvak/unshorten-url" \
  -H "apy-token: $APY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://bit.ly/example"}'
```

#### What you'll get back

Returns a JSON object. The schema does not declare any specific top-level fields, so the exact response shape may vary.

```json
{
  "input": "https://bit.ly/example",
  "resolved": "https://vignettinglife.com/",
  "hops":  [
    {
      "url": "https://bit.ly/example",
      "status": 200
    },
    {
      "url": "https://vignettinglife.com/",
      "status": 200
    }
  ],
  "truncated": false,
  "attribution": [
    {
      "source": "HTTP redirect metadata"
    }
  ]
}
```

## About

## What it does
URL Unshortener follows shortened links and returns the destination URL after resolving redirects. Send a `url` in the request body, and you can also set `max_hops` to limit how many redirects are followed and `timeout_s` to control how long the lookup waits.

Use it when you need to expand link shorteners before storing, scanning, or displaying a URL. It helps you see the final target behind social links, tracking links, and other redirect chains without guessing where the link ends up.

The response is returned as a JSON object with the resolved result, and the schema allows additional properties. That makes it suitable for workflows where you need to inspect the final destination and pass the response onward without strict field assumptions.

If you process inbound links in moderation, analytics, phishing checks, or URL normalization, URL Unshortener gives you a direct way to resolve the actual destination before further handling.

## Usage

Base URL: `https://api.eu.apyhub.com` (default region — see
`GET https://apyhub.com/api/public/regions` for the rest).

Authenticate with an ApyHub API key in the `apy-token` header.
Full docs and a live playground: https://apyhub.com/dosvak/service/unshorten-url
