@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,262 @@
1
+ openapi: 3.1.1
2
+ info:
3
+ title: Find All ZIP Codes within a Radius - ZIP Code Radius Search API
4
+ version: 1.0.0
5
+ description: Find all ZIP or postal codes within a given radius from a central ZIP code or GPS coordinates. Supports pagination with up to 500 results per page and multiple distance units (km, mi, yd, m, ft, in). The central point can be specified by ZIP code plus country, or by latitude/longitude coordinates. Returns code, region, city, district, and distance for each matching postal code within the radius, sorted nearest-first. Maximum radius is 100 km (or the equivalent in other units).
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: ZIP Code Radius Search API Server
13
+ paths:
14
+ /zipcode/search/radius:
15
+ get:
16
+ tags:
17
+ - ZIP Code APIs
18
+ summary: Find ZIP/postal codes within a radius
19
+ description: Returns every ZIP/postal code within the given radius of a center point, specified either by code plus country or by latitude/longitude coordinates.
20
+ operationId: searchZipByRadius
21
+ parameters:
22
+ - name: format
23
+ in: query
24
+ required: false
25
+ schema:
26
+ type: string
27
+ enum:
28
+ - json
29
+ - xml
30
+ default: json
31
+ description: 'Format of the response. Possible values: json, xml.'
32
+ - name: code
33
+ in: query
34
+ required: false
35
+ schema:
36
+ type: string
37
+ description: Postal/ZIP code to use as the center point for the search. Requires country to be set. Alternative to lat/long.
38
+ - name: lat
39
+ in: query
40
+ required: false
41
+ schema:
42
+ type: number
43
+ format: float
44
+ description: Latitude coordinate for the center point. Alternative to code/country.
45
+ - name: long
46
+ in: query
47
+ required: false
48
+ schema:
49
+ type: number
50
+ format: float
51
+ description: Longitude coordinate for the center point. Alternative to code/country.
52
+ - name: country
53
+ in: query
54
+ required: false
55
+ schema:
56
+ type: string
57
+ description: Country code in ISO 3166-1 alpha-2 format. Required only when using the code parameter.
58
+ - name: radius
59
+ in: query
60
+ required: true
61
+ schema:
62
+ type: number
63
+ format: float
64
+ description: 'Search radius for the query. The maximum allowed values are: 100 km, 100 mi, 109361 yd, 100000 m, 328084 ft, 3937007.75 in.'
65
+ - name: unit
66
+ in: query
67
+ required: false
68
+ schema:
69
+ type: string
70
+ default: km
71
+ enum:
72
+ - m
73
+ - km
74
+ - mi
75
+ - ft
76
+ - yd
77
+ - in
78
+ description: Unit for the radius and returned distance values. Supported distance units are m, km, mi, ft, yd, in.
79
+ - name: page
80
+ in: query
81
+ required: false
82
+ schema:
83
+ type: integer
84
+ default: 1
85
+ minimum: 1
86
+ description: Page number to retrieve. Each page returns up to 500 results.
87
+ responses:
88
+ '200':
89
+ description: ZIP/postal codes found within the specified radius
90
+ content:
91
+ application/json:
92
+ schema:
93
+ $ref: '#/components/schemas/ZipcodeSearchRadiusResponse'
94
+ examples:
95
+ success:
96
+ summary: Codes within radius, nearest first
97
+ value:
98
+ total_results: 64
99
+ total_pages: 1
100
+ current_page: 1
101
+ current_page_size: 64
102
+ results:
103
+ - code: '90077'
104
+ region: California
105
+ region_code: CA
106
+ city: Los Angeles
107
+ district: Los Angeles (Los Angeles)
108
+ distance: 3.335
109
+ - code: '90069'
110
+ region: California
111
+ region_code: CA
112
+ city: Los Angeles
113
+ district: West Hollywood (West Hollywood)
114
+ distance: 3.403
115
+ '400':
116
+ description: Bad Request — Missing/invalid radius, coordinates, or country code
117
+ content:
118
+ application/json:
119
+ schema:
120
+ $ref: '#/components/schemas/ErrorResponse'
121
+ examples:
122
+ MissingRadius:
123
+ summary: Missing required radius parameter
124
+ value:
125
+ error: Invalid Param Exception
126
+ message: please pass correct parameters
127
+ path: /v1.0/zipcode/search/radius
128
+ status: 400
129
+ timestamp: '2026-07-27T11:19:37.382Z'
130
+ InvalidRadius:
131
+ summary: radius exceeds the maximum allowed for the given unit
132
+ value:
133
+ timestamp: '2026-07-27T11:19:46.342Z'
134
+ path: /v1.0/zipcode/search/radius
135
+ status: 400
136
+ error: Invalid Radius Range
137
+ message: The specified radius is out of the acceptable range. Please check the documentation for valid radius limits.
138
+ BadLat:
139
+ summary: lat is outside -90 to 90
140
+ value:
141
+ timestamp: '2026-07-27T11:19:46.876Z'
142
+ path: /v1.0/zipcode/search/radius
143
+ status: 400
144
+ error: Invalid Latitude
145
+ message: Latitude must be between -90 and 90.
146
+ BadCountry:
147
+ summary: country is not a valid ISO 3166-1 alpha-2 code
148
+ value:
149
+ timestamp: '2026-07-27T11:19:47.407Z'
150
+ path: /v1.0/zipcode/search/radius
151
+ status: 400
152
+ error: Invalid Country Code Provided
153
+ message: Only ISO 3166-1 alpha-2 codes country codes are supported.
154
+ '404':
155
+ description: Not Found — Base ZIP/postal code does not exist
156
+ content:
157
+ application/json:
158
+ schema:
159
+ $ref: '#/components/schemas/ErrorResponse'
160
+ examples:
161
+ BaseNotFound:
162
+ summary: code is not a recognized postal/ZIP code
163
+ value:
164
+ timestamp: '2026-07-27T11:19:47.940Z'
165
+ path: /v1.0/zipcode/search/radius
166
+ status: 404
167
+ error: Base Postal/Zip Code Not Found
168
+ message: The provided base postal/zip code does not exist in our database.
169
+ components:
170
+ securitySchemes:
171
+ ApiKeyAuthHeader:
172
+ type: apiKey
173
+ in: header
174
+ name: X-apiKey
175
+ description: Pass your API key via the X-apiKey request header.
176
+ ApiKeyAuthQuery:
177
+ type: apiKey
178
+ in: query
179
+ name: apiKey
180
+ description: Pass your API key via the apiKey query parameter.
181
+ schemas:
182
+ ZipcodeSearchRadiusResponse:
183
+ type: object
184
+ description: ZIP code radius search result with pagination metadata and an array of matching codes within the specified radius.
185
+ required:
186
+ - total_results
187
+ - total_pages
188
+ - current_page
189
+ - current_page_size
190
+ - results
191
+ properties:
192
+ total_results:
193
+ type: integer
194
+ description: Total number of ZIP/postal codes found within the radius, across all pages.
195
+ total_pages:
196
+ type: integer
197
+ description: Total number of pages available.
198
+ current_page:
199
+ type: integer
200
+ description: Current page number.
201
+ current_page_size:
202
+ type: integer
203
+ description: Number of ZIP/postal codes returned on the current page (up to 500).
204
+ results:
205
+ type: array
206
+ description: Array of matching ZIP/postal codes for the current page, sorted nearest-first by distance.
207
+ items:
208
+ $ref: '#/components/schemas/ZipRadiusResultItem'
209
+ ZipRadiusResultItem:
210
+ type: object
211
+ description: A ZIP code result within the search radius, including distance from the center point.
212
+ required:
213
+ - code
214
+ - region
215
+ - region_code
216
+ - city
217
+ - distance
218
+ properties:
219
+ code:
220
+ type: string
221
+ description: Postal/ZIP code of the matched location.
222
+ region:
223
+ type: string
224
+ description: Region, state, or province associated with the postal code.
225
+ region_code:
226
+ type: string
227
+ description: Region code or abbreviation.
228
+ city:
229
+ type: string
230
+ description: City associated with the postal code.
231
+ district:
232
+ type: string
233
+ description: District or neighborhood associated with the postal code. Can be an empty string when no district-level data exists.
234
+ distance:
235
+ type: number
236
+ format: float
237
+ description: Distance from the center point to this postal code, in the unit specified by the unit parameter.
238
+ ErrorResponse:
239
+ type: object
240
+ description: Standard error envelope returned by the API on failed requests.
241
+ required:
242
+ - message
243
+ properties:
244
+ error:
245
+ type: string
246
+ description: Short error category or exception type.
247
+ message:
248
+ type: string
249
+ description: Human-readable error message describing the failure.
250
+ path:
251
+ type: string
252
+ description: API endpoint path that produced the error.
253
+ status:
254
+ type: integer
255
+ description: HTTP status code returned with the error.
256
+ timestamp:
257
+ type: string
258
+ format: date-time
259
+ description: Timestamp when the error occurred (ISO 8601).
260
+ security:
261
+ - ApiKeyAuthHeader: []
262
+ - ApiKeyAuthQuery: []
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@apifreaks/openapi-specs",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "description": "Public OpenAPI 3.1 specifications for all APIFreaks API products.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -13,6 +13,7 @@
13
13
  "require": "./dist/index.cjs"
