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
- Sign up for a free account at dashdig.com
- Access your dashboard
- Click "Create New Link" button
- Enter your long URL
- Customize your human-readable short URL
- Click "Dig This!" to create your link
WordPress Plugin
Install Dashdig on your WordPress site for seamless integration
- Install from WordPress.org plugin directory
- Activate the "Dashdig Analytics" plugin
- Go to Settings → Dashdig
- Enter your API key from dashboard
- Click "Test Connection" to verify
- Save settings and start shortening!
Public API v1
Integrate Dashdig into your applications with our RESTful API v1
Base URL:
https://dashdig-production.up.railway.app/api/v1Authentication: API key in X-API-Key header
Get Help
Need assistance? We're here to help!
- 📧 Support:support@dashdig.com
- 🔒 Privacy:privacy@dashdig.com
- 💼 Sales:sales@dashdig.com
- 🐛 Issues:GitHub Issues
🚀 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/v1Authentication
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
| Code | Description |
|---|---|
| INVALID_URL | The provided URL is not valid |
| MISSING_API_KEY | API key is required in X-API-Key header |
| INVALID_API_KEY | The provided API key is invalid |
| RATE_LIMIT_EXCEEDED | You have exceeded your hourly rate limit |
| URL_NOT_FOUND | The requested short link was not found |
| UNAUTHORIZED | Missing required permissions |
| QUOTA_EXCEEDED | Monthly 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, clicksorder- 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
Resources
Support
© 2025 Dashdig. All rights reserved.