Documentation

Everything you need to get started with Dashdig - Humanize and Shortenize URLs

🚀

Getting Started

Quick start guide to create your first human-readable short URL

  1. Sign up for a free account at dashdig.com
  2. Access your dashboard
  3. Click "Create New Link" button
  4. Enter your long URL
  5. Customize your human-readable short URL
  6. Click "Dig This!" to create your link
Get Started Free
🔌

WordPress Plugin

Install Dashdig on your WordPress site for seamless integration

  1. Install from WordPress.org plugin directory
  2. Activate the "Dashdig Analytics" plugin
  3. Go to Settings → Dashdig
  4. Enter your API key from dashboard
  5. Click "Test Connection" to verify
  6. Save settings and start shortening!
Download Plugin
🔑

Public API v1

Integrate Dashdig into your applications with our RESTful API v1

Base URL:

https://dashdig-production.up.railway.app/api/v1

Authentication: API key in X-API-Key header

💬

Get Help

Need assistance? We're here to help!

Contact Support

🚀 Public API v1 Reference

Getting Started

The Dashdig Public API allows you to programmatically create, manage, and track short URLs. All API requests require authentication via API key.

Base URL

https://dashdig-production.up.railway.app/api/v1

Authentication

Include your API key in the X-API-Key header with every request.

X-API-Key: dk_live_your_api_key_here

Get your API key from Dashboard → Settings → API

Rate Limiting

Rate limits are enforced based on your subscription plan:

  • Free: 100 requests/hour
  • Pro: 1,000 requests/hour
  • Enterprise: 5,000 requests/hour

Rate limit headers are included in all responses:

X-RateLimit-Limit: 100
X-RateLimit-Remaining: 95
X-RateLimit-Reset: 2025-11-22T20:00:00Z

Error Codes

CodeDescription
INVALID_URLThe provided URL is not valid
MISSING_API_KEYAPI key is required in X-API-Key header
INVALID_API_KEYThe provided API key is invalid
RATE_LIMIT_EXCEEDEDYou have exceeded your hourly rate limit
URL_NOT_FOUNDThe requested short link was not found
UNAUTHORIZEDMissing required permissions
QUOTA_EXCEEDEDMonthly URL creation limit exceeded

Endpoints

POST/api/v1/links

Create a new short URL

cURL

curl -X POST https://dashdig-production.up.railway.app/api/v1/links \
  -H "X-API-Key: dk_live_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "originalUrl": "https://example.com/long/url",
    "customSlug": "my-link",
    "tags": ["product", "sale"]
  }'

JavaScript (fetch)

const response = await fetch('https://dashdig-production.up.railway.app/api/v1/links', {
  method: 'POST',
  headers: {
    'X-API-Key': 'dk_live_your_api_key',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    originalUrl: 'https://example.com/long/url',
    customSlug: 'my-link',
    tags: ['product', 'sale']
  })
});
const data = await response.json();

Python (requests)

import requests

response = requests.post(
    'https://dashdig-production.up.railway.app/api/v1/links',
    headers={'X-API-Key': 'dk_live_your_api_key'},
    json={
        'originalUrl': 'https://example.com/long/url',
        'customSlug': 'my-link',
        'tags': ['product', 'sale']
    }
)
data = response.json()

PHP

$ch = curl_init('https://dashdig-production.up.railway.app/api/v1/links');
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'X-API-Key: dk_live_your_api_key',
    'Content-Type: application/json'
]);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode([
    'originalUrl' => 'https://example.com/long/url',
    'customSlug' => 'my-link',
    'tags' => ['product', 'sale']
]));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
$data = json_decode($response, true);

Response (201 Created)

{
  "success": true,
  "data": {
    "id": "507f1f77bcf86cd799439011",
    "shortUrl": "https://dashdig.com/my-link",
    "shortCode": "my-link",
    "originalUrl": "https://example.com/long/url",
    "qrCode": "data:image/png;base64,...",
    "tags": ["product", "sale"],
    "expiresAt": null,
    "createdAt": "2025-11-22T10:30:00Z",
    "clicks": 0
  }
}

GET/api/v1/links

List all your short URLs (paginated)

curl -X GET "https://dashdig-production.up.railway.app/api/v1/links?page=1&limit=20" \
  -H "X-API-Key: dk_live_your_api_key"

Query Parameters

  • page - Page number (default: 1)
  • limit - Items per page (default: 20, max: 100)
  • sortBy - Sort by field: createdAt, updatedAt, clicks
  • order - Sort order: asc or desc

