Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.
openapi: 3.2.0
info:
title: Datpaq Com DNS Lookup API
version: 1.1.0
contact:
name: Datpaq Support
url: https://datpaq.com
license:
name: Proprietary
description: 'Operations tagged DNS Lookup across 2 of this provider''s published API definitions: datpaq-com.yaml, datpaq-com-openapi.yaml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://datpaq.com/api/v1
description: Production
- url: https://staging.datpaq.com/api/v1
description: Staging
security:
- ApiKeyHeader: []
- ApiKeyQuery: []
tags:
- name: DNS Lookup
description: Forward and reverse DNS resolution for domains and IP addresses
paths:
/dns-lookup:
get:
tags:
- DNS Lookup
operationId: dnsLookup
summary: Resolve DNS records for domains or reverse PTR for IPs
description: Forward DNS for A, AAAA, MX, TXT, NS, CNAME, and SOA records. Reverse lookup via ip for PTR. Batch domains by repeating the domain parameter. Default record type is A; use ALL for every supported type.
parameters:
- name: domain
in: query
required: false
description: Domain to resolve (repeat for batch)
schema:
oneOf:
- type: string
example: example.com
- type: array
items:
type: string
- name: ip
in: query
required: false
description: IP address for reverse PTR lookup
schema:
type: string
example: 8.8.8.8
- name: type
in: query
required: false
description: DNS record type
schema:
type: string
enum:
- A
- AAAA
- MX
- TXT
- NS
- CNAME
- SOA
- PTR
- ALL
default: A
responses:
'200':
description: DNS record results
content:
application/json:
schema:
$ref: '#/components/schemas/GenericSuccess'
example:
- domain: example.com
records:
MX:
- exchange: mail.example.com
priority: 10
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'429':
$ref: '#/components/responses/RateLimited'
default:
$ref: '#/components/responses/ServiceUnavailable'
servers:
- url: https://datpaq.com/api/v1
description: Production
- url: https://staging.datpaq.com/api/v1
description: Staging
components:
schemas:
ErrorResponse:
type: object
properties:
error:
type: string
description: Human-readable error message
example: Invalid API key
correlationId:
type: string
description: Request tracking identifier for support
example: abc123-def456-789ghi
service:
type: string
description: Service name that produced the error
example: ip-geolocation
GenericSuccess:
type: object
description: Standard success envelope. The data property structure varies by endpoint.
properties:
correlationId:
type: string
description: Request tracking identifier
example: abc123-def456
data:
type: object
description: Response payload (structure varies by endpoint)
cached:
type: boolean
description: Whether the response was served from cache
example: false
responses:
BadRequest:
description: Bad request — missing or invalid parameters
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
RateLimited:
description: Rate limit exceeded — retry after the indicated period
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
ServiceUnavailable:
description: Service temporarily unavailable
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
Unauthorized:
description: Unauthorized — missing or invalid API key
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
securitySchemes:
ApiKeyHeader:
type: apiKey
in: header
name: x-api-key
description: API key passed via x-api-key request header
ApiKeyQuery:
type: apiKey
in: query
name: api_key
description: API key passed as api_key query parameter
x-refined-from:
- datpaq-com.yaml
- datpaq-com-openapi.yaml