@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.
Files changed (108) hide show
  1. package/dist/index.cjs +133 -2
  2. package/dist/index.d.cts +140 -3
  3. package/dist/index.d.ts +140 -3
  4. package/dist/index.js +131 -2
  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
  108. package/specs/pdf/merge-pdf.json +2 -2
@@ -0,0 +1,310 @@
1
+ openapi: 3.1.1
2
+ info:
3
+ title: Bulk IP Threat Intelligence API Reference
4
+ version: 1.0.0
5
+ description: Retrieve threat intelligence and security profiles for up to 50,000 IP addresses in a single request. Each entry in the response array includes a composite 0-100 threat score plus per-signal flags for VPN, proxy, residential proxy, Tor exit node, bot, spam, and known-attacker activity, along with confidence scores and provider names where available. Use the `fields` and `excludes` query parameters to control which security signals are returned, reducing payload size for bulk workflows. A bad or bogon IP in the batch returns a per-item error object instead of failing the entire request, so you can process mixed-validity inputs in one call.
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: IP Threat Intelligence API Server
13
+ paths:
14
+ /ip/security:
15
+ post:
16
+ tags:
17
+ - IP Geolocation APIs
18
+ summary: Retrieve threat intelligence data for multiple IP addresses in a single request
19
+ description: Get security profiles including threat score, VPN, proxy, Tor, bot, and spam detection for up to 50,000 IPs per request. Each item in the response array corresponds to one requested IP; invalid or bogon IPs return a per-item error object.
20
+ operationId: bulkIpSecurityLookup
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: fields
33
+ in: query
34
+ required: false
35
+ description: Comma-separated list of fields to return. Supports dot notation (e.g. security.threat_score).
36
+ schema:
37
+ type: string
38
+ - name: excludes
39
+ in: query
40
+ required: false
41
+ description: Comma-separated list of fields to remove from the response. Supports dot notation (e.g. security.is_tor).
42
+ schema:
43
+ type: string
44
+ requestBody:
45
+ required: true
46
+ content:
47
+ application/json:
48
+ schema:
49
+ $ref: '#/components/schemas/BulkIpSecurityRequest'
50
+ examples:
51
+ typicalRequest:
52
+ summary: Typical bulk threat intelligence request
53
+ value:
54
+ ips:
55
+ - 8.8.8.8
56
+ - 1.1.1.1
57
+ - 45.33.32.156
58
+ responses:
59
+ '200':
60
+ description: Successful threat intelligence response. The response array always contains one item for each input IP, preserving order; an IP that fails validation (invalid, bogon, reserved, or not found) yields an error item instead of a security result.
61
+ content:
62
+ application/json:
63
+ schema:
64
+ $ref: '#/components/schemas/BulkIpSecurityResponse'
65
+ examples:
66
+ typicalSuccess:
67
+ summary: Typical successful response
68
+ value:
69
+ - ip: 8.8.8.8
70
+ security:
71
+ threat_score: 5
72
+ is_tor: false
73
+ is_proxy: false
74
+ proxy_provider_names: []
75
+ proxy_confidence_score: 0
76
+ proxy_last_seen: ''
77
+ is_residential_proxy: false
78
+ is_vpn: false
79
+ vpn_provider_names: []
80
+ vpn_confidence_score: 0
81
+ vpn_last_seen: ''
82
+ is_relay: false
83
+ relay_provider_name: ''
84
+ is_anonymous: false
85
+ is_known_attacker: false
86
+ is_bot: false
87
+ is_spam: false
88
+ is_cloud_provider: true
89
+ cloud_provider_name: Google LLC
90
+ - ip: 1.1.1.1
91
+ security:
92
+ threat_score: 5
93
+ is_tor: false
94
+ is_proxy: false
95
+ proxy_provider_names: []
96
+ proxy_confidence_score: 0
97
+ proxy_last_seen: ''
98
+ is_residential_proxy: false
99
+ is_vpn: false
100
+ vpn_provider_names: []
101
+ vpn_confidence_score: 0
102
+ vpn_last_seen: ''
103
+ is_relay: false
104
+ relay_provider_name: ''
105
+ is_anonymous: false
106
+ is_known_attacker: false
107
+ is_bot: false
108
+ is_spam: false
109
+ is_cloud_provider: true
110
+ cloud_provider_name: Cloudflare, Inc.
111
+ partialFailure:
112
+ summary: Response with an invalid IP mixed in - that item returns an error object instead of security data
113
+ value:
114
+ - message: Provided IP address 'not-an-ip' is not valid
115
+ - ip: 8.8.8.8
116
+ security:
117
+ threat_score: 5
118
+ is_tor: false
119
+ is_proxy: false
120
+ proxy_provider_names: []
121
+ proxy_confidence_score: 0
122
+ proxy_last_seen: ''
123
+ is_residential_proxy: false
124
+ is_vpn: false
125
+ vpn_provider_names: []
126
+ vpn_confidence_score: 0
127
+ vpn_last_seen: ''
128
+ is_relay: false
129
+ relay_provider_name: ''
130
+ is_anonymous: false
131
+ is_known_attacker: false
132
+ is_bot: false
133
+ is_spam: false
134
+ is_cloud_provider: true
135
+ cloud_provider_name: Google LLC
136
+ bogonIp:
137
+ summary: Bogon or reserved IP - returns an error object for that item
138
+ value:
139
+ - message: '''127.0.0.1'' is a bogon IP address.'
140
+ '400':
141
+ description: Bad Request - Missing, empty, or malformed request body
142
+ content:
143
+ application/json:
144
+ schema:
145
+ $ref: '#/components/schemas/ErrorResponse'
146
+ examples:
147
+ invalidRequestBody:
148
+ summary: Missing, empty, or malformed `ips` in the request body
149
+ value:
150
+ error: Invalid request body Exception
151
+ message: Please provide data in required format in request body
152
+ path: /v1.0/ip/security
153
+ status: 400
154
+ timestamp: '2026-07-22T14:03:26.577Z'
155
+ components:
156
+ securitySchemes:
157
+ ApiKeyAuthHeader:
158
+ type: apiKey
159
+ in: header
160
+ name: X-apiKey
161
+ description: Pass your API key via the X-apiKey request header.
162
+ ApiKeyAuthQuery:
163
+ type: apiKey
164
+ in: query
165
+ name: apiKey
166
+ description: Pass your API key via the apiKey query parameter.
167
+ schemas:
168
+ BulkIpSecurityRequest:
169
+ type: object
170
+ required:
171
+ - ips
172
+ description: Request body for bulk IP threat intelligence lookup.
173
+ properties:
174
+ ips:
175
+ type: array
176
+ description: List of 1–50,000 IPv4 and/or IPv6 addresses to look up for threat intelligence data.
177
+ maxItems: 50000
178
+ items:
179
+ type: string
180
+ ErrorResponse:
181
+ type: object
182
+ required:
183
+ - message
184
+ properties:
185
+ error:
186
+ type: string
187
+ description: Short error category or exception type.
188
+ message:
189
+ type: string
190
+ description: Human-readable error message describing the failure.
191
+ path:
192
+ type: string
193
+ description: API endpoint path that produced the error.
194
+ status:
195
+ type: integer
196
+ description: HTTP status code returned with the error.
197
+ timestamp:
198
+ type: string
199
+ format: date-time
200
+ description: Timestamp when the error occurred (ISO 8601).
201
+ BulkIpSecurityItemError:
202
+ type: object
203
+ description: Per-item error, returned in place of a security result when an individual IP is invalid, bogon/reserved, or not found in the database.
204
+ required:
205
+ - message
206
+ properties:
207
+ message:
208
+ type: string
209
+ description: Human-readable reason this IP could not be resolved.
210
+ BulkIpSecurityResultItem:
211
+ type: object
212
+ description: Threat intelligence result for one successfully resolved IP address.
213
+ required:
214
+ - ip
215
+ - security
216
+ properties:
217
+ ip:
218
+ type: string
219
+ description: The IP address used for the lookup (IPv4 or IPv6).
220
+ security:
221
+ $ref: '#/components/schemas/Security'
222
+ BulkIpSecurityResponse:
223
+ type: array
224
+ description: Array of per-IP results, one entry per requested IP, in the same order as the request. Each entry is either a security result or, if that IP could not be resolved, an error object.
225
+ items:
226
+ oneOf:
227
+ - $ref: '#/components/schemas/BulkIpSecurityResultItem'
228
+ - $ref: '#/components/schemas/BulkIpSecurityItemError'
229
+ Security:
230
+ type: object
231
+ description: Threat intelligence and security information for the IP.
232
+ required:
233
+ - threat_score
234
+ - is_tor
235
+ - is_proxy
236
+ - proxy_confidence_score
237
+ - is_residential_proxy
238
+ - is_vpn
239
+ - vpn_confidence_score
240
+ - is_relay
241
+ - is_anonymous
242
+ - is_known_attacker
243
+ - is_bot
244
+ - is_spam
245
+ - is_cloud_provider
246
+ properties:
247
+ threat_score:
248
+ type: number
249
+ description: Overall threat score for the IP address. Ranges from 0 to 100. 100 indicates the highest risk.
250
+ is_tor:
251
+ type: boolean
252
+ description: Indicates whether the IP is a Tor exit node.
253
+ is_proxy:
254
+ type: boolean
255
+ description: Indicates whether the IP is associated with a proxy network.
256
+ proxy_provider_names:
257
+ type: array
258
+ description: List of detected proxy provider names, when available.
259
+ items:
260
+ type: string
261
+ proxy_confidence_score:
262
+ type: number
263
+ description: Confidence score (0-100) for proxy detection, when flag is true. Defaults to 0.
264
+ proxy_last_seen:
265
+ type: string
266
+ description: Last seen date (YYYY-MM-DD) for proxy activity, when available.
267
+ is_residential_proxy:
268
+ type: boolean
269
+ description: Indicates whether the IP is associated with a residential proxy network.
270
+ is_vpn:
271
+ type: boolean
272
+ description: Indicates whether the IP is associated with a VPN network.
273
+ vpn_provider_names:
274
+ type: array
275
+ description: List of detected VPN provider names, when available.
276
+ items:
277
+ type: string
278
+ vpn_confidence_score:
279
+ type: number
280
+ description: Confidence score (0-100) for VPN detection, when flag is true. Defaults to 0.
281
+ vpn_last_seen:
282
+ type: string
283
+ description: Last seen date (YYYY-MM-DD) for VPN activity, when available.
284
+ is_relay:
285
+ type: boolean
286
+ description: Indicates whether the IP is associated with a relay network.
287
+ relay_provider_name:
288
+ type: string
289
+ description: Relay provider name, when available.
290
+ is_anonymous:
291
+ type: boolean
292
+ description: Indicates whether the IP is anonymous. True if VPN, proxy, Tor, or relay is detected.
293
+ is_known_attacker:
294
+ type: boolean
295
+ description: Indicates whether the IP is flagged for known attacker behavior.
296
+ is_bot:
297
+ type: boolean
298
+ description: Indicates whether the IP is associated with bot activity.
299
+ is_spam:
300
+ type: boolean
301
+ description: Indicates whether the IP is associated with spam activity.
302
+ is_cloud_provider:
303
+ type: boolean
304
+ description: Indicates whether the IP belongs to a cloud provider.
305
+ cloud_provider_name:
306
+ type: string
307
+ description: Name of the cloud provider, if the IP address belongs to a cloud provider.
308
+ security:
309
+ - ApiKeyAuthHeader: []
310
+ - ApiKeyAuthQuery: []