GET/api/v1/links/:id

Get details for a specific short URL

curl -X GET https://dashdig-production.up.railway.app/api/v1/links/507f1f77bcf86cd799439011 \
  -H "X-API-Key: dk_live_your_api_key"

PATCH/api/v1/links/:id

Update a short URL

curl -X PATCH https://dashdig-production.up.railway.app/api/v1/links/507f1f77bcf86cd799439011 \
  -H "X-API-Key: dk_live_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "originalUrl": "https://example.com/new-destination",
    "tags": ["updated"]
  }'

DELETE/api/v1/links/:id

Delete a short URL (soft delete)

curl -X DELETE https://dashdig-production.up.railway.app/api/v1/links/507f1f77bcf86cd799439011 \
  -H "X-API-Key: dk_live_your_api_key"

GET/api/v1/links/:id/stats

Get analytics for a short URL

curl -X GET "https://dashdig-production.up.railway.app/api/v1/links/507f1f77bcf86cd799439011/stats?startDate=2025-01-01T00:00:00Z&endDate=2025-12-31T23:59:59Z" \
  -H "X-API-Key: dk_live_your_api_key"

GET/api/v1/domains

List custom domains

curl -X GET https://dashdig-production.up.railway.app/api/v1/domains \
  -H "X-API-Key: dk_live_your_api_key"

OpenAPI Specification

Download the complete OpenAPI 3.0 specification for use with API testing tools like Postman or Insomnia:

Download OpenAPI Spec

🔧 Legacy API Reference

Create Short URL

Request:

POST /api/shorten
Content-Type: application/json
Authorization: Bearer YOUR_API_KEY

{
  "url": "https://example.com/very-long-url",
  "keywords": ["optional", "keywords"],
  "customSlug": "optional-custom-slug"
}

Response:

{
  "success": true,
  "data": {
    "shortCode": "Example.Long.Custom.Slug",
    "shortUrl": "https://dashdig.com/Example.Long.Custom.Slug",
    "originalUrl": "https://example.com/very-long-url"
  }
}

Get Analytics

Request:

GET /api/analytics/:shortCode
Authorization: Bearer YOUR_API_KEY

Response:

{
  "success": true,
  "data": {
    "clicks": 1234,
    "uniqueClicks": 567,
    "browsers": { "Chrome": 45, "Firefox": 30 },
    "devices": { "Desktop": 60, "Mobile": 40 },
    "countries": { "US": 50, "UK": 20 }
  }
}

❓ Frequently Asked Questions

What makes Dashdig different?

Dashdig creates human-readable short URLs like "dashdig.com/Target.Tide.WashingMachine.Cleaner" instead of cryptic strings like "bit.ly/3xK9mP2". Our tagline says it all: "Humanize and Shortenize URLs". These memorable links are easier to share verbally, improve click-through rates, and boost SEO.

Is there a free plan?

Yes! Our free plan includes 100 short URLs per month and basic analytics including click tracking, browser stats, and device breakdown. Perfect for personal projects and small websites.

How do I get an API key?

Sign up for an account, then go to Dashboard → Settings → API Keys to generate your key. You can create multiple API keys for different applications and revoke them anytime.

Can I use custom domains?

Custom domains are available on Pro and Enterprise plans. Use your own branded domain like "go.yourcompany.com" for shortened URLs. Contact sales@dashdig.com for details.

How does the WordPress plugin work?

The WordPress plugin connects to our secure API at dashdig-production.up.railway.app to create short URLs directly from your WordPress dashboard. All communication is encrypted via HTTPS/TLS. See our Privacy Policy for details.

What analytics do you provide?

Dashdig provides comprehensive analytics including: total clicks, unique visitors, geographic location (city/country), browser types, device breakdown (desktop/mobile/tablet), referrer sources, and time-based click patterns. Analytics data is retained for 24 months.

Is my data secure?

Yes! We use industry-standard security measures including HTTPS/TLS encryption, bcrypt password hashing, secure MongoDB Atlas storage, and Redis Cloud caching. We are GDPR and CCPA compliant. Read our full Privacy Policy.

Can I delete my short URLs?

Yes, you can delete any short URL from your dashboard at any time. Once deleted, the short URL will immediately stop redirecting. This is useful for managing expired campaigns or removing outdated links.

📚 Quick Links

© 2025 Dashdig. All rights reserved.