API do DoUrl
Encurte URLs programaticamente com uma simples chamada HTTP. Sem autenticação necessária.
Introdução
A API do DoUrl permite que você crie links encurtados diretamente dos seus aplicativos, scripts ou ferramentas. Todos os links criados pela API seguem as mesmas regras do site: expiram em no máximo 7 dias e não possuem rastreamento de cliques.
Base URL: https://dourl.xyz/api
Autenticação: Nenhuma. A API é pública.
Rate Limit: 60 requests por hora por IP.
Endpoint
POST /api/shorten
Cria um novo link encurtado.
URL: https://dourl.xyz/api/shorten
Método: POST
Content-Type: application/json
Parâmetros
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
url |
string | Sim | URL a ser encurtada (http:// ou https://) |
expires_in_days |
integer | Não | Dias até expirar (1-7, padrão: 7) |
Respostas
201 Created — Sucesso
JSON Response
{
"short_url": "https://dourl.xyz/k8m2p4x",
"code": "k8m2p4x",
"original_url": "https://exemplo.com/pagina-longa",
"expires_at": "2026-03-04 20:00:00",
"remaining_requests": 59
}
400 Bad Request — URL inválida
JSON Response
{
"error": "Invalid URL format."
}
405 Method Not Allowed
JSON Response
{
"error": "Method not allowed. Use POST."
}
429 Too Many Requests — Rate limit
JSON Response
{
"error": "Rate limit exceeded. Try again later.",
"retry_after": 3200
}
503 Service Unavailable
JSON Response
{
"error": "Service temporarily unavailable."
}
Exemplos de Uso
cURL
Bash
curl -X POST https://dourl.xyz/api/shorten \
-H "Content-Type: application/json" \
-d '{"url": "https://example.com/long-page", "expires_in_days": 3}'
JavaScript (fetch)
JavaScript
fetch('https://dourl.xyz/api/shorten', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
url: 'https://example.com',
expires_in_days: 7
})
})
.then(res => res.json())
.then(data => console.log(data.short_url));
Python
Python
import requests
response = requests.post('https://dourl.xyz/api/shorten', json={
'url': 'https://example.com',
'expires_in_days': 5
})
print(response.json()['short_url'])
PHP
PHP
$ch = curl_init('https://dourl.xyz/api/shorten');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode([
'url' => 'https://example.com',
'expires_in_days' => 7
]));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = json_decode(curl_exec($ch), true);
curl_close($ch);
echo $response['short_url'];
Rate Limiting
A API permite 60 requests por hora por endereço IP.
- Ao atingir o limite, a resposta terá status
429e o headerRetry-Afterindicando quantos segundos aguardar. - O campo
remaining_requestsna resposta de sucesso indica quantos requests restam na janela atual. - A janela de rate limit é renovada automaticamente após 1 hora.
Notas
- Apenas URLs com protocolo
http://ouhttps://são aceitas. - O tamanho máximo da URL é de 2048 caracteres.
- Não é possível encurtar links do próprio DoUrl (
dourl.xyz). - Links expirados são removidos automaticamente do banco de dados.
- Os códigos curtos possuem 7 caracteres (letras minúsculas e números).
- A API suporta CORS, podendo ser chamada de qualquer domínio.