@apifreaks/openapi-specs 0.1.0 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +133 -2
- package/dist/index.d.cts +140 -3
- package/dist/index.d.ts +140 -3
- package/dist/index.js +131 -2
- package/dist/specs/commodity/commodity-fluctuation.yaml +225 -0
- package/dist/specs/commodity/commodity-prices.yaml +236 -0
- package/dist/specs/commodity/commodity-symbols.yaml +159 -0
- package/dist/specs/commodity/commodity-time-series.yaml +238 -0
- package/dist/specs/commodity/historical-commodity-prices.yaml +208 -0
- package/dist/specs/currency/currency-converter.yaml +193 -0
- package/dist/specs/currency/currency-fluctuation.yaml +211 -0
- package/dist/specs/currency/currency-historical-data-limit.yaml +112 -0
- package/dist/specs/currency/currency-rate.yaml +173 -0
- package/dist/specs/currency/currency-supported.yaml +176 -0
- package/dist/specs/currency/currency-symbols.yaml +115 -0
- package/dist/specs/currency/currency-time-series.yaml +232 -0
- package/dist/specs/currency/geolocalized-currency-conversion.yaml +214 -0
- package/dist/specs/currency/historical-currency-converter.yaml +195 -0
- package/dist/specs/currency/historical-currency-rate.yaml +180 -0
- package/dist/specs/dns/bulk-dns-lookup.yaml +484 -0
- package/dist/specs/dns/dns-history-lookup.yaml +451 -0
- package/dist/specs/dns/dns-lookup.yaml +360 -0
- package/dist/specs/dns/reverse-dns-lookup.yaml +338 -0
- package/dist/specs/domain/bulk-domain-checker.yaml +198 -0
- package/dist/specs/domain/domain-search-with-suggestions.yaml +196 -0
- package/dist/specs/domain/domain-search.yaml +149 -0
- package/dist/specs/domain/subdomain-lookup.yaml +251 -0
- package/dist/specs/email-validation/bulk-email-validation.yaml +403 -0
- package/dist/specs/email-validation/email-checker.yaml +451 -0
- package/dist/specs/financial/bulk-vat-rates-country.yaml +250 -0
- package/dist/specs/financial/financial-apis-supported-countries.yaml +152 -0
- package/dist/specs/financial/iban-validation.yaml +270 -0
- package/dist/specs/financial/swift-code-finder.yaml +146 -0
- package/dist/specs/financial/swift-code-lookup.yaml +156 -0
- package/dist/specs/financial/vat-number-validation.yaml +205 -0
- package/dist/specs/financial/vat-rates-by-ip.yaml +200 -0
- package/dist/specs/financial/vat-rates-country.yaml +212 -0
- package/dist/specs/general/usage-credits.yaml +188 -0
- package/dist/specs/geocoding/forward-geocoding.yaml +292 -0
- package/dist/specs/geocoding/reverse-geocoding.yaml +237 -0
- package/dist/specs/geodb/administrative-units-details.yaml +180 -0
- package/dist/specs/geodb/administrative-units-levels.yaml +140 -0
- package/dist/specs/geodb/administrative-units.yaml +168 -0
- package/dist/specs/geodb/cities.yaml +209 -0
- package/dist/specs/geodb/countries-details.yaml +207 -0
- package/dist/specs/geodb/countries.yaml +199 -0
- package/dist/specs/geodb/flags-supported.yaml +119 -0
- package/dist/specs/geodb/flags.yaml +170 -0
- package/dist/specs/geodb/regions.yaml +76 -0
- package/dist/specs/geodb/subregions.yaml +158 -0
- package/dist/specs/ip-intelligence/bulk-ip-lookup.yaml +895 -0
- package/dist/specs/ip-intelligence/bulk-ip-threat-intelligence.yaml +310 -0
- package/dist/specs/ip-intelligence/ip-locator.yaml +708 -0
- package/dist/specs/ip-intelligence/ip-threat-intelligence.yaml +230 -0
- package/dist/specs/other/astronomy-data.yaml +632 -0
- package/dist/specs/pdf/delete-pdf-page.yaml +193 -0
- package/dist/specs/pdf/linearize-pdf.yaml +187 -0
- package/dist/specs/pdf/merge-pdf.yaml +193 -0
- package/dist/specs/pdf/pdf-compress.yaml +208 -0
- package/dist/specs/pdf/pdf-decrypt.yaml +202 -0
- package/dist/specs/pdf/pdf-encrypt.yaml +213 -0
- package/dist/specs/pdf/pdf-extract-pages.yaml +199 -0
- package/dist/specs/pdf/pdf-file-status.yaml +148 -0
- package/dist/specs/pdf/pdf-file.yaml +136 -0
- package/dist/specs/pdf/pdf-files.yaml +85 -0
- package/dist/specs/pdf/pdf-resource-download.yaml +117 -0
- package/dist/specs/pdf/pdf-resource-upload-binary.yaml +152 -0
- package/dist/specs/pdf/pdf-resource-upload.yaml +163 -0
- package/dist/specs/pdf/pdf-restrict.yaml +246 -0
- package/dist/specs/pdf/pdf-split-pages.yaml +208 -0
- package/dist/specs/pdf/pdf-task-status.yaml +187 -0
- package/dist/specs/pdf/pdf-to-image.yaml +844 -0
- package/dist/specs/pdf/pdf-unrestrict.yaml +221 -0
- package/dist/specs/pdf/rotate-pdf-pages.yaml +207 -0
- package/dist/specs/phone-validation/bulk-phone-number-validation.yaml +374 -0
- package/dist/specs/phone-validation/phone-number-validation.yaml +344 -0
- package/dist/specs/scraper/web-scraper.yaml +479 -0
- package/dist/specs/screenshot/bulk-screenshot.yaml +728 -0
- package/dist/specs/screenshot/website-screenshot.yaml +822 -0
- package/dist/specs/ssl/ssl-certificate-chain-lookup.yaml +593 -0
- package/dist/specs/ssl/ssl-certificate-lookup.yaml +478 -0
- package/dist/specs/timezone/timezone-converter.yaml +249 -0
- package/dist/specs/timezone/timezone-lookup.yaml +712 -0
- package/dist/specs/user-agent/bulk-user-agent-parser.yaml +340 -0
- package/dist/specs/user-agent/user-agent-parser.yaml +271 -0
- package/dist/specs/weather/air-quality.yaml +590 -0
- package/dist/specs/weather/bulk-live-weather.yaml +654 -0
- package/dist/specs/weather/flood-forecast.yaml +519 -0
- package/dist/specs/weather/historical-weather.yaml +842 -0
- package/dist/specs/weather/live-weather.yaml +633 -0
- package/dist/specs/weather/marine-weather.yaml +806 -0
- package/dist/specs/weather/time-series-weather.yaml +821 -0
- package/dist/specs/weather/weather-forecast.yaml +935 -0
- package/dist/specs/whois/asn-lookup.yaml +618 -0
- package/dist/specs/whois/bulk-whois-lookup.yaml +827 -0
- package/dist/specs/whois/domain-whois-history-lookup.yaml +445 -0
- package/dist/specs/whois/reverse-whois.yaml +566 -0
- package/dist/specs/whois/whois-domain-lookup.yaml +537 -0
- package/dist/specs/whois/whois-ip-lookup.yaml +1123 -0
- package/dist/specs/zip-code/bulk-zip-code-lookup.yaml +232 -0
- package/dist/specs/zip-code/zip-code-api.yaml +216 -0
- package/dist/specs/zip-code/zip-code-distance-match.yaml +239 -0
- package/dist/specs/zip-code/zip-code-distance.yaml +233 -0
- package/dist/specs/zip-code/zip-codes-by-city.yaml +201 -0
- package/dist/specs/zip-code/zip-codes-by-region.yaml +200 -0
- package/dist/specs/zip-code/zip-codes-radius-search.yaml +262 -0
- package/package.json +6 -2
- package/specs/pdf/merge-pdf.json +2 -2
|
@@ -0,0 +1,360 @@
|
|
|
1
|
+
openapi: 3.1.1
|
|
2
|
+
info:
|
|
3
|
+
title: DNS Lookup API - Live DNS Records, TTLs & PTR Lookups for Any Hostname
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
description: Performs a live DNS lookup for any hostname or IP address, returning real-time records from authoritative name servers. Supports A, AAAA, MX, NS, SOA, SPF, TXT, and CNAME record types, plus PTR records when querying by IP address via the ipAddress parameter. Each record object includes parsed fields such as address, target, priority, TTL, serial, or verification strings, depending on the record type. Pass a comma-separated list of record types with the type parameter, or use 'all' to retrieve every supported type. The optional format parameter allows switching between JSON and XML output.
|
|
6
|
+
contact:
|
|
7
|
+
name: APIFreaks Support
|
|
8
|
+
url: https://apifreaks.com/contact
|
|
9
|
+
email: support@apifreaks.com
|
|
10
|
+
servers:
|
|
11
|
+
- url: https://api.apifreaks.com/v1.0
|
|
12
|
+
description: DNS Lookup API Server
|
|
13
|
+
paths:
|
|
14
|
+
/domain/dns/live:
|
|
15
|
+
get:
|
|
16
|
+
tags:
|
|
17
|
+
- DNS APIs
|
|
18
|
+
summary: Perform a live DNS lookup for any hostname or IP address
|
|
19
|
+
description: Retrieve real-time DNS records for any hostname or IP address. Returns A, AAAA, MX, NS, SOA, SPF, TXT, CNAME, and PTR records with full parsed fields.
|
|
20
|
+
operationId: dnsLookup
|
|
21
|
+
parameters:
|
|
22
|
+
- name: format
|
|
23
|
+
in: query
|
|
24
|
+
required: false
|
|
25
|
+
schema:
|
|
26
|
+
type: string
|
|
27
|
+
enum:
|
|
28
|
+
- json
|
|
29
|
+
- xml
|
|
30
|
+
default: json
|
|
31
|
+
description: Format of the response.
|
|
32
|
+
- name: host-name
|
|
33
|
+
in: query
|
|
34
|
+
required: true
|
|
35
|
+
schema:
|
|
36
|
+
type: string
|
|
37
|
+
description: Hostname or URL whose DNS records are required.
|
|
38
|
+
- name: ipAddress
|
|
39
|
+
in: query
|
|
40
|
+
required: false
|
|
41
|
+
schema:
|
|
42
|
+
type: string
|
|
43
|
+
description: The IP address for requested DNS's PTR record. 'type' parameter must be set to 'all'.
|
|
44
|
+
- name: type
|
|
45
|
+
in: query
|
|
46
|
+
required: true
|
|
47
|
+
schema:
|
|
48
|
+
type: string
|
|
49
|
+
enum:
|
|
50
|
+
- A
|
|
51
|
+
- AAAA
|
|
52
|
+
- MX
|
|
53
|
+
- NS
|
|
54
|
+
- SOA
|
|
55
|
+
- SPF
|
|
56
|
+
- TXT
|
|
57
|
+
- CNAME
|
|
58
|
+
- all
|
|
59
|
+
description: 'A comma-separated list of DNS record types for lookup. Possible values: A, AAAA, MX, NS, SOA, SPF, TXT, CNAME, or all. When ipAddress is provided, type must be "all".'
|
|
60
|
+
responses:
|
|
61
|
+
'200':
|
|
62
|
+
description: Successful DNS lookup response
|
|
63
|
+
content:
|
|
64
|
+
application/json:
|
|
65
|
+
schema:
|
|
66
|
+
$ref: '#/components/schemas/DNSLookupResponse'
|
|
67
|
+
examples:
|
|
68
|
+
default:
|
|
69
|
+
value:
|
|
70
|
+
status: true
|
|
71
|
+
queryTime: '2026-06-06 10:43:05'
|
|
72
|
+
domainName: example.com
|
|
73
|
+
domainRegistered: true
|
|
74
|
+
dnsTypes:
|
|
75
|
+
A: 1
|
|
76
|
+
NS: 2
|
|
77
|
+
SOA: 6
|
|
78
|
+
MX: 15
|
|
79
|
+
TXT: 16
|
|
80
|
+
AAAA: 28
|
|
81
|
+
SPF: 99
|
|
82
|
+
dnsRecords:
|
|
83
|
+
- name: example.com
|
|
84
|
+
type: 1
|
|
85
|
+
dnsType: A
|
|
86
|
+
ttl: 300
|
|
87
|
+
rawText: "example.com.\t\t300\tIN\tA\t104.20.23.154"
|
|
88
|
+
rRsetType: 1
|
|
89
|
+
address: 104.20.23.154
|
|
90
|
+
- name: example.com
|
|
91
|
+
type: 1
|
|
92
|
+
dnsType: A
|
|
93
|
+
ttl: 300
|
|
94
|
+
rawText: "example.com.\t\t300\tIN\tA\t172.66.147.243"
|
|
95
|
+
rRsetType: 1
|
|
96
|
+
address: 172.66.147.243
|
|
97
|
+
- name: example.com
|
|
98
|
+
type: 2
|
|
99
|
+
dnsType: NS
|
|
100
|
+
ttl: 21600
|
|
101
|
+
rawText: "example.com.\t\t21600\tIN\tNS\telliott.ns.cloudflare.com."
|
|
102
|
+
rRsetType: 2
|
|
103
|
+
singleName: elliott.ns.cloudflare.com.
|
|
104
|
+
- name: example.com
|
|
105
|
+
type: 2
|
|
106
|
+
dnsType: NS
|
|
107
|
+
ttl: 21600
|
|
108
|
+
rawText: "example.com.\t\t21600\tIN\tNS\thera.ns.cloudflare.com."
|
|
109
|
+
rRsetType: 2
|
|
110
|
+
singleName: hera.ns.cloudflare.com.
|
|
111
|
+
- name: example.com
|
|
112
|
+
type: 6
|
|
113
|
+
dnsType: SOA
|
|
114
|
+
ttl: 1800
|
|
115
|
+
rawText: "example.com.\t\t1800\tIN\tSOA\telliott.ns.cloudflare.com. dns.cloudflare.com. 2405749864 10000 2400 604800 1800"
|
|
116
|
+
rRsetType: 6
|
|
117
|
+
admin: dns.cloudflare.com.
|
|
118
|
+
host: elliott.ns.cloudflare.com.
|
|
119
|
+
expire: 604800
|
|
120
|
+
minimum: 1800
|
|
121
|
+
refresh: 10000
|
|
122
|
+
retry: 2400
|
|
123
|
+
serial: 2405749864
|
|
124
|
+
- name: example.com
|
|
125
|
+
type: 15
|
|
126
|
+
dnsType: MX
|
|
127
|
+
ttl: 236
|
|
128
|
+
rawText: "example.com.\t\t236\tIN\tMX\t0 ."
|
|
129
|
+
rRsetType: 15
|
|
130
|
+
target: .
|
|
131
|
+
priority: 0
|
|
132
|
+
- name: example.com
|
|
133
|
+
type: 16
|
|
134
|
+
dnsType: TXT
|
|
135
|
+
ttl: 300
|
|
136
|
+
rawText: "example.com.\t\t300\tIN\tTXT\t\"_k2n1y4vw3qtb4skdx9e7dxt97qrmmq9\""
|
|
137
|
+
rRsetType: 16
|
|
138
|
+
strings:
|
|
139
|
+
- _k2n1y4vw3qtb4skdx9e7dxt97qrmmq9
|
|
140
|
+
- name: example.com
|
|
141
|
+
type: 28
|
|
142
|
+
dnsType: AAAA
|
|
143
|
+
ttl: 300
|
|
144
|
+
rawText: "example.com.\t\t300\tIN\tAAAA\t2606:4700:10:0:0:0:ac42:93f3"
|
|
145
|
+
rRsetType: 28
|
|
146
|
+
address: 2606:4700:10:0:0:0:ac42:93f3
|
|
147
|
+
- name: example.com
|
|
148
|
+
type: 28
|
|
149
|
+
dnsType: AAAA
|
|
150
|
+
ttl: 300
|
|
151
|
+
rawText: "example.com.\t\t300\tIN\tAAAA\t2606:4700:10:0:0:0:6814:179a"
|
|
152
|
+
rRsetType: 28
|
|
153
|
+
address: 2606:4700:10:0:0:0:6814:179a
|
|
154
|
+
- name: example.com
|
|
155
|
+
type: 99
|
|
156
|
+
dnsType: SPF
|
|
157
|
+
ttl: 300
|
|
158
|
+
rawText: "example.com.\t\t300\tIN\tSPF\t\"v=spf1 -all\""
|
|
159
|
+
rRsetType: 99
|
|
160
|
+
strings:
|
|
161
|
+
- v=spf1 -all
|
|
162
|
+
ptrLookup:
|
|
163
|
+
summary: PTR lookup via ipAddress
|
|
164
|
+
value:
|
|
165
|
+
status: true
|
|
166
|
+
queryTime: '2026-07-23 09:51:24'
|
|
167
|
+
ipAddress: 8.8.8.8
|
|
168
|
+
dnsTypes:
|
|
169
|
+
PTR: 12
|
|
170
|
+
dnsRecords:
|
|
171
|
+
- name: 8.8.8.8.in-addr.arpa
|
|
172
|
+
type: 12
|
|
173
|
+
dnsType: PTR
|
|
174
|
+
ttl: 16954
|
|
175
|
+
rawText: "8.8.8.8.in-addr.arpa.\t16954\tIN\tPTR\tdns.google."
|
|
176
|
+
rRsetType: 12
|
|
177
|
+
singleName: dns.google.
|
|
178
|
+
'400':
|
|
179
|
+
description: Bad Request — Missing or invalid parameters
|
|
180
|
+
content:
|
|
181
|
+
application/json:
|
|
182
|
+
schema:
|
|
183
|
+
$ref: '#/components/schemas/ErrorResponse'
|
|
184
|
+
examples:
|
|
185
|
+
missingParams:
|
|
186
|
+
summary: Missing required parameter
|
|
187
|
+
value:
|
|
188
|
+
error: Invalid Param Exception
|
|
189
|
+
message: please pass correct parameters
|
|
190
|
+
path: /v1.0/domain/dns/live
|
|
191
|
+
status: 400
|
|
192
|
+
timestamp: '2026-07-23T09:50:58.722Z'
|
|
193
|
+
invalidType:
|
|
194
|
+
summary: Unsupported DNS record type
|
|
195
|
+
value:
|
|
196
|
+
timestamp: '2026-07-23T09:51:08.447Z'
|
|
197
|
+
status: 400
|
|
198
|
+
error: Invalid Param Exception
|
|
199
|
+
message: 'Please provide correct dns records type(s) [For Technical Support: support@whoisfreaks.com]'
|
|
200
|
+
path: /v2.0/dns/live
|
|
201
|
+
malformedHostname:
|
|
202
|
+
summary: Hostname missing a valid TLD
|
|
203
|
+
value:
|
|
204
|
+
timestamp: '2026-07-23T09:54:13.140Z'
|
|
205
|
+
status: 400
|
|
206
|
+
error: Invalid Param Exception
|
|
207
|
+
message: 'Please pass domain param correct value[For Technical Support: support@whoisfreaks.com]'
|
|
208
|
+
path: /v2.0/dns/live
|
|
209
|
+
components:
|
|
210
|
+
securitySchemes:
|
|
211
|
+
ApiKeyAuthHeader:
|
|
212
|
+
type: apiKey
|
|
213
|
+
in: header
|
|
214
|
+
name: X-apiKey
|
|
215
|
+
description: Pass your API key via the X-apiKey request header.
|
|
216
|
+
ApiKeyAuthQuery:
|
|
217
|
+
type: apiKey
|
|
218
|
+
in: query
|
|
219
|
+
name: apiKey
|
|
220
|
+
description: Pass your API key via the apiKey query parameter.
|
|
221
|
+
schemas:
|
|
222
|
+
DNSLookupResponse:
|
|
223
|
+
type: object
|
|
224
|
+
required:
|
|
225
|
+
- status
|
|
226
|
+
- queryTime
|
|
227
|
+
- dnsTypes
|
|
228
|
+
- dnsRecords
|
|
229
|
+
properties:
|
|
230
|
+
status:
|
|
231
|
+
type: boolean
|
|
232
|
+
description: Indicates whether the query was processed successfully.
|
|
233
|
+
queryTime:
|
|
234
|
+
type: string
|
|
235
|
+
format: date-time
|
|
236
|
+
description: Time at which the query was made (Format:YYYY-MM-DD HH:mm:ss).
|
|
237
|
+
domainName:
|
|
238
|
+
type: string
|
|
239
|
+
description: Queried domain name.
|
|
240
|
+
domainRegistered:
|
|
241
|
+
type: boolean
|
|
242
|
+
description: Indicates whether the domain is registered.
|
|
243
|
+
ipAddress:
|
|
244
|
+
type: string
|
|
245
|
+
description: IP address queried (present when ipAddress parameter is used instead of host-name).
|
|
246
|
+
dnsTypes:
|
|
247
|
+
$ref: '#/components/schemas/DnsTypes'
|
|
248
|
+
dnsRecords:
|
|
249
|
+
type: array
|
|
250
|
+
description: List of DNS records. Field presence varies by dnsType — see DnsRecord for which fields apply to which type.
|
|
251
|
+
items:
|
|
252
|
+
$ref: '#/components/schemas/DnsRecord'
|
|
253
|
+
DnsTypes:
|
|
254
|
+
type: object
|
|
255
|
+
description: 'Map of each DNS record type present in dnsRecords to its IANA DNS resource record type code (e.g. A: 1, AAAA: 28, MX: 15, NS: 2, SOA: 6, TXT: 16, SPF: 99, PTR: 12). Indicates which record types were found, not how many of each — count entries in dnsRecords for that.'
|
|
256
|
+
additionalProperties:
|
|
257
|
+
title: DnsTypeCode
|
|
258
|
+
type: integer
|
|
259
|
+
description: 'IANA DNS resource record type code for this DNS record type (A: 1, AAAA: 28, CNAME: 5, MX: 15, NS: 2, SOA: 6, TXT: 16, SPF: 99, PTR: 12).'
|
|
260
|
+
DnsRecord:
|
|
261
|
+
type: object
|
|
262
|
+
description: A single DNS resource record. name, type, dnsType, ttl, rawText, and rRsetType are always present; every other field is populated only for the dnsType(s) noted in its description.
|
|
263
|
+
required:
|
|
264
|
+
- name
|
|
265
|
+
- type
|
|
266
|
+
- dnsType
|
|
267
|
+
- ttl
|
|
268
|
+
- rawText
|
|
269
|
+
- rRsetType
|
|
270
|
+
properties:
|
|
271
|
+
name:
|
|
272
|
+
type: string
|
|
273
|
+
description: Name of the queried domain, or the reverse DNS name (e.g. '8.8.8.8.in-addr.arpa') for PTR records.
|
|
274
|
+
type:
|
|
275
|
+
type: integer
|
|
276
|
+
description: DNS type code (1=A, 28=AAAA, 5=CNAME, 15=MX, 2=NS, 6=SOA, 16=TXT, 99=SPF, 12=PTR).
|
|
277
|
+
dnsType:
|
|
278
|
+
type: string
|
|
279
|
+
enum:
|
|
280
|
+
- A
|
|
281
|
+
- AAAA
|
|
282
|
+
- CNAME
|
|
283
|
+
- MX
|
|
284
|
+
- NS
|
|
285
|
+
- SOA
|
|
286
|
+
- TXT
|
|
287
|
+
- SPF
|
|
288
|
+
- PTR
|
|
289
|
+
description: DNS record type as a string.
|
|
290
|
+
ttl:
|
|
291
|
+
type: integer
|
|
292
|
+
description: Time to live in seconds.
|
|
293
|
+
rawText:
|
|
294
|
+
type: string
|
|
295
|
+
description: Raw (un-parsed) DNS record text.
|
|
296
|
+
rRsetType:
|
|
297
|
+
type: integer
|
|
298
|
+
description: Resource record set type code.
|
|
299
|
+
address:
|
|
300
|
+
type: string
|
|
301
|
+
description: IPv4 or IPv6 address. Present only when dnsType is A or AAAA.
|
|
302
|
+
target:
|
|
303
|
+
type: string
|
|
304
|
+
description: Target hostname. Present only when dnsType is CNAME or MX.
|
|
305
|
+
priority:
|
|
306
|
+
type: integer
|
|
307
|
+
description: Mail server priority. Present only when dnsType is MX.
|
|
308
|
+
singleName:
|
|
309
|
+
type: string
|
|
310
|
+
description: Authoritative name server (NS) or reverse-resolved hostname (PTR). Present only when dnsType is NS or PTR.
|
|
311
|
+
admin:
|
|
312
|
+
type: string
|
|
313
|
+
description: Administrative contact email. Present only when dnsType is SOA.
|
|
314
|
+
host:
|
|
315
|
+
type: string
|
|
316
|
+
description: Primary name server. Present only when dnsType is SOA.
|
|
317
|
+
expire:
|
|
318
|
+
type: integer
|
|
319
|
+
description: Expiry time in seconds. Present only when dnsType is SOA.
|
|
320
|
+
minimum:
|
|
321
|
+
type: integer
|
|
322
|
+
description: Minimum TTL in seconds. Present only when dnsType is SOA.
|
|
323
|
+
refresh:
|
|
324
|
+
type: integer
|
|
325
|
+
description: Refresh interval in seconds. Present only when dnsType is SOA.
|
|
326
|
+
retry:
|
|
327
|
+
type: integer
|
|
328
|
+
description: Retry interval in seconds. Present only when dnsType is SOA.
|
|
329
|
+
serial:
|
|
330
|
+
type: integer
|
|
331
|
+
description: Serial number. Present only when dnsType is SOA.
|
|
332
|
+
strings:
|
|
333
|
+
type: array
|
|
334
|
+
description: Verification or policy strings. Present only when dnsType is TXT or SPF.
|
|
335
|
+
items:
|
|
336
|
+
type: string
|
|
337
|
+
ErrorResponse:
|
|
338
|
+
type: object
|
|
339
|
+
required:
|
|
340
|
+
- message
|
|
341
|
+
properties:
|
|
342
|
+
error:
|
|
343
|
+
type: string
|
|
344
|
+
description: Short error category or exception type.
|
|
345
|
+
message:
|
|
346
|
+
type: string
|
|
347
|
+
description: Human-readable error message describing the failure.
|
|
348
|
+
path:
|
|
349
|
+
type: string
|
|
350
|
+
description: API endpoint path that produced the error.
|
|
351
|
+
status:
|
|
352
|
+
type: integer
|
|
353
|
+
description: HTTP status code returned with the error.
|
|
354
|
+
timestamp:
|
|
355
|
+
type: string
|
|
356
|
+
format: date-time
|
|
357
|
+
description: Timestamp when the error occurred (ISO 8601).
|
|
358
|
+
security:
|
|
359
|
+
- ApiKeyAuthHeader: []
|
|
360
|
+
- ApiKeyAuthQuery: []
|
|
@@ -0,0 +1,338 @@
|
|
|
1
|
+
openapi: 3.1.1
|
|
2
|
+
info:
|
|
3
|
+
title: Reverse DNS Lookup API - Find Every Hostname Behind an IP, MX, NS, or CNAME
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
description: The Reverse DNS Lookup API finds every hostname associated with a given IP address, CIDR block, nameserver, mail host, or other DNS selector. The type parameter switches between A, AAAA, MX, NS, SOA, SPF, TXT, and CNAME lookups to control how the value parameter is interpreted. Wildcard regex matching on the value parameter is supported for flexible pattern searches such as m*.google.com. An exact-match filter is available when you need only exact hits rather than all partial matches. Results are paginated with 100 records per page and include dated DNS snapshots for each matched domain.
|
|
6
|
+
contact:
|
|
7
|
+
name: APIFreaks Support
|
|
8
|
+
url: https://apifreaks.com/contact
|
|
9
|
+
email: support@apifreaks.com
|
|
10
|
+
servers:
|
|
11
|
+
- url: https://api.apifreaks.com/v1.0
|
|
12
|
+
description: Reverse DNS Lookup API Server
|
|
13
|
+
paths:
|
|
14
|
+
/domain/dns/reverse:
|
|
15
|
+
get:
|
|
16
|
+
tags:
|
|
17
|
+
- DNS APIs
|
|
18
|
+
summary: Retrieve all hostnames associated with any A, AAAA, MX, NS, SOA, SPF, TXT, or CNAME DNS record
|
|
19
|
+
description: Perform a reverse DNS lookup by providing an IP or CIDR for A/AAAA lookups, or a hostname selector for MX, NS, SOA, SPF, TXT, and CNAME queries. Returns paginated results with dated DNS snapshots for each matched domain.
|
|
20
|
+
operationId: reverseDnsLookup
|
|
21
|
+
parameters:
|
|
22
|
+
- name: format
|
|
23
|
+
in: query
|
|
24
|
+
required: false
|
|
25
|
+
description: Format of the response.
|
|
26
|
+
schema:
|
|
27
|
+
type: string
|
|
28
|
+
enum:
|
|
29
|
+
- json
|
|
30
|
+
- xml
|
|
31
|
+
default: json
|
|
32
|
+
- name: type
|
|
33
|
+
in: query
|
|
34
|
+
required: true
|
|
35
|
+
description: |-
|
|
36
|
+
The type of reverse DNS lookup to perform. Determines how the value parameter is interpreted:
|
|
37
|
+
- A: IPv4 CIDR block
|
|
38
|
+
- AAAA: IPv6 CIDR block
|
|
39
|
+
- MX: Mail provider domain
|
|
40
|
+
- NS: Name server provider hostname
|
|
41
|
+
- SOA: SOA record admin domain
|
|
42
|
+
- SPF/TXT: Target verification strings
|
|
43
|
+
- CNAME: Target hostname
|
|
44
|
+
schema:
|
|
45
|
+
type: string
|
|
46
|
+
enum:
|
|
47
|
+
- A
|
|
48
|
+
- AAAA
|
|
49
|
+
- MX
|
|
50
|
+
- NS
|
|
51
|
+
- SOA
|
|
52
|
+
- SPF
|
|
53
|
+
- TXT
|
|
54
|
+
- CNAME
|
|
55
|
+
- name: value
|
|
56
|
+
in: query
|
|
57
|
+
required: true
|
|
58
|
+
description: Provide an IP or CIDR for A/AAAA lookups, or a hostname/selector for MX, NS, SOA, SPF, TXT, and CNAME queries. Wildcard regex patterns are also supported (e.g., mail.google.com, m*.google.com, _spf.g*.com, s*.g*.com).
|
|
59
|
+
schema:
|
|
60
|
+
type: string
|
|
61
|
+
- name: exact
|
|
62
|
+
in: query
|
|
63
|
+
required: false
|
|
64
|
+
description: When true, returns only records that exactly match the input (NS, MX, CNAME, SOA, SPF, TXT). When false, returns all matches (default when omitted).
|
|
65
|
+
schema:
|
|
66
|
+
type: boolean
|
|
67
|
+
default: false
|
|
68
|
+
- name: page
|
|
69
|
+
in: query
|
|
70
|
+
required: false
|
|
71
|
+
description: Page number to paginate through results (defaults to 1).
|
|
72
|
+
schema:
|
|
73
|
+
type: integer
|
|
74
|
+
minimum: 1
|
|
75
|
+
default: 1
|
|
76
|
+
responses:
|
|
77
|
+
'200':
|
|
78
|
+
description: Successful Response
|
|
79
|
+
content:
|
|
80
|
+
application/json:
|
|
81
|
+
schema:
|
|
82
|
+
$ref: '#/components/schemas/ReverseDnsResponse'
|
|
83
|
+
examples:
|
|
84
|
+
default:
|
|
85
|
+
summary: Reverse DNS lookup for IP 8.8.8.8
|
|
86
|
+
value:
|
|
87
|
+
totalRecords: 89950
|
|
88
|
+
totalPages: 900
|
|
89
|
+
currentPage: 1
|
|
90
|
+
reverseDnsRecords:
|
|
91
|
+
- queryTime: '2024-05-30'
|
|
92
|
+
domainName: www.maguire.romamenu.cotest.avalon-invest.pro
|
|
93
|
+
dnsTypes:
|
|
94
|
+
A: 1
|
|
95
|
+
dnsRecords:
|
|
96
|
+
- name: www.maguire.romamenu.cotest.avalon-invest.pro
|
|
97
|
+
type: 1
|
|
98
|
+
dnsType: A
|
|
99
|
+
ttl: 300
|
|
100
|
+
rawText: "www.maguire.romamenu.cotest.avalon-invest.pro.\t300\tIN\tA\t8.8.8.8"
|
|
101
|
+
rRsetType: 1
|
|
102
|
+
address: 8.8.8.8
|
|
103
|
+
- queryTime: '2026-06-13'
|
|
104
|
+
domainName: qa-allure.salt-dev.ws
|
|
105
|
+
dnsTypes:
|
|
106
|
+
A: 1
|
|
107
|
+
dnsRecords:
|
|
108
|
+
- name: qa-allure.salt-dev.ws
|
|
109
|
+
type: 1
|
|
110
|
+
dnsType: A
|
|
111
|
+
ttl: 300
|
|
112
|
+
rawText: "qa-allure.salt-dev.ws.\t300\tIN\tA\t8.8.8.8"
|
|
113
|
+
rRsetType: 1
|
|
114
|
+
address: 8.8.8.8
|
|
115
|
+
- queryTime: '2026-03-21'
|
|
116
|
+
domainName: www.hailibu.cn
|
|
117
|
+
dnsTypes:
|
|
118
|
+
A: 1
|
|
119
|
+
dnsRecords:
|
|
120
|
+
- name: www.hailibu.cn
|
|
121
|
+
type: 1
|
|
122
|
+
dnsType: A
|
|
123
|
+
ttl: 1
|
|
124
|
+
rawText: "www.hailibu.cn.\t\t1\tIN\tA\t8.8.8.8"
|
|
125
|
+
rRsetType: 1
|
|
126
|
+
address: 8.8.8.8
|
|
127
|
+
'400':
|
|
128
|
+
description: Invalid DNS type or missing required parameter
|
|
129
|
+
content:
|
|
130
|
+
application/json:
|
|
131
|
+
schema:
|
|
132
|
+
$ref: '#/components/schemas/ErrorResponse'
|
|
133
|
+
examples:
|
|
134
|
+
invalidType:
|
|
135
|
+
summary: Invalid DNS type
|
|
136
|
+
value:
|
|
137
|
+
timestamp: '2026-07-23T09:51:58.340Z'
|
|
138
|
+
path: /v2.1/dns/reverse
|
|
139
|
+
status: 400
|
|
140
|
+
error: Invalid Param Exception
|
|
141
|
+
message: Invalid dns Record Type. Kindly use the supported record types.
|
|
142
|
+
missingValue:
|
|
143
|
+
summary: Missing required value parameter
|
|
144
|
+
value:
|
|
145
|
+
error: Invalid Param Exception
|
|
146
|
+
message: please pass correct parameters
|
|
147
|
+
path: /v1.0/domain/dns/reverse
|
|
148
|
+
status: 400
|
|
149
|
+
timestamp: '2026-07-23T09:51:58.951Z'
|
|
150
|
+
'404':
|
|
151
|
+
description: No reverse DNS records found for the given input
|
|
152
|
+
content:
|
|
153
|
+
application/json:
|
|
154
|
+
schema:
|
|
155
|
+
$ref: '#/components/schemas/ErrorResponse'
|
|
156
|
+
examples:
|
|
157
|
+
default:
|
|
158
|
+
summary: No records found
|
|
159
|
+
value:
|
|
160
|
+
timestamp: '2026-07-23T09:52:07.079Z'
|
|
161
|
+
path: /v2.1/dns/reverse
|
|
162
|
+
status: 404
|
|
163
|
+
error: Record not Found
|
|
164
|
+
message: 'No Record Found across: zzsuperrandomnonexistentmxprovider99988.com'
|
|
165
|
+
components:
|
|
166
|
+
securitySchemes:
|
|
167
|
+
ApiKeyAuthHeader:
|
|
168
|
+
type: apiKey
|
|
169
|
+
in: header
|
|
170
|
+
name: X-apiKey
|
|
171
|
+
description: Pass your API key in the X-apiKey header.
|
|
172
|
+
ApiKeyAuthQuery:
|
|
173
|
+
type: apiKey
|
|
174
|
+
in: query
|
|
175
|
+
name: apiKey
|
|
176
|
+
description: Pass your API key as the apiKey query parameter.
|
|
177
|
+
schemas:
|
|
178
|
+
ErrorResponse:
|
|
179
|
+
type: object
|
|
180
|
+
required:
|
|
181
|
+
- timestamp
|
|
182
|
+
- path
|
|
183
|
+
- status
|
|
184
|
+
- error
|
|
185
|
+
- message
|
|
186
|
+
description: Standard error response returned by the API when a request fails.
|
|
187
|
+
properties:
|
|
188
|
+
timestamp:
|
|
189
|
+
type: string
|
|
190
|
+
format: date-time
|
|
191
|
+
description: Timestamp of the error.
|
|
192
|
+
path:
|
|
193
|
+
type: string
|
|
194
|
+
description: Request path that triggered the error.
|
|
195
|
+
status:
|
|
196
|
+
type: integer
|
|
197
|
+
description: HTTP status code.
|
|
198
|
+
error:
|
|
199
|
+
type: string
|
|
200
|
+
description: Error type.
|
|
201
|
+
message:
|
|
202
|
+
type: string
|
|
203
|
+
description: Human-readable error message.
|
|
204
|
+
ReverseDnsResponse:
|
|
205
|
+
type: object
|
|
206
|
+
required:
|
|
207
|
+
- totalRecords
|
|
208
|
+
- totalPages
|
|
209
|
+
- currentPage
|
|
210
|
+
- reverseDnsRecords
|
|
211
|
+
description: Paginated response containing all domain records matching the reverse DNS query.
|
|
212
|
+
properties:
|
|
213
|
+
totalRecords:
|
|
214
|
+
type: integer
|
|
215
|
+
description: Total number of domain records matching the reverse DNS query.
|
|
216
|
+
totalPages:
|
|
217
|
+
type: integer
|
|
218
|
+
description: Total number of pages available.
|
|
219
|
+
currentPage:
|
|
220
|
+
type: integer
|
|
221
|
+
description: Current page number in the paginated result.
|
|
222
|
+
reverseDnsRecords:
|
|
223
|
+
type: array
|
|
224
|
+
description: Array of matching domain records, each containing dated DNS snapshots.
|
|
225
|
+
items:
|
|
226
|
+
$ref: '#/components/schemas/ReverseDnsRecord'
|
|
227
|
+
ReverseDnsRecord:
|
|
228
|
+
type: object
|
|
229
|
+
description: A single domain record matched by the reverse DNS query, with its DNS snapshot data.
|
|
230
|
+
required:
|
|
231
|
+
- queryTime
|
|
232
|
+
- domainName
|
|
233
|
+
- dnsTypes
|
|
234
|
+
- dnsRecords
|
|
235
|
+
properties:
|
|
236
|
+
queryTime:
|
|
237
|
+
type: string
|
|
238
|
+
format: date
|
|
239
|
+
description: Date when the DNS snapshot was taken (YYYY-MM-DD).
|
|
240
|
+
domainName:
|
|
241
|
+
type: string
|
|
242
|
+
description: Matched domain name.
|
|
243
|
+
domainRegistered:
|
|
244
|
+
type: boolean
|
|
245
|
+
description: Indicates whether the domain is registered.
|
|
246
|
+
dnsTypes:
|
|
247
|
+
$ref: '#/components/schemas/DnsTypes'
|
|
248
|
+
dnsRecords:
|
|
249
|
+
type: array
|
|
250
|
+
description: Array of DNS records for this domain on this date. Field presence varies by dnsType — see DnsRecord for which fields apply to which type.
|
|
251
|
+
items:
|
|
252
|
+
$ref: '#/components/schemas/DnsRecord'
|
|
253
|
+
DnsTypes:
|
|
254
|
+
type: object
|
|
255
|
+
description: 'Map of each DNS record type present in dnsRecords to its IANA DNS resource record type code (e.g. A: 1, AAAA: 28, CNAME: 5, MX: 15, NS: 2, SOA: 6, TXT: 16, SPF: 99). Indicates which record types were found for this domain, not how many of each — count entries in dnsRecords for that.'
|
|
256
|
+
additionalProperties:
|
|
257
|
+
title: DnsTypeCode
|
|
258
|
+
type: integer
|
|
259
|
+
description: 'IANA DNS resource record type code for this DNS record type (A: 1, AAAA: 28, CNAME: 5, MX: 15, NS: 2, SOA: 6, TXT: 16, SPF: 99).'
|
|
260
|
+
DnsRecord:
|
|
261
|
+
type: object
|
|
262
|
+
description: A single DNS resource record. name, type, dnsType, ttl, rawText, and rRsetType are always present; every other field is populated only for the dnsType(s) noted in its description.
|
|
263
|
+
required:
|
|
264
|
+
- name
|
|
265
|
+
- type
|
|
266
|
+
- dnsType
|
|
267
|
+
- ttl
|
|
268
|
+
- rawText
|
|
269
|
+
- rRsetType
|
|
270
|
+
properties:
|
|
271
|
+
name:
|
|
272
|
+
type: string
|
|
273
|
+
description: Name of the queried domain.
|
|
274
|
+
type:
|
|
275
|
+
type: integer
|
|
276
|
+
description: DNS type code (1=A, 28=AAAA, 5=CNAME, 15=MX, 2=NS, 6=SOA, 16=TXT, 99=SPF).
|
|
277
|
+
dnsType:
|
|
278
|
+
type: string
|
|
279
|
+
enum:
|
|
280
|
+
- A
|
|
281
|
+
- AAAA
|
|
282
|
+
- CNAME
|
|
283
|
+
- MX
|
|
284
|
+
- NS
|
|
285
|
+
- SOA
|
|
286
|
+
- TXT
|
|
287
|
+
- SPF
|
|
288
|
+
description: DNS record type as a string.
|
|
289
|
+
ttl:
|
|
290
|
+
type: integer
|
|
291
|
+
description: Time to live in seconds.
|
|
292
|
+
rawText:
|
|
293
|
+
type: string
|
|
294
|
+
description: Raw (un-parsed) DNS record text.
|
|
295
|
+
rRsetType:
|
|
296
|
+
type: integer
|
|
297
|
+
description: Resource record set type code.
|
|
298
|
+
address:
|
|
299
|
+
type: string
|
|
300
|
+
description: IPv4 or IPv6 address. Present only when dnsType is A or AAAA.
|
|
301
|
+
target:
|
|
302
|
+
type: string
|
|
303
|
+
description: Target hostname. Present only when dnsType is CNAME or MX.
|
|
304
|
+
priority:
|
|
305
|
+
type: integer
|
|
306
|
+
description: Mail server priority. Present only when dnsType is MX.
|
|
307
|
+
singleName:
|
|
308
|
+
type: string
|
|
309
|
+
description: Authoritative name server. Present only when dnsType is NS.
|
|
310
|
+
admin:
|
|
311
|
+
type: string
|
|
312
|
+
description: Administrative contact email. Present only when dnsType is SOA.
|
|
313
|
+
host:
|
|
314
|
+
type: string
|
|
315
|
+
description: Primary name server. Present only when dnsType is SOA.
|
|
316
|
+
expire:
|
|
317
|
+
type: integer
|
|
318
|
+
description: Expiry time in seconds. Present only when dnsType is SOA.
|
|
319
|
+
minimum:
|
|
320
|
+
type: integer
|
|
321
|
+
description: Minimum TTL in seconds. Present only when dnsType is SOA.
|
|
322
|
+
refresh:
|
|
323
|
+
type: integer
|
|
324
|
+
description: Refresh interval in seconds. Present only when dnsType is SOA.
|
|
325
|
+
retry:
|
|
326
|
+
type: integer
|
|
327
|
+
description: Retry interval in seconds. Present only when dnsType is SOA.
|
|
328
|
+
serial:
|
|
329
|
+
type: integer
|
|
330
|
+
description: Serial number. Present only when dnsType is SOA.
|
|
331
|
+
strings:
|
|
332
|
+
type: array
|
|
333
|
+
description: Verification or policy strings. Present only when dnsType is TXT or SPF.
|
|
334
|
+
items:
|
|
335
|
+
type: string
|
|
336
|
+
security:
|
|
337
|
+
- ApiKeyAuthHeader: []
|
|
338
|
+
- ApiKeyAuthQuery: []
|