14
14
  },
15
15
  "./specs/*.json": "./specs/*.json",
16
+ "./specs/*.yaml": "./dist/specs/*.yaml",
16
17
  "./package.json": "./package.json"
17
18
  },
18
19
  "files": [
@@ -21,7 +22,8 @@
21
22
  ],
22
23
  "scripts": {
23
24
  "generate": "tsx scripts/generate-manifest.ts",
24
- "build": "npm run generate && tsup src/index.ts --format esm,cjs --dts --clean --tsconfig tsconfig.build.json",
25
+ "generate:yaml": "tsx scripts/generate-yaml.ts",
26
+ "build": "npm run generate && tsup src/index.ts --format esm,cjs --dts --clean --tsconfig tsconfig.build.json && npm run generate:yaml",
25
27
  "typecheck": "tsc --noEmit",
26
28
  "test": "tsx --test test/validate.test.ts",
27
29
  "bump:patch": "npm test && npm version patch --git-tag-version && git push --follow-tags",
@@ -73,7 +75,9 @@
73
75
  "node": ">=18"
74
76
  },
75
77
  "devDependencies": {
78
+ "@types/js-yaml": "^4.0.9",
76
79
  "@types/node": "^26.1.1",
80
+ "js-yaml": "^5.2.2",
77
81
  "tsup": "^8.0.0",
78
82
  "tsx": "^4.19.0",
79
83
  "typescript": "^5.7.0"
@@ -2,8 +2,8 @@
2
2
  "openapi": "3.1.1",
3
3
  "info": {
4
4
  "title": "Merge PDF API - Instantly Combine PDFs at Scale",
5
- "version": "1.0.0",
6
- "description": "Merge multiple PDF files into a single PDF document in the order they are provided. Accepts up to 100 files per request via file upload or existing file IDs. Returns a task ID for tracking the merge progress.",
5
+ "version": "1.0.1",
6
+ "description": "Merge multiple PDF files into a single PDF document in the order they are provided. Accepts input files up to 1GB in size via file upload or existing file IDs. Returns a task ID for tracking the merge progress.",
7
7
  "contact": {
8
8
  "name": "APIFreaks Support",
9
9
  "url": "https://apifreaks.com/contact",