Quickstart
Get up and running with ResolveDB in under 5 minutes.
Try It Now
See ResolveDB in action - no signup required. Try the live query below or run dig in your terminal:
You just queried a globally distributed database using DNS. That query was served from a DNS resolver near you - possibly in under 1ms if it was cached.
Why DNS?
When you set a 5-minute TTL, every DNS resolver worldwide caches your data for free:
Your Application
│
▼
┌─────────────────┐
│ Browser Cache │ ─── TTL: 300s (5 min)
└────────┬────────┘
│ Cache miss
▼
┌─────────────────┐
│ Corporate DNS │ ─── TTL: 300s
│ (10K users) │ Serves all 10K users
└────────┬────────┘
│ Cache miss (once per 5 min)
▼
┌─────────────────┐
│ ISP Resolver │ ─── TTL: 300s
│ (1M users) │ Serves all 1M users
└────────┬────────┘
│ Cache miss (once per 5 min)
▼
┌─────────────────┐
│ ResolveDB │ ─── Origin
│ (your data) │ ~24 requests/day globally
└─────────────────┘With a 5-minute TTL, a piece of data accessed by millions of users might only hit your origin a few times per hour globally.
1. Create an Account
Sign up for a free ResolveDB account to get your API credentials.
2. Create Your First Record
Use the dashboard or API to create a DNS-accessible record.
Via Dashboard
Navigate to Records in the dashboard and click Create Record.
Via API
curl -X POST https://api.resolvedb.io/api/v1/records \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"record": {
"key": "mydata.myapp.v1",
"data": "eyJoZWxsbyI6IndvcmxkIn0="
}
}'Note: The data field is Base64 encoded. The example above encodes {"hello":"world"}.
3. Query Your Record
Use any DNS tool to query your data. No SDK required.
Using dig
dig get.mydata.myapp.v1.resolvedb.net TXT +shortUsing nslookup
nslookup -type=TXT get.mydata.myapp.v1.resolvedb.netIn your code (Node.js)
const dns = require('dns').promises;
async function getData() {
const records = await dns.resolveTxt('get.mydata.myapp.v1.resolvedb.net');
const response = records[0].join('');
// Parse the UQRP response
const data = response.match(/d=(.+)$/)?.[1];
return JSON.parse(data);
}
getData().then(console.log);
// Output: { hello: "world" }In your code (Python)
import dns.resolver
import json
import re
def get_data():
answers = dns.resolver.resolve('get.mydata.myapp.v1.resolvedb.net', 'TXT')
response = str(answers[0]).strip('"')
# Parse the UQRP response
match = re.search(r'd=(.+)$', response)
if match:
return json.loads(match.group(1))
print(get_data())
# Output: {'hello': 'world'}Next Steps
- Learn the UQRP protocol - Understand query and response formats
- API Reference - Full REST API documentation
- Security - Authentication and encryption options