@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,346 @@
|
|
|
1
|
+
{
|
|
2
|
+
"openapi": "3.1.1",
|
|
3
|
+
"info": {
|
|
4
|
+
"title": "User Agent Parser - Parse User Agent into Readable Format",
|
|
5
|
+
"version": "1.0.0",
|
|
6
|
+
"description": "Parse any User-Agent string to obtain detailed browser, device, operating system, and rendering engine information. Returns the browser or application name and version, device hardware details (name, type, brand, CPU), layout engine data, and operating system metadata by default. Supports desktop, mobile, tablet, eReader, game console, and crawler detection across all major platforms. Pass the User-Agent string via the `User-Agent` request header to get a structured JSON response with individual fields for each component. A malformed or unparsable User-Agent string still returns a `200` response with every classification field set to `Hacker` rather than failing the request; a missing or empty `User-Agent` header returns a `400` error instead. Unresolvable version-like fields (`version`, `version_major`, `build`) are returned as the literal string `??` rather than being omitted.",
|
|
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/v1.0",
|
|
16
|
+
"description": "User Agent Parser API Server"
|
|
17
|
+
}
|
|
18
|
+
],
|
|
19
|
+
"paths": {
|
|
20
|
+
"/user-agent/lookup": {
|
|
21
|
+
"get": {
|
|
22
|
+
"tags": ["User Agent APIs"],
|
|
23
|
+
"summary": "Parse a User-Agent string to obtain browser, device, and operating system details",
|
|
24
|
+
"description": "Parse any User-Agent string to obtain detailed information about the browser, device, layout engine, and operating system. Supports desktop, mobile, tablet, and crawler detection.",
|
|
25
|
+
"operationId": "parseUserAgent",
|
|
26
|
+
"parameters": [
|
|
27
|
+
{
|
|
28
|
+
"name": "format",
|
|
29
|
+
"in": "query",
|
|
30
|
+
"required": false,
|
|
31
|
+
"description": "Format of the response. Possible values: json, xml.",
|
|
32
|
+
"schema": {
|
|
33
|
+
"type": "string",
|
|
34
|
+
"enum": ["json", "xml"],
|
|
35
|
+
"default": "json"
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"name": "User-Agent",
|
|
40
|
+
"in": "header",
|
|
41
|
+
"required": true,
|
|
42
|
+
"description": "The User-Agent string to parse for browser, device, and operating system details.",
|
|
43
|
+
"schema": {
|
|
44
|
+
"type": "string"
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
],
|
|
48
|
+
"responses": {
|
|
49
|
+
"200": {
|
|
50
|
+
"description": "Successful response with parsed user agent data",
|
|
51
|
+
"content": {
|
|
52
|
+
"application/json": {
|
|
53
|
+
"schema": {
|
|
54
|
+
"$ref": "#/components/schemas/UserAgentParserResponse"
|
|
55
|
+
},
|
|
56
|
+
"examples": {
|
|
57
|
+
"typicalSuccess": {
|
|
58
|
+
"summary": "Desktop browser User-Agent",
|
|
59
|
+
"value": {
|
|
60
|
+
"user_agent_string": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:142.0) Gecko/20100101 Firefox/142.0",
|
|
61
|
+
"name": "Firefox",
|
|
62
|
+
"type": "Browser",
|
|
63
|
+
"version": "142.0",
|
|
64
|
+
"version_major": "142",
|
|
65
|
+
"device": {
|
|
66
|
+
"name": "Linux Desktop",
|
|
67
|
+
"type": "Desktop",
|
|
68
|
+
"brand": "Unknown",
|
|
69
|
+
"cpu": "Intel x86_64"
|
|
70
|
+
},
|
|
71
|
+
"engine": {
|
|
72
|
+
"name": "Gecko",
|
|
73
|
+
"type": "Browser",
|
|
74
|
+
"version": "142.0",
|
|
75
|
+
"version_major": "142"
|
|
76
|
+
},
|
|
77
|
+
"operating_system": {
|
|
78
|
+
"name": "Ubuntu",
|
|
79
|
+
"type": "Desktop",
|
|
80
|
+
"version": "??",
|
|
81
|
+
"version_major": "??",
|
|
82
|
+
"build": "??"
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
},
|
|
86
|
+
"crawlerUserAgent": {
|
|
87
|
+
"summary": "Search engine crawler User-Agent — Robot/Cloud classification",
|
|
88
|
+
"value": {
|
|
89
|
+
"user_agent_string": "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)",
|
|
90
|
+
"name": "Googlebot",
|
|
91
|
+
"type": "Robot",
|
|
92
|
+
"version": "2.1",
|
|
93
|
+
"version_major": "2",
|
|
94
|
+
"device": {
|
|
95
|
+
"name": "Google",
|
|
96
|
+
"type": "Robot",
|
|
97
|
+
"brand": "Google",
|
|
98
|
+
"cpu": "Unknown"
|
|
99
|
+
},
|
|
100
|
+
"engine": {
|
|
101
|
+
"name": "Googlebot",
|
|
102
|
+
"type": "Robot",
|
|
103
|
+
"version": "??",
|
|
104
|
+
"version_major": "??"
|
|
105
|
+
},
|
|
106
|
+
"operating_system": {
|
|
107
|
+
"name": "Google Cloud",
|
|
108
|
+
"type": "Cloud",
|
|
109
|
+
"version": "??",
|
|
110
|
+
"version_major": "??",
|
|
111
|
+
"build": "??"
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
},
|
|
115
|
+
"unparsableUserAgent": {
|
|
116
|
+
"summary": "Malformed/unparsable User-Agent — still 200, every field set to Hacker",
|
|
117
|
+
"value": {
|
|
118
|
+
"user_agent_string": "asdkjaslkdjaslkdj12312",
|
|
119
|
+
"name": "Hacker",
|
|
120
|
+
"type": "Hacker",
|
|
121
|
+
"version": "Hacker",
|
|
122
|
+
"version_major": "Hacker",
|
|
123
|
+
"device": {
|
|
124
|
+
"name": "Hacker",
|
|
125
|
+
"type": "Hacker",
|
|
126
|
+
"brand": "Hacker",
|
|
127
|
+
"cpu": "Unknown"
|
|
128
|
+
},
|
|
129
|
+
"engine": {
|
|
130
|
+
"name": "Hacker",
|
|
131
|
+
"type": "Hacker",
|
|
132
|
+
"version": "Hacker",
|
|
133
|
+
"version_major": "Hacker"
|
|
134
|
+
},
|
|
135
|
+
"operating_system": {
|
|
136
|
+
"name": "Hacker",
|
|
137
|
+
"type": "Hacker",
|
|
138
|
+
"version": "Hacker",
|
|
139
|
+
"version_major": "Hacker",
|
|
140
|
+
"build": "??"
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
},
|
|
148
|
+
"400": {
|
|
149
|
+
"description": "Bad Request — Missing or empty User-Agent header",
|
|
150
|
+
"content": {
|
|
151
|
+
"application/json": {
|
|
152
|
+
"schema": {
|
|
153
|
+
"$ref": "#/components/schemas/ErrorResponse"
|
|
154
|
+
},
|
|
155
|
+
"examples": {
|
|
156
|
+
"missingHeader": {
|
|
157
|
+
"summary": "User-Agent header missing or empty",
|
|
158
|
+
"value": {
|
|
159
|
+
"error": "Invalid Header Exception",
|
|
160
|
+
"message": "Please provide correct headers",
|
|
161
|
+
"path": "/v1.0/user-agent/lookup",
|
|
162
|
+
"status": 400,
|
|
163
|
+
"timestamp": "2026-07-24T10:12:15.828Z"
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
},
|
|
174
|
+
"components": {
|
|
175
|
+
"securitySchemes": {
|
|
176
|
+
"ApiKeyAuthHeader": {
|
|
177
|
+
"type": "apiKey",
|
|
178
|
+
"in": "header",
|
|
179
|
+
"name": "X-apiKey",
|
|
180
|
+
"description": "Pass your API key via the X-apiKey request header."
|
|
181
|
+
},
|
|
182
|
+
"ApiKeyAuthQuery": {
|
|
183
|
+
"type": "apiKey",
|
|
184
|
+
"in": "query",
|
|
185
|
+
"name": "apiKey",
|
|
186
|
+
"description": "Pass your API key via the apiKey query parameter."
|
|
187
|
+
}
|
|
188
|
+
},
|
|
189
|
+
"schemas": {
|
|
190
|
+
"UserAgentParserResponse": {
|
|
191
|
+
"type": "object",
|
|
192
|
+
"description": "Parsed User-Agent result containing browser, device, engine, and operating system information. When the User-Agent string is malformed or cannot be parsed, every field across this object and its nested device/engine/operating_system objects is set to the literal string \"Hacker\" instead of the request failing.",
|
|
193
|
+
"required": [
|
|
194
|
+
"user_agent_string",
|
|
195
|
+
"name",
|
|
196
|
+
"type",
|
|
197
|
+
"version",
|
|
198
|
+
"version_major",
|
|
199
|
+
"device",
|
|
200
|
+
"engine",
|
|
201
|
+
"operating_system"
|
|
202
|
+
],
|
|
203
|
+
"properties": {
|
|
204
|
+
"user_agent_string": {
|
|
205
|
+
"type": "string",
|
|
206
|
+
"description": "The raw User-Agent string that was parsed for browser, device, and operating system details."
|
|
207
|
+
},
|
|
208
|
+
"name": {
|
|
209
|
+
"type": "string",
|
|
210
|
+
"description": "Name of the browser, crawler, or application identified from the User-Agent string."
|
|
211
|
+
},
|
|
212
|
+
"type": {
|
|
213
|
+
"type": "string",
|
|
214
|
+
"description": "Category of the agent. Possible values: Browser, Browser Webview, Mobile App, Robot Mobile, Cloud Application, Email Client, Voice, Special, Testclient, Hacker, Unknown."
|
|
215
|
+
},
|
|
216
|
+
"version": {
|
|
217
|
+
"type": "string",
|
|
218
|
+
"description": "Full version string of the browser or application. \"??\" when the version could not be determined; \"Hacker\" when the User-Agent string itself is malformed/unparsable."
|
|
219
|
+
},
|
|
220
|
+
"version_major": {
|
|
221
|
+
"type": "string",
|
|
222
|
+
"description": "Major version number extracted from the version string. \"??\" when the version could not be determined; \"Hacker\" when the User-Agent string itself is malformed/unparsable."
|
|
223
|
+
},
|
|
224
|
+
"device": {
|
|
225
|
+
"$ref": "#/components/schemas/Device"
|
|
226
|
+
},
|
|
227
|
+
"engine": {
|
|
228
|
+
"$ref": "#/components/schemas/Engine"
|
|
229
|
+
},
|
|
230
|
+
"operating_system": {
|
|
231
|
+
"$ref": "#/components/schemas/OperatingSystem"
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
},
|
|
235
|
+
"Device": {
|
|
236
|
+
"type": "object",
|
|
237
|
+
"description": "Hardware device information extracted from the User-Agent string.",
|
|
238
|
+
"required": ["name", "type", "brand", "cpu"],
|
|
239
|
+
"properties": {
|
|
240
|
+
"name": {
|
|
241
|
+
"type": "string",
|
|
242
|
+
"description": "Device name or model identifier of the hardware used."
|
|
243
|
+
},
|
|
244
|
+
"type": {
|
|
245
|
+
"type": "string",
|
|
246
|
+
"description": "Device category. Possible values: Desktop, Mobile, Tablet, Phone, Watch, Virtual Reality, eReader, Set-top box, TV, Game Console, Handheld Game Console, Voice, Robot, Robot Mobile, Robot Imitator, Hacker, Anonymized, Unknown."
|
|
247
|
+
},
|
|
248
|
+
"brand": {
|
|
249
|
+
"type": "string",
|
|
250
|
+
"description": "Device manufacturer or brand name."
|
|
251
|
+
},
|
|
252
|
+
"cpu": {
|
|
253
|
+
"type": "string",
|
|
254
|
+
"description": "CPU architecture or model identifier of the device."
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
},
|
|
258
|
+
"Engine": {
|
|
259
|
+
"type": "object",
|
|
260
|
+
"description": "Layout or rendering engine information extracted from the User-Agent string.",
|
|
261
|
+
"required": ["name", "type", "version", "version_major"],
|
|
262
|
+
"properties": {
|
|
263
|
+
"name": {
|
|
264
|
+
"type": "string",
|
|
265
|
+
"description": "Name of the layout or rendering engine (e.g., Blink, Gecko, WebKit)."
|
|
266
|
+
},
|
|
267
|
+
"type": {
|
|
268
|
+
"type": "string",
|
|
269
|
+
"description": "Engine category. Possible values: Browser, Mobile App, Hacker, Robot, Unknown."
|
|
270
|
+
},
|
|
271
|
+
"version": {
|
|
272
|
+
"type": "string",
|
|
273
|
+
"description": "Full version string of the layout engine. \"??\" when unknown; \"Hacker\" when the User-Agent string itself is malformed/unparsable."
|
|
274
|
+
},
|
|
275
|
+
"version_major": {
|
|
276
|
+
"type": "string",
|
|
277
|
+
"description": "Major version number of the layout engine. \"??\" when unknown; \"Hacker\" when the User-Agent string itself is malformed/unparsable."
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
},
|
|
281
|
+
"OperatingSystem": {
|
|
282
|
+
"type": "object",
|
|
283
|
+
"description": "Operating system information extracted from the User-Agent string.",
|
|
284
|
+
"required": ["name", "type", "version", "version_major", "build"],
|
|
285
|
+
"properties": {
|
|
286
|
+
"name": {
|
|
287
|
+
"type": "string",
|
|
288
|
+
"description": "Name of the operating system (e.g., Windows, Android, Ubuntu)."
|
|
289
|
+
},
|
|
290
|
+
"type": {
|
|
291
|
+
"type": "string",
|
|
292
|
+
"description": "Operating system category. Possible values: Desktop, Mobile, Game Console, Embedded, Cloud, Hacker, Anonymized, Unknown."
|
|
293
|
+
},
|
|
294
|
+
"version": {
|
|
295
|
+
"type": "string",
|
|
296
|
+
"description": "Full version string of the operating system. \"??\" when unknown; \"Hacker\" when the User-Agent string itself is malformed/unparsable."
|
|
297
|
+
},
|
|
298
|
+
"version_major": {
|
|
299
|
+
"type": "string",
|
|
300
|
+
"description": "Major version number of the operating system. \"??\" when unknown; \"Hacker\" when the User-Agent string itself is malformed/unparsable."
|
|
301
|
+
},
|
|
302
|
+
"build": {
|
|
303
|
+
"type": "string",
|
|
304
|
+
"description": "Build number or identifier of the operating system. \"??\" when unknown."
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
},
|
|
308
|
+
"ErrorResponse": {
|
|
309
|
+
"type": "object",
|
|
310
|
+
"description": "Standard error envelope returned by the API on failed requests.",
|
|
311
|
+
"required": ["message"],
|
|
312
|
+
"properties": {
|
|
313
|
+
"error": {
|
|
314
|
+
"type": "string",
|
|
315
|
+
"description": "Short error category or exception type."
|
|
316
|
+
},
|
|
317
|
+
"message": {
|
|
318
|
+
"type": "string",
|
|
319
|
+
"description": "Human-readable error message describing the failure."
|
|
320
|
+
},
|
|
321
|
+
"path": {
|
|
322
|
+
"type": "string",
|
|
323
|
+
"description": "API endpoint path that produced the error."
|
|
324
|
+
},
|
|
325
|
+
"status": {
|
|
326
|
+
"type": "integer",
|
|
327
|
+
"description": "HTTP status code returned with the error."
|
|
328
|
+
},
|
|
329
|
+
"timestamp": {
|
|
330
|
+
"type": "string",
|
|
331
|
+
"format": "date-time",
|
|
332
|
+
"description": "Timestamp when the error occurred (ISO 8601)."
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
}
|
|
337
|
+
},
|
|
338
|
+
"security": [
|
|
339
|
+
{
|
|
340
|
+
"ApiKeyAuthHeader": []
|
|
341
|
+
},
|
|
342
|
+
{
|
|
343
|
+
"ApiKeyAuthQuery": []
|
|
344
|
+
}
|
|
345
|
+
]
|
|
346
|
+
}
|