rdurl API
Crie e gerencie links curtos com código
Informações gerais da API
- Todas as requisições exigem um token de API. Consulte a seção de autenticação.
- O endpoint base é: https://rdurl.link/api
- Apenas HTTPS é suportado.
- Todos os endpoints retornam um objeto JSON.
- As requisições são enviadas como JSON (Content-Type: application/json).
- Todos os campos de tempo e carimbos de data/hora estão em milissegundos.
- Toda a codificação de caracteres é UTF-8.
Autenticação
A API usa um token para identificar a qual conta pertence uma requisição. Um token equivale à senha da conta: quem o possui pode criar e apagar seus links.
Passo 1. Emita um token
Faça login no painel e emita um token no menu 'Token de API'. Cada emissão gera um token novo e ele só pode ser visto uma vez.
Passo 2. Adicione o token à requisição
Escolha um dos dois métodos abaixo.
1. Authorization: Bearer (recomendado)
O método de autenticação padrão da maioria das APIs públicas.
curl https://rdurl.link/api/link/create -H "Authorization: Bearer rd_YOUR_TOKEN" -H "Content-Type: application/json" -d '{ "url": "https://example.com/very/long/url" }' 2. x-api-key cabeçalho
Prático para ferramentas que não suportam facilmente o cabeçalho Authorization.
curl https://rdurl.link/api/link/create -H "x-api-key: rd_YOUR_TOKEN" -H "Content-Type: application/json" -d '{ "url": "https://example.com/very/long/url" }' Passo 3. Verifique seu token
Execute o comando abaixo. Se a sua lista de links for retornada, o token está funcionando.
curl https://rdurl.link/api/link/list \ -H "Authorization: Bearer rd_YOUR_TOKEN"
Gerenciamento de tokens
Um token é composto por rd_ seguido de 32 caracteres hexadecimais. Ele só pode ser visto uma vez na emissão, então guarde-o com segurança. Se suspeitar de um vazamento, revogue-o imediatamente no painel — ele para de funcionar na hora.
Endpoints
/api/link/create Cria um link curto. Envie uma URL e receba um slug e o link curto.
Parâmetros
urlURL a encurtar (obrigatório)titleTítulo do link (opcional, até 100 caracteres)folderPasta do link (opcional, até 100 caracteres — filtra a lista por pasta)domainDomínio personalizado (opcional, ex.: example.com)
Requisição
{ "url": "https://example.com/very/long/url" } Resposta
{
"success": true,
"message": {
"slug": "abc123",
"short": "https://rdurl.link/abc123",
"domain_no": 0,
"domain": ""
}
} /api/link/list Lista seus links com paginação, 20 por página. Suporta busca e filtro por domínio.
Parâmetros
pageNúmero da página (padrão 1)domainDomínio personalizado (opcional, ex.: example.com)searchPalavra-chave (correspondência parcial em slug/URL)folderPasta do link (opcional, até 100 caracteres — filtra a lista por pasta)
Requisição
GET /api/link/list?page=1&domain=example.com&search=keyword
Resposta
{
"success": true,
"message": {
"total": 42,
"page": 1,
"list": [
{
"slug": "abc123",
"url": "https://example.com/very/long/url",
"short": "https://rdurl.link/abc123",
"clicks": 128,
"tm": 1789379625000
}
]
}
} /api/link/info Obtém os detalhes e o número de cliques de um link.
Parâmetros
slugslug (obrigatório)domainDomínio personalizado (opcional, ex.: example.com)
Requisição
GET /api/link/info?slug=abc123
Resposta
{
"success": true,
"message": {
"slug": "abc123",
"url": "https://example.com/very/long/url",
"short": "https://rdurl.link/abc123",
"clicks": 128,
"tm": 1789379625000
}
} /api/link/stats Estatísticas de cliques por link — total, hoje e top 10 países.
Parâmetros
slugslug (obrigatório)domainDomínio personalizado (opcional, ex.: example.com)
Requisição
GET /api/link/stats?slug=abc123
Resposta
{
"success": true,
"message": {
"clicks": 128,
"clicksToday": 5,
"countries": [
{ "country": "KR", "clicks": 80 },
{ "country": "US", "clicks": 30 }
]
}
} /api/link Apaga um link. Links globais podem ser restaurados durante 30 dias; links de domínio personalizado são apagados imediatamente.
Parâmetros
slugslug (obrigatório)domainDomínio personalizado (opcional, ex.: example.com)
Requisição
DELETE /api/link
{ "slug": "abc123" } Resposta
{ "success": true } Limites de taxa
Até 10 requisições por minuto por IP e 1.000 links por dia por conta. Exceder o limite retorna 429.
Códigos de erro
Em caso de falha, a resposta contém success: false e um código de erro.
{ "success": false, "message": "api_invalid_token" } | code | status | Significado |
|---|---|---|
api_invalid_token | 401 | Token ausente ou inválido |
link_invalid_url | 400 | URL inválida (apenas http/https) |
link_invalid_slug | 400 | Formato de slug inválido |
link_not_found | 400 | Link não encontrado |
domain_not_found | 400 | Domínio personalizado não encontrado |
link_own_domain | 400 | Não é possível encurtar o seu próprio domínio |
link_create_failed | 400 | Falha ao criar o link |
link_rate_limit | 429 | Limite de requisições excedido |