@apifreaks/openapi-specs 0.1.0 → 0.1.1

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