@apifreaks/openapi-specs 0.1.0
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/LICENSE +21 -0
- package/README.md +156 -0
- package/dist/index.cjs +44663 -0
- package/dist/index.d.cts +30 -0
- package/dist/index.d.ts +30 -0
- package/dist/index.js +44631 -0
- package/package.json +81 -0
- package/specs/commodity/commodity-fluctuation.json +301 -0
- package/specs/commodity/commodity-prices.json +317 -0
- package/specs/commodity/commodity-symbols.json +215 -0
- package/specs/commodity/commodity-time-series.json +329 -0
- package/specs/commodity/historical-commodity-prices.json +273 -0
- package/specs/currency/currency-converter.json +261 -0
- package/specs/currency/currency-fluctuation.json +282 -0
- package/specs/currency/currency-historical-data-limit.json +158 -0
- package/specs/currency/currency-rate.json +229 -0
- package/specs/currency/currency-supported.json +234 -0
- package/specs/currency/currency-symbols.json +161 -0
- package/specs/currency/currency-time-series.json +325 -0
- package/specs/currency/geolocalized-currency-conversion.json +287 -0
- package/specs/currency/historical-currency-converter.json +269 -0
- package/specs/currency/historical-currency-rate.json +246 -0
- package/specs/dns/bulk-dns-lookup.json +624 -0
- package/specs/dns/dns-history-lookup.json +579 -0
- package/specs/dns/dns-lookup.json +466 -0
- package/specs/dns/reverse-dns-lookup.json +414 -0
- package/specs/domain/bulk-domain-checker.json +284 -0
- package/specs/domain/domain-search-with-suggestions.json +280 -0
- package/specs/domain/domain-search.json +206 -0
- package/specs/domain/subdomain-lookup.json +343 -0
- package/specs/email-validation/bulk-email-validation.json +534 -0
- package/specs/email-validation/email-checker.json +586 -0
- package/specs/financial/bulk-vat-rates-country.json +341 -0
- package/specs/financial/financial-apis-supported-countries.json +204 -0
- package/specs/financial/iban-validation.json +328 -0
- package/specs/financial/swift-code-finder.json +192 -0
- package/specs/financial/swift-code-lookup.json +220 -0
- package/specs/financial/vat-number-validation.json +283 -0
- package/specs/financial/vat-rates-by-ip.json +275 -0
- package/specs/financial/vat-rates-country.json +288 -0
- package/specs/general/usage-credits.json +218 -0
- package/specs/geocoding/forward-geocoding.json +402 -0
- package/specs/geocoding/reverse-geocoding.json +326 -0
- package/specs/geodb/administrative-units-details.json +250 -0
- package/specs/geodb/administrative-units-levels.json +198 -0
- package/specs/geodb/administrative-units.json +237 -0
- package/specs/geodb/cities.json +288 -0
- package/specs/geodb/countries-details.json +274 -0
- package/specs/geodb/countries.json +276 -0
- package/specs/geodb/flags-supported.json +166 -0
- package/specs/geodb/flags.json +227 -0
- package/specs/geodb/regions.json +109 -0
- package/specs/geodb/subregions.json +217 -0
- package/specs/ip-intelligence/bulk-ip-lookup.json +1162 -0
- package/specs/ip-intelligence/bulk-ip-threat-intelligence.json +417 -0
- package/specs/ip-intelligence/ip-locator.json +941 -0
- package/specs/ip-intelligence/ip-threat-intelligence.json +316 -0
- package/specs/other/astronomy-data.json +803 -0
- package/specs/pdf/delete-pdf-page.json +286 -0
- package/specs/pdf/linearize-pdf.json +277 -0
- package/specs/pdf/merge-pdf.json +285 -0
- package/specs/pdf/pdf-compress.json +304 -0
- package/specs/pdf/pdf-decrypt.json +297 -0
- package/specs/pdf/pdf-encrypt.json +314 -0
- package/specs/pdf/pdf-extract-pages.json +295 -0
- package/specs/pdf/pdf-file-status.json +208 -0
- package/specs/pdf/pdf-file.json +190 -0
- package/specs/pdf/pdf-files.json +126 -0
- package/specs/pdf/pdf-resource-download.json +168 -0
- package/specs/pdf/pdf-resource-upload-binary.json +218 -0
- package/specs/pdf/pdf-resource-upload.json +248 -0
- package/specs/pdf/pdf-restrict.json +343 -0
- package/specs/pdf/pdf-split-pages.json +281 -0
- package/specs/pdf/pdf-task-status.json +252 -0
- package/specs/pdf/pdf-to-image.json +1219 -0
- package/specs/pdf/pdf-unrestrict.json +324 -0
- package/specs/pdf/rotate-pdf-pages.json +305 -0
- package/specs/phone-validation/bulk-phone-number-validation.json +518 -0
- package/specs/phone-validation/phone-number-validation.json +456 -0
- package/specs/scraper/web-scraper.json +674 -0
- package/specs/screenshot/bulk-screenshot.json +949 -0
- package/specs/screenshot/website-screenshot.json +1147 -0
- package/specs/ssl/ssl-certificate-chain-lookup.json +756 -0
- package/specs/ssl/ssl-certificate-lookup.json +634 -0
- package/specs/timezone/timezone-converter.json +362 -0
- package/specs/timezone/timezone-lookup.json +910 -0
- package/specs/user-agent/bulk-user-agent-parser.json +441 -0
- package/specs/user-agent/user-agent-parser.json +346 -0
- package/specs/weather/air-quality.json +779 -0
- package/specs/weather/bulk-live-weather.json +834 -0
- package/specs/weather/flood-forecast.json +693 -0
- package/specs/weather/historical-weather.json +1019 -0
- package/specs/weather/live-weather.json +789 -0
- package/specs/weather/marine-weather.json +940 -0
- package/specs/weather/time-series-weather.json +1056 -0
- package/specs/weather/weather-forecast.json +1202 -0
- package/specs/whois/asn-lookup.json +729 -0
- package/specs/whois/bulk-whois-lookup.json +698 -0
- package/specs/whois/domain-whois-history-lookup.json +500 -0
- package/specs/whois/reverse-whois.json +625 -0
- package/specs/whois/whois-domain-lookup.json +533 -0
- package/specs/whois/whois-ip-lookup.json +1110 -0
- package/specs/zip-code/bulk-zip-code-lookup.json +318 -0
- package/specs/zip-code/zip-code-api.json +299 -0
- package/specs/zip-code/zip-code-distance-match.json +311 -0
- package/specs/zip-code/zip-code-distance.json +307 -0
- package/specs/zip-code/zip-codes-by-city.json +279 -0
- package/specs/zip-code/zip-codes-by-region.json +278 -0
- package/specs/zip-code/zip-codes-radius-search.json +349 -0
|
@@ -0,0 +1,1162 @@
|
|
|
1
|
+
{
|
|
2
|
+
"openapi": "3.1.1",
|
|
3
|
+
"info": {
|
|
4
|
+
"title": "Bulk IP Geolocation Lookup API - Instantly Geolocate Thousands of IP Addresses",
|
|
5
|
+
"version": "1.0.0",
|
|
6
|
+
"description": "Retrieve the same geolocation and network intelligence as the single-IP Geolocation API for up to 50,000 IP addresses or hostnames in one request. The response is an array in request order; each entry is either a full location result (location, network, ASN, company, currency, and time zone data) or, if that specific IP is invalid, bogon, reserved, or unresolvable, an error object --- a bad IP in the batch does not fail the whole request. The same optional `include=security,hostname,liveHostname,user_agent,abuse` modules from the single-IP API (or `include=*`) apply to every item in the batch.",
|
|
7
|
+
"contact": {
|
|
8
|
+
"name": "APIFreaks Support",
|
|
9
|
+
"url": "https://apifreaks.com/contact",
|
|
10
|
+
"email": "support@apifreaks.com"
|
|
11
|
+
}
|
|
12
|
+
},
|
|
13
|
+
"servers": [
|
|
14
|
+
{
|
|
15
|
+
"url": "https://api.apifreaks.com/v2.0",
|
|
16
|
+
"description": "Bulk IP Lookup API Server"
|
|
17
|
+
}
|
|
18
|
+
],
|
|
19
|
+
"paths": {
|
|
20
|
+
"/geolocation/lookup": {
|
|
21
|
+
"post": {
|
|
22
|
+
"tags": ["IP Geolocation APIs"],
|
|
23
|
+
"summary": "Retrieve geolocation and threat intelligence data for multiple IP addresses in a single request",
|
|
24
|
+
"description": "Get detailed IP geolocation data for multiple IP addresses including country, city, timezone, currency, and optional threat intelligence information. Supports up to 50,000 IP addresses per request.",
|
|
25
|
+
"operationId": "bulkIpLookup",
|
|
26
|
+
"parameters": [
|
|
27
|
+
{
|
|
28
|
+
"name": "format",
|
|
29
|
+
"in": "query",
|
|
30
|
+
"required": false,
|
|
31
|
+
"description": "Format of the response.",
|
|
32
|
+
"schema": {
|
|
33
|
+
"type": "string",
|
|
34
|
+
"enum": ["json", "xml"],
|
|
35
|
+
"default": "json"
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"name": "lang",
|
|
40
|
+
"in": "query",
|
|
41
|
+
"required": false,
|
|
42
|
+
"description": "Response language for location fields. Default: en.",
|
|
43
|
+
"schema": {
|
|
44
|
+
"type": "string",
|
|
45
|
+
"enum": [
|
|
46
|
+
"en",
|
|
47
|
+
"de",
|
|
48
|
+
"ru",
|
|
49
|
+
"ja",
|
|
50
|
+
"fr",
|
|
51
|
+
"cn",
|
|
52
|
+
"es",
|
|
53
|
+
"cs",
|
|
54
|
+
"it",
|
|
55
|
+
"ko",
|
|
56
|
+
"fa",
|
|
57
|
+
"pt"
|
|
58
|
+
],
|
|
59
|
+
"default": "en"
|
|
60
|
+
}
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
"name": "fields",
|
|
64
|
+
"in": "query",
|
|
65
|
+
"required": false,
|
|
66
|
+
"description": "Comma-separated list of fields to include in the response. For example, `location` includes all location fields, `location.city` is a specific field.",
|
|
67
|
+
"schema": {
|
|
68
|
+
"type": "string"
|
|
69
|
+
}
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"name": "excludes",
|
|
73
|
+
"in": "query",
|
|
74
|
+
"required": false,
|
|
75
|
+
"description": "Comma-separated list of fields to exclude from response.",
|
|
76
|
+
"schema": {
|
|
77
|
+
"type": "string"
|
|
78
|
+
}
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"name": "include",
|
|
82
|
+
"in": "query",
|
|
83
|
+
"required": false,
|
|
84
|
+
"description": "Comma-separated list of additional data modules to include. Possible values: security (threat intelligence), hostname (IP-Hostname lookup), liveHostname (live hostname lookup), user_agent (parse User-Agent header), abuse (abuse contact info), * (all modules).",
|
|
85
|
+
"schema": {
|
|
86
|
+
"type": "string"
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
],
|
|
90
|
+
"requestBody": {
|
|
91
|
+
"required": true,
|
|
92
|
+
"content": {
|
|
93
|
+
"application/json": {
|
|
94
|
+
"schema": {
|
|
95
|
+
"$ref": "#/components/schemas/BulkIpLookupRequest"
|
|
96
|
+
},
|
|
97
|
+
"examples": {
|
|
98
|
+
"typicalRequest": {
|
|
99
|
+
"summary": "Typical bulk lookup request",
|
|
100
|
+
"value": {
|
|
101
|
+
"ips": ["8.8.8.8", "1.1.1.1"]
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
},
|
|
108
|
+
"responses": {
|
|
109
|
+
"200": {
|
|
110
|
+
"description": "Successful geolocation response. Each item corresponds to one requested IP, in the same order; an IP that fails validation (invalid, bogon, reserved, or not found) yields an error item instead of a location result.",
|
|
111
|
+
"content": {
|
|
112
|
+
"application/json": {
|
|
113
|
+
"schema": {
|
|
114
|
+
"$ref": "#/components/schemas/BulkIpLookupResponse"
|
|
115
|
+
},
|
|
116
|
+
"examples": {
|
|
117
|
+
"typicalSuccess": {
|
|
118
|
+
"summary": "Typical successful response",
|
|
119
|
+
"value": [
|
|
120
|
+
{
|
|
121
|
+
"ip": "8.8.8.8",
|
|
122
|
+
"location": {
|
|
123
|
+
"continent_code": "NA",
|
|
124
|
+
"continent_name": "North America",
|
|
125
|
+
"country_code2": "US",
|
|
126
|
+
"country_code3": "USA",
|
|
127
|
+
"country_name": "United States",
|
|
128
|
+
"country_name_official": "United States of America",
|
|
129
|
+
"country_capital": "Washington, D.C.",
|
|
130
|
+
"state_prov": "California",
|
|
131
|
+
"state_code": "US-CA",
|
|
132
|
+
"district": "Santa Clara",
|
|
133
|
+
"city": "Mountain View",
|
|
134
|
+
"zipcode": "94043-1351",
|
|
135
|
+
"latitude": "37.42240",
|
|
136
|
+
"longitude": "-122.08421",
|
|
137
|
+
"is_eu": false,
|
|
138
|
+
"country_flag": "https://ipgeolocation.io/static/flags/us_64.png",
|
|
139
|
+
"geoname_id": "6301403",
|
|
140
|
+
"country_emoji": "🇺🇸"
|
|
141
|
+
},
|
|
142
|
+
"country_metadata": {
|
|
143
|
+
"calling_code": "+1",
|
|
144
|
+
"tld": ".us",
|
|
145
|
+
"languages": ["en-US", "es-US", "haw", "fr"]
|
|
146
|
+
},
|
|
147
|
+
"network": {
|
|
148
|
+
"connection_type": "",
|
|
149
|
+
"route": "8.8.8.0/24",
|
|
150
|
+
"is_anycast": true
|
|
151
|
+
},
|
|
152
|
+
"currency": {
|
|
153
|
+
"code": "USD",
|
|
154
|
+
"name": "US Dollar",
|
|
155
|
+
"symbol": "$"
|
|
156
|
+
},
|
|
157
|
+
"asn": {
|
|
158
|
+
"as_number": "AS15169",
|
|
159
|
+
"organization": "Google LLC",
|
|
160
|
+
"country": "US",
|
|
161
|
+
"type": "BUSINESS",
|
|
162
|
+
"domain": "google.com",
|
|
163
|
+
"date_allocated": "2000-03-30",
|
|
164
|
+
"rir": "ARIN"
|
|
165
|
+
},
|
|
166
|
+
"company": {
|
|
167
|
+
"name": "Google LLC",
|
|
168
|
+
"type": "HOSTING",
|
|
169
|
+
"domain": "google.com"
|
|
170
|
+
},
|
|
171
|
+
"time_zone": {
|
|
172
|
+
"name": "America/Los_Angeles",
|
|
173
|
+
"offset": -8,
|
|
174
|
+
"offset_with_dst": -7,
|
|
175
|
+
"current_time": "2026-07-08 03:21:52.843-0700",
|
|
176
|
+
"current_time_unix": 1783506112.843,
|
|
177
|
+
"current_tz_abbreviation": "PDT",
|
|
178
|
+
"current_tz_full_name": "Pacific Daylight Time",
|
|
179
|
+
"standard_tz_abbreviation": "PST",
|
|
180
|
+
"standard_tz_full_name": "Pacific Standard Time",
|
|
181
|
+
"is_dst": true,
|
|
182
|
+
"dst_savings": 1,
|
|
183
|
+
"dst_exists": true,
|
|
184
|
+
"dst_tz_abbreviation": "PDT",
|
|
185
|
+
"dst_tz_full_name": "Pacific Daylight Time",
|
|
186
|
+
"dst_start": {
|
|
187
|
+
"utc_time": "2026-03-08 TIME 10:00",
|
|
188
|
+
"duration": "+1.00H",
|
|
189
|
+
"gap": true,
|
|
190
|
+
"date_time_after": "2026-03-08 TIME 03:00",
|
|
191
|
+
"date_time_before": "2026-03-08 TIME 02:00",
|
|
192
|
+
"overlap": false
|
|
193
|
+
},
|
|
194
|
+
"dst_end": {
|
|
195
|
+
"utc_time": "2026-11-01 TIME 09:00",
|
|
196
|
+
"duration": "-1.00H",
|
|
197
|
+
"gap": false,
|
|
198
|
+
"date_time_after": "2026-11-01 TIME 01:00",
|
|
199
|
+
"date_time_before": "2026-11-01 TIME 02:00",
|
|
200
|
+
"overlap": true
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
},
|
|
204
|
+
{
|
|
205
|
+
"ip": "1.1.1.1",
|
|
206
|
+
"location": {
|
|
207
|
+
"continent_code": "OC",
|
|
208
|
+
"continent_name": "Oceania",
|
|
209
|
+
"country_code2": "AU",
|
|
210
|
+
"country_code3": "AUS",
|
|
211
|
+
"country_name": "Australia",
|
|
212
|
+
"country_name_official": "Commonwealth of Australia",
|
|
213
|
+
"country_capital": "Canberra",
|
|
214
|
+
"state_prov": "Queensland",
|
|
215
|
+
"state_code": "AU-QLD",
|
|
216
|
+
"district": "Brisbane",
|
|
217
|
+
"city": "South Brisbane",
|
|
218
|
+
"zipcode": "4101",
|
|
219
|
+
"latitude": "-27.47301",
|
|
220
|
+
"longitude": "153.01425",
|
|
221
|
+
"is_eu": false,
|
|
222
|
+
"country_flag": "https://ipgeolocation.io/static/flags/au_64.png",
|
|
223
|
+
"geoname_id": "10113228",
|
|
224
|
+
"country_emoji": "🇦🇺"
|
|
225
|
+
},
|
|
226
|
+
"country_metadata": {
|
|
227
|
+
"calling_code": "+61",
|
|
228
|
+
"tld": ".au",
|
|
229
|
+
"languages": ["en-AU"]
|
|
230
|
+
},
|
|
231
|
+
"network": {
|
|
232
|
+
"connection_type": "",
|
|
233
|
+
"route": "1.1.1.0/24",
|
|
234
|
+
"is_anycast": true
|
|
235
|
+
},
|
|
236
|
+
"currency": {
|
|
237
|
+
"code": "AUD",
|
|
238
|
+
"name": "Australian Dollar",
|
|
239
|
+
"symbol": "A$"
|
|
240
|
+
},
|
|
241
|
+
"asn": {
|
|
242
|
+
"as_number": "AS13335",
|
|
243
|
+
"organization": "Cloudflare, Inc.",
|
|
244
|
+
"country": "US",
|
|
245
|
+
"type": "BUSINESS",
|
|
246
|
+
"domain": "cloudflare.com",
|
|
247
|
+
"date_allocated": "2010-07-14",
|
|
248
|
+
"rir": "ARIN"
|
|
249
|
+
},
|
|
250
|
+
"company": {
|
|
251
|
+
"name": "APNIC Research and Development",
|
|
252
|
+
"type": "",
|
|
253
|
+
"domain": ""
|
|
254
|
+
},
|
|
255
|
+
"time_zone": {
|
|
256
|
+
"name": "Australia/Brisbane",
|
|
257
|
+
"offset": 10,
|
|
258
|
+
"offset_with_dst": 10,
|
|
259
|
+
"current_time": "2026-07-08 20:21:52.843+1000",
|
|
260
|
+
"current_time_unix": 1783506112.843,
|
|
261
|
+
"current_tz_abbreviation": "AEST",
|
|
262
|
+
"current_tz_full_name": "Australian Eastern Standard Time",
|
|
263
|
+
"standard_tz_abbreviation": "AEST",
|
|
264
|
+
"standard_tz_full_name": "Australian Eastern Standard Time",
|
|
265
|
+
"is_dst": false,
|
|
266
|
+
"dst_savings": 0,
|
|
267
|
+
"dst_exists": false,
|
|
268
|
+
"dst_tz_abbreviation": "",
|
|
269
|
+
"dst_tz_full_name": "",
|
|
270
|
+
"dst_start": {},
|
|
271
|
+
"dst_end": {}
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
]
|
|
275
|
+
},
|
|
276
|
+
"partialFailure": {
|
|
277
|
+
"summary": "Response with an invalid IP mixed in — that item returns an error object instead of location data",
|
|
278
|
+
"value": [
|
|
279
|
+
{
|
|
280
|
+
"message": "Provided name, service or IP address 'not-an-ip' is not valid."
|
|
281
|
+
},
|
|
282
|
+
{
|
|
283
|
+
"ip": "8.8.8.8",
|
|
284
|
+
"location": {
|
|
285
|
+
"continent_code": "NA",
|
|
286
|
+
"continent_name": "North America",
|
|
287
|
+
"country_code2": "US",
|
|
288
|
+
"country_code3": "USA",
|
|
289
|
+
"country_name": "United States",
|
|
290
|
+
"country_name_official": "United States of America",
|
|
291
|
+
"country_capital": "Washington, D.C.",
|
|
292
|
+
"state_prov": "California",
|
|
293
|
+
"state_code": "US-CA",
|
|
294
|
+
"district": "Santa Clara",
|
|
295
|
+
"city": "Mountain View",
|
|
296
|
+
"zipcode": "94043-1351",
|
|
297
|
+
"latitude": "37.42240",
|
|
298
|
+
"longitude": "-122.08421",
|
|
299
|
+
"is_eu": false,
|
|
300
|
+
"country_flag": "https://ipgeolocation.io/static/flags/us_64.png",
|
|
301
|
+
"geoname_id": "6301403",
|
|
302
|
+
"country_emoji": "🇺🇸"
|
|
303
|
+
},
|
|
304
|
+
"country_metadata": {
|
|
305
|
+
"calling_code": "+1",
|
|
306
|
+
"tld": ".us",
|
|
307
|
+
"languages": ["en-US", "es-US", "haw", "fr"]
|
|
308
|
+
},
|
|
309
|
+
"network": {
|
|
310
|
+
"connection_type": "",
|
|
311
|
+
"route": "8.8.8.0/24",
|
|
312
|
+
"is_anycast": true
|
|
313
|
+
},
|
|
314
|
+
"currency": {
|
|
315
|
+
"code": "USD",
|
|
316
|
+
"name": "US Dollar",
|
|
317
|
+
"symbol": "$"
|
|
318
|
+
},
|
|
319
|
+
"asn": {
|
|
320
|
+
"as_number": "AS15169",
|
|
321
|
+
"organization": "Google LLC",
|
|
322
|
+
"country": "US",
|
|
323
|
+
"type": "BUSINESS",
|
|
324
|
+
"domain": "google.com",
|
|
325
|
+
"date_allocated": "2000-03-30",
|
|
326
|
+
"rir": "ARIN"
|
|
327
|
+
},
|
|
328
|
+
"company": {
|
|
329
|
+
"name": "Google LLC",
|
|
330
|
+
"type": "HOSTING",
|
|
331
|
+
"domain": "google.com"
|
|
332
|
+
},
|
|
333
|
+
"time_zone": {
|
|
334
|
+
"name": "America/Los_Angeles",
|
|
335
|
+
"offset": -8,
|
|
336
|
+
"offset_with_dst": -7,
|
|
337
|
+
"current_time": "2026-07-22 06:08:52.526-0700",
|
|
338
|
+
"current_time_unix": 1784725732.526,
|
|
339
|
+
"current_tz_abbreviation": "PDT",
|
|
340
|
+
"current_tz_full_name": "Pacific Daylight Time",
|
|
341
|
+
"standard_tz_abbreviation": "PST",
|
|
342
|
+
"standard_tz_full_name": "Pacific Standard Time",
|
|
343
|
+
"is_dst": true,
|
|
344
|
+
"dst_savings": 1,
|
|
345
|
+
"dst_exists": true,
|
|
346
|
+
"dst_tz_abbreviation": "PDT",
|
|
347
|
+
"dst_tz_full_name": "Pacific Daylight Time",
|
|
348
|
+
"dst_start": {
|
|
349
|
+
"utc_time": "2026-03-08 TIME 10:00",
|
|
350
|
+
"duration": "+1.00H",
|
|
351
|
+
"gap": true,
|
|
352
|
+
"date_time_after": "2026-03-08 TIME 03:00",
|
|
353
|
+
"date_time_before": "2026-03-08 TIME 02:00",
|
|
354
|
+
"overlap": false
|
|
355
|
+
},
|
|
356
|
+
"dst_end": {
|
|
357
|
+
"utc_time": "2026-11-01 TIME 09:00",
|
|
358
|
+
"duration": "-1.00H",
|
|
359
|
+
"gap": false,
|
|
360
|
+
"date_time_after": "2026-11-01 TIME 01:00",
|
|
361
|
+
"date_time_before": "2026-11-01 TIME 02:00",
|
|
362
|
+
"overlap": true
|
|
363
|
+
}
|
|
364
|
+
}
|
|
365
|
+
}
|
|
366
|
+
]
|
|
367
|
+
},
|
|
368
|
+
"bogonOrNotFound": {
|
|
369
|
+
"summary": "Bogon, reserved, or not-in-database IP — returns an error object for that item",
|
|
370
|
+
"value": [
|
|
371
|
+
{
|
|
372
|
+
"message": "'127.0.0.1' is a bogon IP address."
|
|
373
|
+
}
|
|
374
|
+
]
|
|
375
|
+
}
|
|
376
|
+
}
|
|
377
|
+
}
|
|
378
|
+
}
|
|
379
|
+
},
|
|
380
|
+
"400": {
|
|
381
|
+
"description": "Bad Request — Invalid or missing parameters",
|
|
382
|
+
"content": {
|
|
383
|
+
"application/json": {
|
|
384
|
+
"schema": {
|
|
385
|
+
"$ref": "#/components/schemas/ErrorResponse"
|
|
386
|
+
},
|
|
387
|
+
"examples": {
|
|
388
|
+
"invalidRequestBody": {
|
|
389
|
+
"summary": "Missing, empty, or malformed `ips` in the request body",
|
|
390
|
+
"value": {
|
|
391
|
+
"error": "Invalid request body Exception",
|
|
392
|
+
"message": "Please provide data in required format in request body",
|
|
393
|
+
"path": "/v2.0/geolocation/lookup",
|
|
394
|
+
"status": 400,
|
|
395
|
+
"timestamp": "2026-07-22T13:08:51.422Z"
|
|
396
|
+
}
|
|
397
|
+
},
|
|
398
|
+
"missingApiKey": {
|
|
399
|
+
"summary": "No API key provided",
|
|
400
|
+
"value": {
|
|
401
|
+
"error": "Invalid Param Exception",
|
|
402
|
+
"message": "Please provide apiKey",
|
|
403
|
+
"path": "/v2.0/geolocation/lookup",
|
|
404
|
+
"status": 400,
|
|
405
|
+
"timestamp": "2026-07-22T13:09:02.595Z"
|
|
406
|
+
}
|
|
407
|
+
}
|
|
408
|
+
}
|
|
409
|
+
}
|
|
410
|
+
}
|
|
411
|
+
},
|
|
412
|
+
"413": {
|
|
413
|
+
"description": "Payload Too Large — Request body exceeds the maximum allowed size",
|
|
414
|
+
"content": {
|
|
415
|
+
"application/json": {
|
|
416
|
+
"schema": {
|
|
417
|
+
"$ref": "#/components/schemas/ErrorResponse"
|
|
418
|
+
},
|
|
419
|
+
"examples": {
|
|
420
|
+
"payloadTooLarge": {
|
|
421
|
+
"summary": "Request body exceeds the maximum size limit",
|
|
422
|
+
"value": {
|
|
423
|
+
"error": "Payload too large Exception",
|
|
424
|
+
"message": "Maximum request body size limit exceeded",
|
|
425
|
+
"path": "/v2.0/geolocation/lookup",
|
|
426
|
+
"status": 413,
|
|
427
|
+
"timestamp": "2026-07-22T13:09:13.142Z"
|
|
428
|
+
}
|
|
429
|
+
}
|
|
430
|
+
}
|
|
431
|
+
}
|
|
432
|
+
}
|
|
433
|
+
}
|
|
434
|
+
}
|
|
435
|
+
}
|
|
436
|
+
}
|
|
437
|
+
},
|
|
438
|
+
"components": {
|
|
439
|
+
"securitySchemes": {
|
|
440
|
+
"ApiKeyAuthHeader": {
|
|
441
|
+
"type": "apiKey",
|
|
442
|
+
"in": "header",
|
|
443
|
+
"name": "X-apiKey",
|
|
444
|
+
"description": "Pass your API key via the X-apiKey request header."
|
|
445
|
+
},
|
|
446
|
+
"ApiKeyAuthQuery": {
|
|
447
|
+
"type": "apiKey",
|
|
448
|
+
"in": "query",
|
|
449
|
+
"name": "apiKey",
|
|
450
|
+
"description": "Pass your API key via the apiKey query parameter."
|
|
451
|
+
}
|
|
452
|
+
},
|
|
453
|
+
"schemas": {
|
|
454
|
+
"BulkIpLookupRequest": {
|
|
455
|
+
"type": "object",
|
|
456
|
+
"required": ["ips"],
|
|
457
|
+
"description": "Request body for bulk IP geolocation lookup.",
|
|
458
|
+
"properties": {
|
|
459
|
+
"ips": {
|
|
460
|
+
"type": "array",
|
|
461
|
+
"description": "List of IP addresses or hostnames to lookup.",
|
|
462
|
+
"maxItems": 50000,
|
|
463
|
+
"items": {
|
|
464
|
+
"type": "string"
|
|
465
|
+
}
|
|
466
|
+
}
|
|
467
|
+
}
|
|
468
|
+
},
|
|
469
|
+
"ErrorResponse": {
|
|
470
|
+
"type": "object",
|
|
471
|
+
"required": ["message"],
|
|
472
|
+
"properties": {
|
|
473
|
+
"error": {
|
|
474
|
+
"type": "string",
|
|
475
|
+
"description": "Short error category or exception type."
|
|
476
|
+
},
|
|
477
|
+
"message": {
|
|
478
|
+
"type": "string",
|
|
479
|
+
"description": "Human-readable error message describing the failure."
|
|
480
|
+
},
|
|
481
|
+
"path": {
|
|
482
|
+
"type": "string",
|
|
483
|
+
"description": "API endpoint path that produced the error."
|
|
484
|
+
},
|
|
485
|
+
"status": {
|
|
486
|
+
"type": "integer",
|
|
487
|
+
"description": "HTTP status code returned with the error."
|
|
488
|
+
},
|
|
489
|
+
"timestamp": {
|
|
490
|
+
"type": "string",
|
|
491
|
+
"format": "date-time",
|
|
492
|
+
"description": "Timestamp when the error occurred (ISO 8601)."
|
|
493
|
+
}
|
|
494
|
+
}
|
|
495
|
+
},
|
|
496
|
+
"BulkIpLookupItemError": {
|
|
497
|
+
"type": "object",
|
|
498
|
+
"description": "Per-item error, returned in place of a location result when an individual IP is invalid, bogon/reserved, or not found in the database.",
|
|
499
|
+
"required": ["message"],
|
|
500
|
+
"properties": {
|
|
501
|
+
"message": {
|
|
502
|
+
"type": "string",
|
|
503
|
+
"description": "Human-readable reason this IP could not be resolved."
|
|
504
|
+
}
|
|
505
|
+
}
|
|
506
|
+
},
|
|
507
|
+
"BulkIpLookupResultItem": {
|
|
508
|
+
"type": "object",
|
|
509
|
+
"description": "Geolocation and threat intelligence result for one successfully resolved IP address.",
|
|
510
|
+
"required": ["ip"],
|
|
511
|
+
"properties": {
|
|
512
|
+
"ip": {
|
|
513
|
+
"type": "string",
|
|
514
|
+
"description": "The IP address used for the lookup (IPv4 or IPv6)."
|
|
515
|
+
},
|
|
516
|
+
"domain": {
|
|
517
|
+
"type": "string",
|
|
518
|
+
"description": "The input domain, returned only for domain-based lookups."
|
|
519
|
+
},
|
|
520
|
+
"hostname": {
|
|
521
|
+
"type": "string",
|
|
522
|
+
"description": "Reverse DNS hostname (PTR) for the input IP; returns the input IP if not resolvable."
|
|
523
|
+
},
|
|
524
|
+
"location": {
|
|
525
|
+
"$ref": "#/components/schemas/Location"
|
|
526
|
+
},
|
|
527
|
+
"country_metadata": {
|
|
528
|
+
"$ref": "#/components/schemas/CountryMetadata"
|
|
529
|
+
},
|
|
530
|
+
"network": {
|
|
531
|
+
"$ref": "#/components/schemas/Network"
|
|
532
|
+
},
|
|
533
|
+
"asn": {
|
|
534
|
+
"$ref": "#/components/schemas/Asn"
|
|
535
|
+
},
|
|
536
|
+
"company": {
|
|
537
|
+
"$ref": "#/components/schemas/Company"
|
|
538
|
+
},
|
|
539
|
+
"currency": {
|
|
540
|
+
"$ref": "#/components/schemas/Currency"
|
|
541
|
+
},
|
|
542
|
+
"security": {
|
|
543
|
+
"$ref": "#/components/schemas/Security"
|
|
544
|
+
},
|
|
545
|
+
"abuse": {
|
|
546
|
+
"$ref": "#/components/schemas/Abuse"
|
|
547
|
+
},
|
|
548
|
+
"time_zone": {
|
|
549
|
+
"$ref": "#/components/schemas/TimeZone"
|
|
550
|
+
},
|
|
551
|
+
"user_agent": {
|
|
552
|
+
"$ref": "#/components/schemas/UserAgent"
|
|
553
|
+
}
|
|
554
|
+
}
|
|
555
|
+
},
|
|
556
|
+
"BulkIpLookupResponse": {
|
|
557
|
+
"type": "array",
|
|
558
|
+
"description": "Array of per-IP results, one entry per requested IP, in the same order as the request. Each entry is either a location result or, if that IP could not be resolved, an error object.",
|
|
559
|
+
"items": {
|
|
560
|
+
"oneOf": [
|
|
561
|
+
{
|
|
562
|
+
"$ref": "#/components/schemas/BulkIpLookupResultItem"
|
|
563
|
+
},
|
|
564
|
+
{
|
|
565
|
+
"$ref": "#/components/schemas/BulkIpLookupItemError"
|
|
566
|
+
}
|
|
567
|
+
]
|
|
568
|
+
}
|
|
569
|
+
},
|
|
570
|
+
"Location": {
|
|
571
|
+
"type": "object",
|
|
572
|
+
"description": "Geographic location information for the IP.",
|
|
573
|
+
"required": [
|
|
574
|
+
"continent_code",
|
|
575
|
+
"continent_name",
|
|
576
|
+
"country_code2",
|
|
577
|
+
"country_code3",
|
|
578
|
+
"country_name",
|
|
579
|
+
"country_name_official",
|
|
580
|
+
"country_capital",
|
|
581
|
+
"latitude",
|
|
582
|
+
"longitude",
|
|
583
|
+
"is_eu",
|
|
584
|
+
"country_flag"
|
|
585
|
+
],
|
|
586
|
+
"properties": {
|
|
587
|
+
"continent_code": {
|
|
588
|
+
"type": "string",
|
|
589
|
+
"description": "2-letter code of the continent."
|
|
590
|
+
},
|
|
591
|
+
"continent_name": {
|
|
592
|
+
"type": "string",
|
|
593
|
+
"description": "Name of the continent."
|
|
594
|
+
},
|
|
595
|
+
"country_code2": {
|
|
596
|
+
"type": "string",
|
|
597
|
+
"description": "Country code (ISO 3166-1 alpha-2) of the country."
|
|
598
|
+
},
|
|
599
|
+
"country_code3": {
|
|
600
|
+
"type": "string",
|
|
601
|
+
"description": "Country code (ISO 3166-1 alpha-3) of the country."
|
|
602
|
+
},
|
|
603
|
+
"country_name": {
|
|
604
|
+
"type": "string",
|
|
605
|
+
"description": "Name of the country."
|
|
606
|
+
},
|
|
607
|
+
"country_name_official": {
|
|
608
|
+
"type": "string",
|
|
609
|
+
"description": "Official name (ISO 3166) of the country."
|
|
610
|
+
},
|
|
611
|
+
"country_capital": {
|
|
612
|
+
"type": "string",
|
|
613
|
+
"description": "Name of the country's capital."
|
|
614
|
+
},
|
|
615
|
+
"state_prov": {
|
|
616
|
+
"type": "string",
|
|
617
|
+
"description": "Name of the state/province/region."
|
|
618
|
+
},
|
|
619
|
+
"state_code": {
|
|
620
|
+
"type": "string",
|
|
621
|
+
"description": "Code of the state/province/region."
|
|
622
|
+
},
|
|
623
|
+
"district": {
|
|
624
|
+
"type": "string",
|
|
625
|
+
"description": "Name of the district or county."
|
|
626
|
+
},
|
|
627
|
+
"city": {
|
|
628
|
+
"type": "string",
|
|
629
|
+
"description": "Name of the city."
|
|
630
|
+
},
|
|
631
|
+
"locality": {
|
|
632
|
+
"type": "string",
|
|
633
|
+
"description": "A more specific area in city or it can be same as city."
|
|
634
|
+
},
|
|
635
|
+
"accuracy_radius": {
|
|
636
|
+
"type": "string",
|
|
637
|
+
"description": "Circular radius in Km, where the IP address location can be found."
|
|
638
|
+
},
|
|
639
|
+
"confidence": {
|
|
640
|
+
"type": "string",
|
|
641
|
+
"description": "Confidence level of the location match (e.g., low, medium, high)."
|
|
642
|
+
},
|
|
643
|
+
"dma_code": {
|
|
644
|
+
"type": ["string", "null"],
|
|
645
|
+
"description": "Designated Market Area (DMA) code used in the United States for media marketing."
|
|
646
|
+
},
|
|
647
|
+
"zipcode": {
|
|
648
|
+
"type": "string",
|
|
649
|
+
"description": "ZIP/Postal code of the place."
|
|
650
|
+
},
|
|
651
|
+
"latitude": {
|
|
652
|
+
"type": "string",
|
|
653
|
+
"description": "Latitude of the place."
|
|
654
|
+
},
|
|
655
|
+
"longitude": {
|
|
656
|
+
"type": "string",
|
|
657
|
+
"description": "Longitude of the place."
|
|
658
|
+
},
|
|
659
|
+
"is_eu": {
|
|
660
|
+
"type": "boolean",
|
|
661
|
+
"description": "Is the country belong to European Union?"
|
|
662
|
+
},
|
|
663
|
+
"country_flag": {
|
|
664
|
+
"type": "string",
|
|
665
|
+
"format": "uri",
|
|
666
|
+
"description": "URL to get the country flag."
|
|
667
|
+
},
|
|
668
|
+
"geoname_id": {
|
|
669
|
+
"type": "string",
|
|
670
|
+
"description": "Geoname ID of the place from geonames.org."
|
|
671
|
+
},
|
|
672
|
+
"country_emoji": {
|
|
673
|
+
"type": "string",
|
|
674
|
+
"description": "Emoji of the Country flag."
|
|
675
|
+
}
|
|
676
|
+
}
|
|
677
|
+
},
|
|
678
|
+
"CountryMetadata": {
|
|
679
|
+
"type": "object",
|
|
680
|
+
"description": "Country-specific metadata.",
|
|
681
|
+
"required": ["calling_code", "tld", "languages"],
|
|
682
|
+
"properties": {
|
|
683
|
+
"calling_code": {
|
|
684
|
+
"type": "string",
|
|
685
|
+
"description": "Calling code/Dialing code of the country."
|
|
686
|
+
},
|
|
687
|
+
"tld": {
|
|
688
|
+
"type": "string",
|
|
689
|
+
"description": "Top Level Domain Name (TLD) of the country, which is also called ccTLD."
|
|
690
|
+
},
|
|
691
|
+
"languages": {
|
|
692
|
+
"type": "array",
|
|
693
|
+
"items": {
|
|
694
|
+
"type": "string"
|
|
695
|
+
},
|
|
696
|
+
"description": "List of the languages' codes, spoken in the country."
|
|
697
|
+
}
|
|
698
|
+
}
|
|
699
|
+
},
|
|
700
|
+
"Network": {
|
|
701
|
+
"type": "object",
|
|
702
|
+
"description": "Network information for the IP.",
|
|
703
|
+
"properties": {
|
|
704
|
+
"connection_type": {
|
|
705
|
+
"type": "string",
|
|
706
|
+
"description": "Network access type classification (e.g., DSL, Cable, Mobile, 5G) when available."
|
|
707
|
+
},
|
|
708
|
+
"route": {
|
|
709
|
+
"type": "string",
|
|
710
|
+
"description": "Network prefix in CIDR notation that contains the IP."
|
|
711
|
+
},
|
|
712
|
+
"is_anycast": {
|
|
713
|
+
"type": "boolean",
|
|
714
|
+
"description": "true if the IP is anycast (same IP announced from multiple locations)."
|
|
715
|
+
}
|
|
716
|
+
}
|
|
717
|
+
},
|
|
718
|
+
"Asn": {
|
|
719
|
+
"type": "object",
|
|
720
|
+
"description": "Autonomous System details for the IP.",
|
|
721
|
+
"properties": {
|
|
722
|
+
"as_number": {
|
|
723
|
+
"type": "string",
|
|
724
|
+
"description": "ASN identifier in AS<number> format associated with the IP's network."
|
|
725
|
+
},
|
|
726
|
+
"organization": {
|
|
727
|
+
"type": "string",
|
|
728
|
+
"description": "ASN operator name."
|
|
729
|
+
},
|
|
730
|
+
"country": {
|
|
731
|
+
"type": "string",
|
|
732
|
+
"description": "ASN registration country as ISO 3166-1 alpha-2."
|
|
733
|
+
},
|
|
734
|
+
"type": {
|
|
735
|
+
"type": "string",
|
|
736
|
+
"description": "ASN category (ISP, HOSTING, BUSINESS, etc.)."
|
|
737
|
+
},
|
|
738
|
+
"domain": {
|
|
739
|
+
"type": "string",
|
|
740
|
+
"description": "ASN operator domain name."
|
|
741
|
+
},
|
|
742
|
+
"date_allocated": {
|
|
743
|
+
"type": "string",
|
|
744
|
+
"description": "ASN allocation date in YYYY-MM-DD format."
|
|
745
|
+
},
|
|
746
|
+
"rir": {
|
|
747
|
+
"type": "string",
|
|
748
|
+
"description": "Regional Internet Registry that allocated the ASN."
|
|
749
|
+
}
|
|
750
|
+
}
|
|
751
|
+
},
|
|
752
|
+
"Company": {
|
|
753
|
+
"type": "object",
|
|
754
|
+
"description": "Company or ISP information mapped to the IP address.",
|
|
755
|
+
"properties": {
|
|
756
|
+
"name": {
|
|
757
|
+
"type": "string",
|
|
758
|
+
"description": "Company name mapped to the IP."
|
|
759
|
+
},
|
|
760
|
+
"type": {
|
|
761
|
+
"type": "string",
|
|
762
|
+
"description": "Company category (ISP, HOSTING, BUSINESS, etc.)."
|
|
763
|
+
},
|
|
764
|
+
"domain": {
|
|
765
|
+
"type": "string",
|
|
766
|
+
"description": "Company domain name."
|
|
767
|
+
}
|
|
768
|
+
}
|
|
769
|
+
},
|
|
770
|
+
"Currency": {
|
|
771
|
+
"type": "object",
|
|
772
|
+
"description": "Currency information for the IP's country.",
|
|
773
|
+
"properties": {
|
|
774
|
+
"code": {
|
|
775
|
+
"type": "string",
|
|
776
|
+
"description": "Currency code (ISO 4217)."
|
|
777
|
+
},
|
|
778
|
+
"name": {
|
|
779
|
+
"type": "string",
|
|
780
|
+
"description": "Currency name (ISO 4217)."
|
|
781
|
+
},
|
|
782
|
+
"symbol": {
|
|
783
|
+
"type": "string",
|
|
784
|
+
"description": "Currency symbol."
|
|
785
|
+
}
|
|
786
|
+
}
|
|
787
|
+
},
|
|
788
|
+
"Security": {
|
|
789
|
+
"type": "object",
|
|
790
|
+
"description": "Threat intelligence and security information for the IP.",
|
|
791
|
+
"required": [
|
|
792
|
+
"threat_score",
|
|
793
|
+
"is_tor",
|
|
794
|
+
"is_proxy",
|
|
795
|
+
"proxy_confidence_score",
|
|
796
|
+
"is_residential_proxy",
|
|
797
|
+
"is_vpn",
|
|
798
|
+
"vpn_confidence_score",
|
|
799
|
+
"is_relay",
|
|
800
|
+
"is_anonymous",
|
|
801
|
+
"is_known_attacker",
|
|
802
|
+
"is_bot",
|
|
803
|
+
"is_spam",
|
|
804
|
+
"is_cloud_provider"
|
|
805
|
+
],
|
|
806
|
+
"properties": {
|
|
807
|
+
"threat_score": {
|
|
808
|
+
"type": "number",
|
|
809
|
+
"description": "Aggregate risk score from 0 to 100."
|
|
810
|
+
},
|
|
811
|
+
"is_tor": {
|
|
812
|
+
"type": "boolean",
|
|
813
|
+
"description": "true if the IP matches a Tor exit node."
|
|
814
|
+
},
|
|
815
|
+
"is_proxy": {
|
|
816
|
+
"type": "boolean",
|
|
817
|
+
"description": "true if the IP is associated with a proxy service."
|
|
818
|
+
},
|
|
819
|
+
"proxy_provider_names": {
|
|
820
|
+
"type": "array",
|
|
821
|
+
"items": {
|
|
822
|
+
"type": "string"
|
|
823
|
+
},
|
|
824
|
+
"description": "Detected proxy provider names."
|
|
825
|
+
},
|
|
826
|
+
"proxy_confidence_score": {
|
|
827
|
+
"type": "number",
|
|
828
|
+
"description": "Proxy detection confidence from 0 to 100."
|
|
829
|
+
},
|
|
830
|
+
"proxy_last_seen": {
|
|
831
|
+
"type": "string",
|
|
832
|
+
"description": "Last observed proxy activity date in YYYY-MM-DD."
|
|
833
|
+
},
|
|
834
|
+
"is_residential_proxy": {
|
|
835
|
+
"type": "boolean",
|
|
836
|
+
"description": "true if the IP is linked to a residential proxy network."
|
|
837
|
+
},
|
|
838
|
+
"is_vpn": {
|
|
839
|
+
"type": "boolean",
|
|
840
|
+
"description": "true if the IP is associated with a VPN service."
|
|
841
|
+
},
|
|
842
|
+
"vpn_provider_names": {
|
|
843
|
+
"type": "array",
|
|
844
|
+
"items": {
|
|
845
|
+
"type": "string"
|
|
846
|
+
},
|
|
847
|
+
"description": "Detected VPN provider names."
|
|
848
|
+
},
|
|
849
|
+
"vpn_confidence_score": {
|
|
850
|
+
"type": "number",
|
|
851
|
+
"description": "VPN detection confidence from 0 to 100."
|
|
852
|
+
},
|
|
853
|
+
"vpn_last_seen": {
|
|
854
|
+
"type": "string",
|
|
855
|
+
"description": "Last observed VPN activity date in YYYY-MM-DD."
|
|
856
|
+
},
|
|
857
|
+
"is_relay": {
|
|
858
|
+
"type": "boolean",
|
|
859
|
+
"description": "true if the IP is associated with a relay network."
|
|
860
|
+
},
|
|
861
|
+
"relay_provider_name": {
|
|
862
|
+
"type": "string",
|
|
863
|
+
"description": "Relay provider name."
|
|
864
|
+
},
|
|
865
|
+
"is_anonymous": {
|
|
866
|
+
"type": "boolean",
|
|
867
|
+
"description": "true if any anonymity signal is present."
|
|
868
|
+
},
|
|
869
|
+
"is_known_attacker": {
|
|
870
|
+
"type": "boolean",
|
|
871
|
+
"description": "true if the IP is flagged for known attacker behavior."
|
|
872
|
+
},
|
|
873
|
+
"is_bot": {
|
|
874
|
+
"type": "boolean",
|
|
875
|
+
"description": "true if the IP is associated with bot activity."
|
|
876
|
+
},
|
|
877
|
+
"is_spam": {
|
|
878
|
+
"type": "boolean",
|
|
879
|
+
"description": "true if the IP is associated with spam activity."
|
|
880
|
+
},
|
|
881
|
+
"is_cloud_provider": {
|
|
882
|
+
"type": "boolean",
|
|
883
|
+
"description": "true if the IP belongs to a cloud provider range."
|
|
884
|
+
},
|
|
885
|
+
"cloud_provider_name": {
|
|
886
|
+
"type": "string",
|
|
887
|
+
"description": "Cloud provider name."
|
|
888
|
+
}
|
|
889
|
+
}
|
|
890
|
+
},
|
|
891
|
+
"Abuse": {
|
|
892
|
+
"type": "object",
|
|
893
|
+
"description": "Abuse contact information for the IP.",
|
|
894
|
+
"properties": {
|
|
895
|
+
"route": {
|
|
896
|
+
"type": "string",
|
|
897
|
+
"description": "Abuse-handling IP range in CIDR notation."
|
|
898
|
+
},
|
|
899
|
+
"country": {
|
|
900
|
+
"type": "string",
|
|
901
|
+
"description": "ISO 3166-1 alpha-2 country code of the abuse contact."
|
|
902
|
+
},
|
|
903
|
+
"name": {
|
|
904
|
+
"type": "string",
|
|
905
|
+
"description": "Display name for the abuse contact."
|
|
906
|
+
},
|
|
907
|
+
"organization": {
|
|
908
|
+
"type": "string",
|
|
909
|
+
"description": "Organization name for the abuse contact."
|
|
910
|
+
},
|
|
911
|
+
"kind": {
|
|
912
|
+
"type": "string",
|
|
913
|
+
"description": "Contact type: group or individual."
|
|
914
|
+
},
|
|
915
|
+
"address": {
|
|
916
|
+
"type": "string",
|
|
917
|
+
"description": "Registered address of the organization owning the IP."
|
|
918
|
+
},
|
|
919
|
+
"emails": {
|
|
920
|
+
"type": "array",
|
|
921
|
+
"items": {
|
|
922
|
+
"type": "string"
|
|
923
|
+
},
|
|
924
|
+
"description": "Abuse contact email addresses."
|
|
925
|
+
},
|
|
926
|
+
"phone_numbers": {
|
|
927
|
+
"type": "array",
|
|
928
|
+
"items": {
|
|
929
|
+
"type": "string"
|
|
930
|
+
},
|
|
931
|
+
"description": "Abuse contact phone numbers."
|
|
932
|
+
}
|
|
933
|
+
}
|
|
934
|
+
},
|
|
935
|
+
"DstTransition": {
|
|
936
|
+
"type": "object",
|
|
937
|
+
"description": "DST transition details (used for both the DST start and DST end transitions).",
|
|
938
|
+
"properties": {
|
|
939
|
+
"utc_time": {
|
|
940
|
+
"type": "string",
|
|
941
|
+
"description": "DST transition moment in UTC."
|
|
942
|
+
},
|
|
943
|
+
"duration": {
|
|
944
|
+
"type": "string",
|
|
945
|
+
"description": "Clock change at the DST transition, in hours."
|
|
946
|
+
},
|
|
947
|
+
"gap": {
|
|
948
|
+
"type": "boolean",
|
|
949
|
+
"description": "true if local time jumps forward (some times do not exist)."
|
|
950
|
+
},
|
|
951
|
+
"date_time_after": {
|
|
952
|
+
"type": "string",
|
|
953
|
+
"description": "Local date/time immediately after the DST transition."
|
|
954
|
+
},
|
|
955
|
+
"date_time_before": {
|
|
956
|
+
"type": "string",
|
|
957
|
+
"description": "Local date/time immediately before the DST transition."
|
|
958
|
+
},
|
|
959
|
+
"overlap": {
|
|
960
|
+
"type": "boolean",
|
|
961
|
+
"description": "true if local times repeat around the DST transition."
|
|
962
|
+
}
|
|
963
|
+
}
|
|
964
|
+
},
|
|
965
|
+
"TimeZone": {
|
|
966
|
+
"type": "object",
|
|
967
|
+
"description": "Time zone information for the IP's location.",
|
|
968
|
+
"required": [
|
|
969
|
+
"name",
|
|
970
|
+
"offset",
|
|
971
|
+
"offset_with_dst",
|
|
972
|
+
"current_time",
|
|
973
|
+
"current_time_unix",
|
|
974
|
+
"is_dst",
|
|
975
|
+
"dst_savings",
|
|
976
|
+
"dst_exists"
|
|
977
|
+
],
|
|
978
|
+
"properties": {
|
|
979
|
+
"name": {
|
|
980
|
+
"type": "string",
|
|
981
|
+
"description": "Time zone in IANA TZDB format."
|
|
982
|
+
},
|
|
983
|
+
"offset": {
|
|
984
|
+
"type": "number",
|
|
985
|
+
"format": "float",
|
|
986
|
+
"description": "Standard time UTC offset in hours."
|
|
987
|
+
},
|
|
988
|
+
"offset_with_dst": {
|
|
989
|
+
"type": "number",
|
|
990
|
+
"format": "float",
|
|
991
|
+
"description": "Current effective UTC offset in hours, including DST."
|
|
992
|
+
},
|
|
993
|
+
"current_time": {
|
|
994
|
+
"type": "string",
|
|
995
|
+
"description": "Local date/time in YYYY-MM-DD HH:mm:ss.SSS±ZZZZ format."
|
|
996
|
+
},
|
|
997
|
+
"current_time_unix": {
|
|
998
|
+
"type": "number",
|
|
999
|
+
"format": "float",
|
|
1000
|
+
"description": "Local time as Unix epoch seconds."
|
|
1001
|
+
},
|
|
1002
|
+
"current_tz_abbreviation": {
|
|
1003
|
+
"type": "string",
|
|
1004
|
+
"description": "Current time zone abbreviation."
|
|
1005
|
+
},
|
|
1006
|
+
"current_tz_full_name": {
|
|
1007
|
+
"type": "string",
|
|
1008
|
+
"description": "Current time zone full name."
|
|
1009
|
+
},
|
|
1010
|
+
"standard_tz_abbreviation": {
|
|
1011
|
+
"type": "string",
|
|
1012
|
+
"description": "Standard (non-DST) abbreviation."
|
|
1013
|
+
},
|
|
1014
|
+
"standard_tz_full_name": {
|
|
1015
|
+
"type": "string",
|
|
1016
|
+
"description": "Standard (non-DST) full name."
|
|
1017
|
+
},
|
|
1018
|
+
"is_dst": {
|
|
1019
|
+
"type": "boolean",
|
|
1020
|
+
"description": "true if DST is active."
|
|
1021
|
+
},
|
|
1022
|
+
"dst_savings": {
|
|
1023
|
+
"type": "number",
|
|
1024
|
+
"format": "float",
|
|
1025
|
+
"description": "DST shift amount in hours."
|
|
1026
|
+
},
|
|
1027
|
+
"dst_exists": {
|
|
1028
|
+
"type": "boolean",
|
|
1029
|
+
"description": "true if the time zone observes DST."
|
|
1030
|
+
},
|
|
1031
|
+
"dst_tz_abbreviation": {
|
|
1032
|
+
"type": "string",
|
|
1033
|
+
"description": "DST abbreviation when DST is active."
|
|
1034
|
+
},
|
|
1035
|
+
"dst_tz_full_name": {
|
|
1036
|
+
"type": "string",
|
|
1037
|
+
"description": "DST full name when DST is active."
|
|
1038
|
+
},
|
|
1039
|
+
"dst_start": {
|
|
1040
|
+
"$ref": "#/components/schemas/DstTransition"
|
|
1041
|
+
},
|
|
1042
|
+
"dst_end": {
|
|
1043
|
+
"$ref": "#/components/schemas/DstTransition"
|
|
1044
|
+
}
|
|
1045
|
+
}
|
|
1046
|
+
},
|
|
1047
|
+
"Device": {
|
|
1048
|
+
"type": "object",
|
|
1049
|
+
"description": "Device details.",
|
|
1050
|
+
"properties": {
|
|
1051
|
+
"name": {
|
|
1052
|
+
"type": "string",
|
|
1053
|
+
"description": "Detected device label."
|
|
1054
|
+
},
|
|
1055
|
+
"type": {
|
|
1056
|
+
"type": "string",
|
|
1057
|
+
"description": "Device category (Desktop, Mobile, Tablet, Bot)."
|
|
1058
|
+
},
|
|
1059
|
+
"brand": {
|
|
1060
|
+
"type": "string",
|
|
1061
|
+
"description": "Device vendor/brand."
|
|
1062
|
+
},
|
|
1063
|
+
"cpu": {
|
|
1064
|
+
"type": "string",
|
|
1065
|
+
"description": "CPU / architecture string."
|
|
1066
|
+
}
|
|
1067
|
+
}
|
|
1068
|
+
},
|
|
1069
|
+
"Engine": {
|
|
1070
|
+
"type": "object",
|
|
1071
|
+
"description": "Rendering engine details.",
|
|
1072
|
+
"properties": {
|
|
1073
|
+
"name": {
|
|
1074
|
+
"type": "string",
|
|
1075
|
+
"description": "Rendering engine name."
|
|
1076
|
+
},
|
|
1077
|
+
"type": {
|
|
1078
|
+
"type": "string",
|
|
1079
|
+
"description": "Engine category."
|
|
1080
|
+
},
|
|
1081
|
+
"version": {
|
|
1082
|
+
"type": "string",
|
|
1083
|
+
"description": "Full engine version string."
|
|
1084
|
+
},
|
|
1085
|
+
"version_major": {
|
|
1086
|
+
"type": "string",
|
|
1087
|
+
"description": "Major engine version."
|
|
1088
|
+
}
|
|
1089
|
+
}
|
|
1090
|
+
},
|
|
1091
|
+
"OperatingSystem": {
|
|
1092
|
+
"type": "object",
|
|
1093
|
+
"description": "Operating system details.",
|
|
1094
|
+
"properties": {
|
|
1095
|
+
"name": {
|
|
1096
|
+
"type": "string",
|
|
1097
|
+
"description": "Operating system name."
|
|
1098
|
+
},
|
|
1099
|
+
"type": {
|
|
1100
|
+
"type": "string",
|
|
1101
|
+
"description": "OS category (Desktop, Mobile, Server)."
|
|
1102
|
+
},
|
|
1103
|
+
"version": {
|
|
1104
|
+
"type": "string",
|
|
1105
|
+
"description": "OS version string."
|
|
1106
|
+
},
|
|
1107
|
+
"version_major": {
|
|
1108
|
+
"type": "string",
|
|
1109
|
+
"description": "Major OS version."
|
|
1110
|
+
},
|
|
1111
|
+
"build": {
|
|
1112
|
+
"type": "string",
|
|
1113
|
+
"description": "OS build identifier."
|
|
1114
|
+
}
|
|
1115
|
+
}
|
|
1116
|
+
},
|
|
1117
|
+
"UserAgent": {
|
|
1118
|
+
"type": "object",
|
|
1119
|
+
"description": "Parsed User-Agent details from the request.",
|
|
1120
|
+
"properties": {
|
|
1121
|
+
"user_agent_string": {
|
|
1122
|
+
"type": "string",
|
|
1123
|
+
"description": "Raw User-Agent string used for parsing."
|
|
1124
|
+
},
|
|
1125
|
+
"name": {
|
|
1126
|
+
"type": "string",
|
|
1127
|
+
"description": "Detected user agent product name."
|
|
1128
|
+
},
|
|
1129
|
+
"type": {
|
|
1130
|
+
"type": "string",
|
|
1131
|
+
"description": "User agent category (e.g., Browser, Mobile App, Bot)."
|
|
1132
|
+
},
|
|
1133
|
+
"version": {
|
|
1134
|
+
"type": "string",
|
|
1135
|
+
"description": "Full product version string."
|
|
1136
|
+
},
|
|
1137
|
+
"version_major": {
|
|
1138
|
+
"type": "string",
|
|
1139
|
+
"description": "Major version extracted from version."
|
|
1140
|
+
},
|
|
1141
|
+
"device": {
|
|
1142
|
+
"$ref": "#/components/schemas/Device"
|
|
1143
|
+
},
|
|
1144
|
+
"engine": {
|
|
1145
|
+
"$ref": "#/components/schemas/Engine"
|
|
1146
|
+
},
|
|
1147
|
+
"operating_system": {
|
|
1148
|
+
"$ref": "#/components/schemas/OperatingSystem"
|
|
1149
|
+
}
|
|
1150
|
+
}
|
|
1151
|
+
}
|
|
1152
|
+
}
|
|
1153
|
+
},
|
|
1154
|
+
"security": [
|
|
1155
|
+
{
|
|
1156
|
+
"ApiKeyAuthHeader": []
|
|
1157
|
+
},
|
|
1158
|
+
{
|
|
1159
|
+
"ApiKeyAuthQuery": []
|
|
1160
|
+
}
|
|
1161
|
+
]
|
|
1162
|
+
}
|