builtwith-api 1.0.8 → 3.2.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/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +796 -0
- package/dist/cli.js.map +18 -0
- package/dist/commands.d.ts +16 -0
- package/dist/commands.d.ts.map +1 -0
- package/dist/commands.js +162 -0
- package/dist/commands.js.map +10 -0
- package/dist/config.d.ts +8 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/errors.d.ts +2 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +22 -0
- package/dist/errors.js.map +10 -0
- package/dist/format.d.ts +2 -0
- package/dist/format.d.ts.map +1 -0
- package/dist/index.d.ts +29 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +469 -0
- package/dist/index.js.map +14 -0
- package/dist/params.d.ts +9 -0
- package/dist/params.d.ts.map +1 -0
- package/dist/request.d.ts +5 -0
- package/dist/request.d.ts.map +1 -0
- package/dist/schemas.d.ts +470 -0
- package/dist/schemas.d.ts.map +1 -0
- package/package.json +48 -14
- package/README.md +0 -100
- package/src/config.js +0 -7
- package/src/index.js +0 -244
- package/src/index.test.js +0 -90
- package/src/utils.js +0 -54
|
@@ -0,0 +1,470 @@
|
|
|
1
|
+
import { z } from "zod/v4";
|
|
2
|
+
/** Supported API response formats. */
|
|
3
|
+
export declare const ResponseFormatSchema: z.ZodEnum<{
|
|
4
|
+
xml: "xml";
|
|
5
|
+
json: "json";
|
|
6
|
+
txt: "txt";
|
|
7
|
+
csv: "csv";
|
|
8
|
+
tsv: "tsv";
|
|
9
|
+
}>;
|
|
10
|
+
/**
|
|
11
|
+
* Response format returned by the BuiltWith API.
|
|
12
|
+
*
|
|
13
|
+
* - `"json"` — parsed and validated (default)
|
|
14
|
+
* - `"xml"` / `"txt"` / `"csv"` / `"tsv"` — returned as raw strings
|
|
15
|
+
*/
|
|
16
|
+
export type ResponseFormat = z.infer<typeof ResponseFormatSchema>;
|
|
17
|
+
/** Validation schema for {@link ClientOptions}. */
|
|
18
|
+
export declare const ClientOptionsSchema: z.ZodObject<{
|
|
19
|
+
responseFormat: z.ZodOptional<z.ZodEnum<{
|
|
20
|
+
xml: "xml";
|
|
21
|
+
json: "json";
|
|
22
|
+
txt: "txt";
|
|
23
|
+
csv: "csv";
|
|
24
|
+
tsv: "tsv";
|
|
25
|
+
}>>;
|
|
26
|
+
}, z.core.$strict>;
|
|
27
|
+
/**
|
|
28
|
+
* Options passed to `createClient`.
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* ```ts
|
|
32
|
+
* const client = createClient(API_KEY, { responseFormat: "xml" });
|
|
33
|
+
* ```
|
|
34
|
+
*/
|
|
35
|
+
export type ClientOptions = z.infer<typeof ClientOptionsSchema>;
|
|
36
|
+
/** Validation schema for {@link DomainParams}. */
|
|
37
|
+
export declare const DomainParamsSchema: z.ZodObject<{
|
|
38
|
+
hideAll: z.ZodOptional<z.ZodBoolean>;
|
|
39
|
+
hideDescriptionAndLinks: z.ZodOptional<z.ZodBoolean>;
|
|
40
|
+
onlyLiveTechnologies: z.ZodOptional<z.ZodBoolean>;
|
|
41
|
+
noMetaData: z.ZodOptional<z.ZodBoolean>;
|
|
42
|
+
noAttributeData: z.ZodOptional<z.ZodBoolean>;
|
|
43
|
+
noPII: z.ZodOptional<z.ZodBoolean>;
|
|
44
|
+
firstDetectedRange: z.ZodOptional<z.ZodString>;
|
|
45
|
+
lastDetectedRange: z.ZodOptional<z.ZodString>;
|
|
46
|
+
}, z.core.$strict>;
|
|
47
|
+
/**
|
|
48
|
+
* Optional parameters for the Domain API endpoint.
|
|
49
|
+
*
|
|
50
|
+
* @example
|
|
51
|
+
* ```ts
|
|
52
|
+
* await client.domain("example.com", {
|
|
53
|
+
* onlyLiveTechnologies: true,
|
|
54
|
+
* hideAll: true,
|
|
55
|
+
* });
|
|
56
|
+
* ```
|
|
57
|
+
*/
|
|
58
|
+
export type DomainParams = z.infer<typeof DomainParamsSchema>;
|
|
59
|
+
/** Validation schema for {@link ListsParams}. */
|
|
60
|
+
export declare const ListsParamsSchema: z.ZodObject<{
|
|
61
|
+
includeMetaData: z.ZodOptional<z.ZodBoolean>;
|
|
62
|
+
offset: z.ZodOptional<z.ZodString>;
|
|
63
|
+
since: z.ZodOptional<z.ZodString>;
|
|
64
|
+
}, z.core.$strict>;
|
|
65
|
+
/**
|
|
66
|
+
* Optional parameters for the Lists API endpoint.
|
|
67
|
+
*
|
|
68
|
+
* @example
|
|
69
|
+
* ```ts
|
|
70
|
+
* await client.lists("Shopify", { since: "2024-01-01" });
|
|
71
|
+
* ```
|
|
72
|
+
*/
|
|
73
|
+
export type ListsParams = z.infer<typeof ListsParamsSchema>;
|
|
74
|
+
/** Validation schema for {@link TrendsParams}. */
|
|
75
|
+
export declare const TrendsParamsSchema: z.ZodObject<{
|
|
76
|
+
date: z.ZodOptional<z.ZodString>;
|
|
77
|
+
}, z.core.$strict>;
|
|
78
|
+
/**
|
|
79
|
+
* Optional parameters for the Trends API endpoint.
|
|
80
|
+
*
|
|
81
|
+
* @example
|
|
82
|
+
* ```ts
|
|
83
|
+
* await client.trends("jQuery", { date: "2024-06" });
|
|
84
|
+
* ```
|
|
85
|
+
*/
|
|
86
|
+
export type TrendsParams = z.infer<typeof TrendsParamsSchema>;
|
|
87
|
+
/** Validation schema for {@link CompanyToUrlParams}. */
|
|
88
|
+
export declare const CompanyToUrlParamsSchema: z.ZodObject<{
|
|
89
|
+
tld: z.ZodOptional<z.ZodString>;
|
|
90
|
+
amount: z.ZodOptional<z.ZodNumber>;
|
|
91
|
+
}, z.core.$strict>;
|
|
92
|
+
/**
|
|
93
|
+
* Optional parameters for the Company-to-URL API endpoint.
|
|
94
|
+
*
|
|
95
|
+
* @example
|
|
96
|
+
* ```ts
|
|
97
|
+
* await client.companyToUrl("Google", { tld: "com", amount: 5 });
|
|
98
|
+
* ```
|
|
99
|
+
*/
|
|
100
|
+
export type CompanyToUrlParams = z.infer<typeof CompanyToUrlParamsSchema>;
|
|
101
|
+
/** Validation schema for {@link TrustParams}. */
|
|
102
|
+
export declare const TrustParamsSchema: z.ZodObject<{
|
|
103
|
+
words: z.ZodOptional<z.ZodString>;
|
|
104
|
+
live: z.ZodOptional<z.ZodBoolean>;
|
|
105
|
+
}, z.core.$strict>;
|
|
106
|
+
/**
|
|
107
|
+
* Optional parameters for the Trust API endpoint.
|
|
108
|
+
*
|
|
109
|
+
* @example
|
|
110
|
+
* ```ts
|
|
111
|
+
* await client.trust("example.com", { words: "shop,buy", live: true });
|
|
112
|
+
* ```
|
|
113
|
+
*/
|
|
114
|
+
export type TrustParams = z.infer<typeof TrustParamsSchema>;
|
|
115
|
+
export declare const SingleLookupSchema: z.ZodString;
|
|
116
|
+
export declare const MultiLookupSchema: z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>;
|
|
117
|
+
/** Validation schema for {@link FreeResponse}. */
|
|
118
|
+
export declare const FreeResponseSchema: z.ZodObject<{
|
|
119
|
+
domain: z.ZodString;
|
|
120
|
+
first: z.ZodNumber;
|
|
121
|
+
last: z.ZodNumber;
|
|
122
|
+
groups: z.ZodArray<z.ZodObject<{
|
|
123
|
+
name: z.ZodString;
|
|
124
|
+
live: z.ZodNumber;
|
|
125
|
+
dead: z.ZodNumber;
|
|
126
|
+
latest: z.ZodNumber;
|
|
127
|
+
oldest: z.ZodNumber;
|
|
128
|
+
categories: z.ZodArray<z.ZodObject<{
|
|
129
|
+
live: z.ZodNumber;
|
|
130
|
+
dead: z.ZodNumber;
|
|
131
|
+
latest: z.ZodNumber;
|
|
132
|
+
oldest: z.ZodNumber;
|
|
133
|
+
name: z.ZodString;
|
|
134
|
+
}, z.core.$strict>>;
|
|
135
|
+
}, z.core.$strict>>;
|
|
136
|
+
}, z.core.$strict>;
|
|
137
|
+
/** Response from the Free API — basic technology profile for a single domain. */
|
|
138
|
+
export type FreeResponse = z.infer<typeof FreeResponseSchema>;
|
|
139
|
+
/** Validation schema for {@link DomainResponse}. */
|
|
140
|
+
export declare const DomainResponseSchema: z.ZodObject<{
|
|
141
|
+
Results: z.ZodArray<z.ZodObject<{
|
|
142
|
+
Result: z.ZodObject<{
|
|
143
|
+
SpendHistory: z.ZodArray<z.ZodObject<{
|
|
144
|
+
D: z.ZodNumber;
|
|
145
|
+
S: z.ZodNumber;
|
|
146
|
+
}, z.core.$strict>>;
|
|
147
|
+
IsDB: z.ZodString;
|
|
148
|
+
Spend: z.ZodNumber;
|
|
149
|
+
Paths: z.ZodArray<z.ZodObject<{
|
|
150
|
+
Technologies: z.ZodArray<z.ZodObject<{
|
|
151
|
+
Name: z.ZodString;
|
|
152
|
+
Description: z.ZodString;
|
|
153
|
+
Link: z.ZodString;
|
|
154
|
+
Parent: z.ZodOptional<z.ZodString>;
|
|
155
|
+
Tag: z.ZodString;
|
|
156
|
+
FirstDetected: z.ZodNumber;
|
|
157
|
+
LastDetected: z.ZodNumber;
|
|
158
|
+
IsPremium: z.ZodString;
|
|
159
|
+
Categories: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
160
|
+
}, z.core.$strict>>;
|
|
161
|
+
FirstIndexed: z.ZodNumber;
|
|
162
|
+
LastIndexed: z.ZodNumber;
|
|
163
|
+
Domain: z.ZodString;
|
|
164
|
+
Url: z.ZodString;
|
|
165
|
+
SubDomain: z.ZodString;
|
|
166
|
+
}, z.core.$strict>>;
|
|
167
|
+
}, z.core.$strict>;
|
|
168
|
+
Meta: z.ZodObject<{
|
|
169
|
+
Majestic: z.ZodNumber;
|
|
170
|
+
Vertical: z.ZodString;
|
|
171
|
+
Social: z.ZodArray<z.ZodString>;
|
|
172
|
+
CompanyName: z.ZodString;
|
|
173
|
+
Telephones: z.ZodArray<z.ZodString>;
|
|
174
|
+
Emails: z.ZodArray<z.ZodString>;
|
|
175
|
+
City: z.ZodString;
|
|
176
|
+
State: z.ZodString;
|
|
177
|
+
Postcode: z.ZodString;
|
|
178
|
+
Country: z.ZodString;
|
|
179
|
+
Names: z.ZodArray<z.ZodObject<{
|
|
180
|
+
Name: z.ZodString;
|
|
181
|
+
Type: z.ZodNumber;
|
|
182
|
+
Level: z.ZodString;
|
|
183
|
+
Email: z.ZodString;
|
|
184
|
+
}, z.core.$strict>>;
|
|
185
|
+
ARank: z.ZodNumber;
|
|
186
|
+
QRank: z.ZodNumber;
|
|
187
|
+
}, z.core.$strict>;
|
|
188
|
+
Attributes: z.ZodObject<{
|
|
189
|
+
MJRank: z.ZodNumber;
|
|
190
|
+
MJTLDRank: z.ZodNumber;
|
|
191
|
+
RefSN: z.ZodNumber;
|
|
192
|
+
RefIP: z.ZodNumber;
|
|
193
|
+
Sitemap: z.ZodNumber;
|
|
194
|
+
GTMTags: z.ZodNumber;
|
|
195
|
+
QubitTags: z.ZodNumber;
|
|
196
|
+
TealiumTags: z.ZodNumber;
|
|
197
|
+
AdobeTags: z.ZodNumber;
|
|
198
|
+
CDimensions: z.ZodNumber;
|
|
199
|
+
CGoals: z.ZodNumber;
|
|
200
|
+
CMetrics: z.ZodNumber;
|
|
201
|
+
}, z.core.$strict>;
|
|
202
|
+
FirstIndexed: z.ZodNumber;
|
|
203
|
+
LastIndexed: z.ZodNumber;
|
|
204
|
+
Lookup: z.ZodString;
|
|
205
|
+
SalesRevenue: z.ZodNumber;
|
|
206
|
+
}, z.core.$strict>>;
|
|
207
|
+
Errors: z.ZodArray<z.ZodString>;
|
|
208
|
+
}, z.core.$strict>;
|
|
209
|
+
/** Response from the Domain API — detailed technology profile with metadata and attributes. */
|
|
210
|
+
export type DomainResponse = z.infer<typeof DomainResponseSchema>;
|
|
211
|
+
/** Validation schema for {@link ListsResponse}. */
|
|
212
|
+
export declare const ListsResponseSchema: z.ZodObject<{
|
|
213
|
+
NextOffset: z.ZodString;
|
|
214
|
+
Results: z.ZodArray<z.ZodObject<{
|
|
215
|
+
D: z.ZodString;
|
|
216
|
+
FI: z.ZodOptional<z.ZodNumber>;
|
|
217
|
+
LI: z.ZodOptional<z.ZodNumber>;
|
|
218
|
+
LOS: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
219
|
+
Q: z.ZodOptional<z.ZodNumber>;
|
|
220
|
+
A: z.ZodOptional<z.ZodNumber>;
|
|
221
|
+
U: z.ZodOptional<z.ZodNumber>;
|
|
222
|
+
M: z.ZodOptional<z.ZodNumber>;
|
|
223
|
+
SKU: z.ZodOptional<z.ZodNumber>;
|
|
224
|
+
F: z.ZodOptional<z.ZodNumber>;
|
|
225
|
+
E: z.ZodOptional<z.ZodNumber>;
|
|
226
|
+
FD: z.ZodOptional<z.ZodNumber>;
|
|
227
|
+
LD: z.ZodOptional<z.ZodNumber>;
|
|
228
|
+
S: z.ZodOptional<z.ZodNumber>;
|
|
229
|
+
R: z.ZodOptional<z.ZodNumber>;
|
|
230
|
+
Country: z.ZodOptional<z.ZodString>;
|
|
231
|
+
}, z.core.$strict>>;
|
|
232
|
+
}, z.core.$strict>;
|
|
233
|
+
/** Response from the Lists API — domains using a specific technology. */
|
|
234
|
+
export type ListsResponse = z.infer<typeof ListsResponseSchema>;
|
|
235
|
+
/** Validation schema for {@link RelationshipsResponse}. */
|
|
236
|
+
export declare const RelationshipsResponseSchema: z.ZodObject<{
|
|
237
|
+
Relationships: z.ZodArray<z.ZodObject<{
|
|
238
|
+
Domain: z.ZodString;
|
|
239
|
+
Identifiers: z.ZodArray<z.ZodObject<{
|
|
240
|
+
Value: z.ZodString;
|
|
241
|
+
Type: z.ZodString;
|
|
242
|
+
First: z.ZodNumber;
|
|
243
|
+
Last: z.ZodNumber;
|
|
244
|
+
Matches: z.ZodArray<z.ZodObject<{
|
|
245
|
+
Domain: z.ZodString;
|
|
246
|
+
First: z.ZodNumber;
|
|
247
|
+
Last: z.ZodNumber;
|
|
248
|
+
Overlap: z.ZodBoolean;
|
|
249
|
+
}, z.core.$strict>>;
|
|
250
|
+
}, z.core.$strict>>;
|
|
251
|
+
}, z.core.$strict>>;
|
|
252
|
+
Errors: z.ZodArray<z.ZodString>;
|
|
253
|
+
results: z.ZodNumber;
|
|
254
|
+
max_per_page: z.ZodNumber;
|
|
255
|
+
next_skip: z.ZodNumber;
|
|
256
|
+
more_results: z.ZodBoolean;
|
|
257
|
+
}, z.core.$strict>;
|
|
258
|
+
/** Response from the Relationships API — domains sharing identifiers (analytics IDs, ad accounts, etc.). */
|
|
259
|
+
export type RelationshipsResponse = z.infer<typeof RelationshipsResponseSchema>;
|
|
260
|
+
/** Validation schema for {@link KeywordsResponse}. */
|
|
261
|
+
export declare const KeywordsResponseSchema: z.ZodObject<{
|
|
262
|
+
Keywords: z.ZodArray<z.ZodObject<{
|
|
263
|
+
Domain: z.ZodString;
|
|
264
|
+
Keywords: z.ZodArray<z.ZodString>;
|
|
265
|
+
}, z.core.$strict>>;
|
|
266
|
+
}, z.core.$strict>;
|
|
267
|
+
/** Response from the Keywords API — SEO keywords associated with domains. */
|
|
268
|
+
export type KeywordsResponse = z.infer<typeof KeywordsResponseSchema>;
|
|
269
|
+
/** Validation schema for {@link TrendsResponse}. */
|
|
270
|
+
export declare const TrendsResponseSchema: z.ZodObject<{
|
|
271
|
+
Tech: z.ZodObject<{
|
|
272
|
+
icon: z.ZodString;
|
|
273
|
+
categories: z.ZodArray<z.ZodString>;
|
|
274
|
+
tag: z.ZodString;
|
|
275
|
+
is_premium: z.ZodString;
|
|
276
|
+
name: z.ZodString;
|
|
277
|
+
description: z.ZodString;
|
|
278
|
+
link: z.ZodString;
|
|
279
|
+
trends_link: z.ZodString;
|
|
280
|
+
coverage: z.ZodObject<{
|
|
281
|
+
ten_k: z.ZodNumber;
|
|
282
|
+
hundred_k: z.ZodNumber;
|
|
283
|
+
milly: z.ZodNumber;
|
|
284
|
+
live: z.ZodNumber;
|
|
285
|
+
expired: z.ZodNumber;
|
|
286
|
+
}, z.core.$strict>;
|
|
287
|
+
}, z.core.$strict>;
|
|
288
|
+
}, z.core.$strict>;
|
|
289
|
+
/** Response from the Trends API — technology adoption coverage data. */
|
|
290
|
+
export type TrendsResponse = z.infer<typeof TrendsResponseSchema>;
|
|
291
|
+
/** Validation schema for {@link CompanyToUrlResponse}. */
|
|
292
|
+
export declare const CompanyToUrlResponseSchema: z.ZodArray<z.ZodObject<{
|
|
293
|
+
Domain: z.ZodString;
|
|
294
|
+
CompanyName: z.ZodString;
|
|
295
|
+
Spend: z.ZodNumber;
|
|
296
|
+
PageRank: z.ZodNumber;
|
|
297
|
+
BuiltWithRank: z.ZodNumber;
|
|
298
|
+
Parked: z.ZodBoolean;
|
|
299
|
+
Country: z.ZodString;
|
|
300
|
+
State: z.ZodString;
|
|
301
|
+
Postcode: z.ZodString;
|
|
302
|
+
City: z.ZodString;
|
|
303
|
+
Socials: z.ZodArray<z.ZodString>;
|
|
304
|
+
}, z.core.$strict>>;
|
|
305
|
+
/** Response from the Company-to-URL API — domains associated with a company name. */
|
|
306
|
+
export type CompanyToUrlResponse = z.infer<typeof CompanyToUrlResponseSchema>;
|
|
307
|
+
/** Validation schema for {@link TrustResponse}. */
|
|
308
|
+
export declare const TrustResponseSchema: z.ZodObject<{
|
|
309
|
+
Domain: z.ZodString;
|
|
310
|
+
DBRecord: z.ZodObject<{
|
|
311
|
+
EarliestRecord: z.ZodNumber;
|
|
312
|
+
LatestUpdate: z.ZodNumber;
|
|
313
|
+
PremiumTechs: z.ZodNumber;
|
|
314
|
+
LiveTechs: z.ZodBoolean;
|
|
315
|
+
AffiliateLinks: z.ZodBoolean;
|
|
316
|
+
PaymentOptions: z.ZodBoolean;
|
|
317
|
+
Ecommerce: z.ZodBoolean;
|
|
318
|
+
Parked: z.ZodBoolean;
|
|
319
|
+
Spend: z.ZodNumber;
|
|
320
|
+
Established: z.ZodBoolean;
|
|
321
|
+
DBIndexed: z.ZodBoolean;
|
|
322
|
+
}, z.core.$strict>;
|
|
323
|
+
LiveRecord: z.ZodNullable<z.ZodObject<{}, z.core.$loose>>;
|
|
324
|
+
Status: z.ZodNumber;
|
|
325
|
+
}, z.core.$strict>;
|
|
326
|
+
/** Response from the Trust API — domain verification and trust score. */
|
|
327
|
+
export type TrustResponse = z.infer<typeof TrustResponseSchema>;
|
|
328
|
+
/** Validation schema for {@link TagsResponse}. */
|
|
329
|
+
export declare const TagsResponseSchema: z.ZodArray<z.ZodObject<{
|
|
330
|
+
Value: z.ZodString;
|
|
331
|
+
Matches: z.ZodArray<z.ZodObject<{
|
|
332
|
+
Domain: z.ZodString;
|
|
333
|
+
First: z.ZodString;
|
|
334
|
+
Last: z.ZodString;
|
|
335
|
+
}, z.core.$strict>>;
|
|
336
|
+
}, z.core.$strict>>;
|
|
337
|
+
/** Response from the Tags API — tracking and analytics tags found on a domain. */
|
|
338
|
+
export type TagsResponse = z.infer<typeof TagsResponseSchema>;
|
|
339
|
+
/** Validation schema for {@link RecommendationsResponse}. */
|
|
340
|
+
export declare const RecommendationsResponseSchema: z.ZodArray<z.ZodObject<{
|
|
341
|
+
Domain: z.ZodString;
|
|
342
|
+
Compiled: z.ZodString;
|
|
343
|
+
Recommendations: z.ZodArray<z.ZodObject<{
|
|
344
|
+
link: z.ZodString;
|
|
345
|
+
name: z.ZodString;
|
|
346
|
+
tag: z.ZodString;
|
|
347
|
+
categories: z.ZodArray<z.ZodString>;
|
|
348
|
+
stars: z.ZodNumber;
|
|
349
|
+
match: z.ZodNumber;
|
|
350
|
+
}, z.core.$strict>>;
|
|
351
|
+
}, z.core.$strict>>;
|
|
352
|
+
/** Response from the Recommendations API — suggested technologies for a domain. */
|
|
353
|
+
export type RecommendationsResponse = z.infer<typeof RecommendationsResponseSchema>;
|
|
354
|
+
/** Validation schema for {@link RedirectsResponse}. */
|
|
355
|
+
export declare const RedirectsResponseSchema: z.ZodObject<{
|
|
356
|
+
Lookup: z.ZodString;
|
|
357
|
+
Inbound: z.ZodArray<z.ZodObject<{
|
|
358
|
+
Domain: z.ZodString;
|
|
359
|
+
FirstDetected: z.ZodString;
|
|
360
|
+
LastDetected: z.ZodString;
|
|
361
|
+
}, z.core.$strict>>;
|
|
362
|
+
Outbound: z.ZodArray<z.ZodObject<{
|
|
363
|
+
Domain: z.ZodString;
|
|
364
|
+
FirstDetected: z.ZodString;
|
|
365
|
+
LastDetected: z.ZodString;
|
|
366
|
+
}, z.core.$strict>>;
|
|
367
|
+
}, z.core.$strict>;
|
|
368
|
+
/** Response from the Redirects API — inbound and outbound redirect chains. */
|
|
369
|
+
export type RedirectsResponse = z.infer<typeof RedirectsResponseSchema>;
|
|
370
|
+
/** Validation schema for {@link ProductResponse}. */
|
|
371
|
+
export declare const ProductResponseSchema: z.ZodObject<{
|
|
372
|
+
query: z.ZodString;
|
|
373
|
+
is_more: z.ZodBoolean;
|
|
374
|
+
page: z.ZodNumber;
|
|
375
|
+
limit: z.ZodNumber;
|
|
376
|
+
results: z.ZodNumber;
|
|
377
|
+
shop_count: z.ZodNumber;
|
|
378
|
+
credits: z.ZodNumber;
|
|
379
|
+
used: z.ZodNumber;
|
|
380
|
+
remaining: z.ZodNumber;
|
|
381
|
+
used_this_query: z.ZodNumber;
|
|
382
|
+
next_page: z.ZodString;
|
|
383
|
+
shops: z.ZodArray<z.ZodObject<{
|
|
384
|
+
Domain: z.ZodString;
|
|
385
|
+
Products: z.ZodArray<z.ZodObject<{
|
|
386
|
+
Title: z.ZodString;
|
|
387
|
+
Url: z.ZodString;
|
|
388
|
+
Indexed: z.ZodString;
|
|
389
|
+
FirstIndexed: z.ZodString;
|
|
390
|
+
Price: z.ZodNumber;
|
|
391
|
+
}, z.core.$strict>>;
|
|
392
|
+
Type: z.ZodNumber;
|
|
393
|
+
Spend: z.ZodNumber;
|
|
394
|
+
}, z.core.$strict>>;
|
|
395
|
+
}, z.core.$strict>;
|
|
396
|
+
/** Response from the Product API — e-commerce product search results. */
|
|
397
|
+
export type ProductResponse = z.infer<typeof ProductResponseSchema>;
|
|
398
|
+
/**
|
|
399
|
+
* The BuiltWith API client. Created via `createClient()`.
|
|
400
|
+
*
|
|
401
|
+
* All methods return validated, typed responses when using JSON format,
|
|
402
|
+
* or raw strings for XML/TXT/CSV/TSV formats.
|
|
403
|
+
*
|
|
404
|
+
* @example
|
|
405
|
+
* ```ts
|
|
406
|
+
* import { createClient } from "builtwith-api";
|
|
407
|
+
*
|
|
408
|
+
* const client = createClient(process.env.BUILTWITH_API_KEY!);
|
|
409
|
+
* const profile = await client.free("example.com");
|
|
410
|
+
* ```
|
|
411
|
+
*/
|
|
412
|
+
export interface BuiltWithClient {
|
|
413
|
+
/** Free lookup — basic technology profile for a single domain. */
|
|
414
|
+
free(lookup: string): Promise<FreeResponse | string>;
|
|
415
|
+
/**
|
|
416
|
+
* Detailed technology profile for one or more domains.
|
|
417
|
+
* @param lookup - Single domain or array of up to 16 domains.
|
|
418
|
+
* @param params - Optional filters (hide fields, date ranges, etc.).
|
|
419
|
+
*/
|
|
420
|
+
domain(lookup: string | string[], params?: DomainParams): Promise<DomainResponse | string>;
|
|
421
|
+
/**
|
|
422
|
+
* List domains using a specific technology.
|
|
423
|
+
* @param technology - Technology name (e.g. "Shopify", "React").
|
|
424
|
+
* @param params - Optional pagination and filtering.
|
|
425
|
+
*/
|
|
426
|
+
lists(technology: string, params?: ListsParams): Promise<ListsResponse | string>;
|
|
427
|
+
/**
|
|
428
|
+
* Find related domains via shared identifiers (analytics IDs, ad accounts, etc.).
|
|
429
|
+
* @param lookup - Single domain or array of up to 16 domains.
|
|
430
|
+
*/
|
|
431
|
+
relationships(lookup: string | string[]): Promise<RelationshipsResponse | string>;
|
|
432
|
+
/**
|
|
433
|
+
* Get SEO keywords associated with one or more domains.
|
|
434
|
+
* @param lookup - Single domain or array of up to 16 domains.
|
|
435
|
+
*/
|
|
436
|
+
keywords(lookup: string | string[]): Promise<KeywordsResponse | string>;
|
|
437
|
+
/**
|
|
438
|
+
* Technology adoption trends and coverage data.
|
|
439
|
+
* @param technology - Technology name to look up.
|
|
440
|
+
* @param params - Optional date filter.
|
|
441
|
+
*/
|
|
442
|
+
trends(technology: string, params?: TrendsParams): Promise<TrendsResponse | string>;
|
|
443
|
+
/**
|
|
444
|
+
* Find domains associated with a company name.
|
|
445
|
+
* @param companyName - Company name to search.
|
|
446
|
+
* @param params - Optional TLD filter and result count.
|
|
447
|
+
*/
|
|
448
|
+
companyToUrl(companyName: string, params?: CompanyToUrlParams): Promise<CompanyToUrlResponse | string>;
|
|
449
|
+
/** Live technology lookup — scans the domain in real time. */
|
|
450
|
+
domainLive(lookup: string): Promise<DomainResponse | string>;
|
|
451
|
+
/**
|
|
452
|
+
* Trust and verification score for a domain.
|
|
453
|
+
* @param lookup - Domain to look up.
|
|
454
|
+
* @param params - Optional keywords and live analysis toggle.
|
|
455
|
+
*/
|
|
456
|
+
trust(lookup: string, params?: TrustParams): Promise<TrustResponse | string>;
|
|
457
|
+
/** Get tracking and analytics tags found on a domain. */
|
|
458
|
+
tags(lookup: string): Promise<TagsResponse | string>;
|
|
459
|
+
/** Get technology recommendations for a domain. */
|
|
460
|
+
recommendations(lookup: string): Promise<RecommendationsResponse | string>;
|
|
461
|
+
/** Get inbound and outbound redirect chains for a domain. */
|
|
462
|
+
redirects(lookup: string): Promise<RedirectsResponse | string>;
|
|
463
|
+
/** Search for products across e-commerce sites. */
|
|
464
|
+
product(query: string): Promise<ProductResponse | string>;
|
|
465
|
+
}
|
|
466
|
+
/** @internal Maps JS param names to BuiltWith API query string keys. */
|
|
467
|
+
export type BooleanMapping = Record<string, string>;
|
|
468
|
+
/** @internal URL query parameters — `undefined` values are omitted. */
|
|
469
|
+
export type QueryParams = Record<string, string | number | undefined>;
|
|
470
|
+
//# sourceMappingURL=schemas.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAI3B,sCAAsC;AACtC,eAAO,MAAM,oBAAoB;;;;;;EAA+C,CAAC;AACjF;;;;;GAKG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,mDAAmD;AACnD,eAAO,MAAM,mBAAmB;;;;;;;;kBAE9B,CAAC;AACH;;;;;;;GAOG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAKhE,kDAAkD;AAClD,eAAO,MAAM,kBAAkB;;;;;;;;;kBAS7B,CAAC;AACH;;;;;;;;;;GAUG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,iDAAiD;AACjD,eAAO,MAAM,iBAAiB;;;;kBAI5B,CAAC;AACH;;;;;;;GAOG;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,kDAAkD;AAClD,eAAO,MAAM,kBAAkB;;kBAE7B,CAAC;AACH;;;;;;;GAOG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,wDAAwD;AACxD,eAAO,MAAM,wBAAwB;;;kBAGnC,CAAC;AACH;;;;;;;GAOG;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,iDAAiD;AACjD,eAAO,MAAM,iBAAiB;;;kBAG5B,CAAC;AACH;;;;;;;GAOG;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,eAAO,MAAM,kBAAkB,aAAoB,CAAC;AACpD,eAAO,MAAM,iBAAiB,6DAA0E,CAAC;AAMzG,kDAAkD;AAClD,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;kBAsB7B,CAAC;AACH,iFAAiF;AACjF,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AA6D9D,oDAAoD;AACpD,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAuB/B,CAAC;AACH,+FAA+F;AAC/F,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,mDAAmD;AACnD,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;kBAsB9B,CAAC;AACH,yEAAyE;AACzE,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,2DAA2D;AAC3D,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;kBA2BtC,CAAC;AACH,4GAA4G;AAC5G,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF,sDAAsD;AACtD,eAAO,MAAM,sBAAsB;;;;;kBAOjC,CAAC;AACH,6EAA6E;AAC7E,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,oDAAoD;AACpD,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;kBAkB/B,CAAC;AACH,wEAAwE;AACxE,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,0DAA0D;AAC1D,eAAO,MAAM,0BAA0B;;;;;;;;;;;;mBActC,CAAC;AACF,qFAAqF;AACrF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E,mDAAmD;AACnD,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;kBAmB9B,CAAC;AACH,yEAAyE;AACzE,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,kDAAkD;AAClD,eAAO,MAAM,kBAAkB;;;;;;;mBAW9B,CAAC;AACF,kFAAkF;AAClF,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,6DAA6D;AAC7D,eAAO,MAAM,6BAA6B;;;;;;;;;;;mBAezC,CAAC;AACF,mFAAmF;AACnF,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAEpF,uDAAuD;AACvD,eAAO,MAAM,uBAAuB;;;;;;;;;;;;kBAgBlC,CAAC;AACH,8EAA8E;AAC9E,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,qDAAqD;AACrD,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;kBA4BhC,CAAC;AACH,yEAAyE;AACzE,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAIpE;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,eAAe;IAC9B,kEAAkE;IAClE,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,MAAM,CAAC,CAAC;IACrD;;;;OAIG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,MAAM,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,cAAc,GAAG,MAAM,CAAC,CAAC;IAC3F;;;;OAIG;IACH,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,GAAG,MAAM,CAAC,CAAC;IACjF;;;OAGG;IACH,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,qBAAqB,GAAG,MAAM,CAAC,CAAC;IAClF;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,gBAAgB,GAAG,MAAM,CAAC,CAAC;IACxE;;;;OAIG;IACH,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,cAAc,GAAG,MAAM,CAAC,CAAC;IACpF;;;;OAIG;IACH,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,oBAAoB,GAAG,MAAM,CAAC,CAAC;IACvG,8DAA8D;IAC9D,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,MAAM,CAAC,CAAC;IAC7D;;;;OAIG;IACH,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,GAAG,MAAM,CAAC,CAAC;IAC7E,yDAAyD;IACzD,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,MAAM,CAAC,CAAC;IACrD,mDAAmD;IACnD,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,GAAG,MAAM,CAAC,CAAC;IAC3E,6DAA6D;IAC7D,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG,MAAM,CAAC,CAAC;IAC/D,mDAAmD;IACnD,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,MAAM,CAAC,CAAC;CAC3D;AAID,wEAAwE;AACxE,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AACpD,uEAAuE;AACvE,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,29 +1,63 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "builtwith-api",
|
|
3
|
-
"version": "
|
|
4
|
-
"description": "
|
|
5
|
-
"
|
|
6
|
-
"
|
|
3
|
+
"version": "3.2.0",
|
|
4
|
+
"description": "Typed TypeScript wrapper for the BuiltWith API — library and CLI",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "dist/index.js",
|
|
7
|
+
"types": "dist/index.d.ts",
|
|
8
|
+
"bin": {
|
|
9
|
+
"builtwith": "./dist/cli.js"
|
|
10
|
+
},
|
|
11
|
+
"exports": {
|
|
12
|
+
".": {
|
|
13
|
+
"types": "./dist/index.d.ts",
|
|
14
|
+
"import": "./dist/index.js"
|
|
15
|
+
},
|
|
16
|
+
"./commands": {
|
|
17
|
+
"types": "./dist/commands.d.ts",
|
|
18
|
+
"import": "./dist/commands.js"
|
|
19
|
+
},
|
|
20
|
+
"./errors": {
|
|
21
|
+
"types": "./dist/errors.d.ts",
|
|
22
|
+
"import": "./dist/errors.js"
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
"scripts": {
|
|
26
|
+
"build": "bun run build:js && bun run build:types && chmod +x dist/cli.js",
|
|
27
|
+
"build:js": "bun build ./src/index.ts ./src/cli.ts ./src/errors.ts ./src/commands.ts --outdir dist --target node --format esm --sourcemap=external --external zod",
|
|
28
|
+
"build:types": "tsc --emitDeclarationOnly",
|
|
29
|
+
"cli": "bun run src/cli.ts",
|
|
30
|
+
"compile": "bun run compile:linux-x64 && bun run compile:linux-arm64 && bun run compile:darwin-x64 && bun run compile:darwin-arm64 && bun run compile:windows-x64",
|
|
31
|
+
"compile:linux-x64": "bun build src/cli.ts --compile --target bun-linux-x64 --outfile dist/builtwith-linux-x64",
|
|
32
|
+
"compile:linux-arm64": "bun build src/cli.ts --compile --target bun-linux-arm64 --outfile dist/builtwith-linux-arm64",
|
|
33
|
+
"compile:darwin-x64": "bun build src/cli.ts --compile --target bun-darwin-x64 --outfile dist/builtwith-darwin-x64",
|
|
34
|
+
"compile:darwin-arm64": "bun build src/cli.ts --compile --target bun-darwin-arm64 --outfile dist/builtwith-darwin-arm64",
|
|
35
|
+
"compile:windows-x64": "bun build src/cli.ts --compile --target bun-windows-x64 --outfile dist/builtwith-windows-x64.exe",
|
|
36
|
+
"prepublishOnly": "bun run build",
|
|
37
|
+
"test": "bun test"
|
|
38
|
+
},
|
|
7
39
|
"homepage": "https://github.com/zcaceres/builtwith-api",
|
|
8
40
|
"repository": {
|
|
9
41
|
"type": "git",
|
|
10
|
-
"url": "https://github.com/zcaceres/builtwith-api.git"
|
|
42
|
+
"url": "https://github.com/zcaceres/builtwith-api.git",
|
|
43
|
+
"directory": "packages/builtwith-api"
|
|
11
44
|
},
|
|
12
45
|
"keywords": [
|
|
13
|
-
"
|
|
14
|
-
"
|
|
15
|
-
"
|
|
46
|
+
"builtwith",
|
|
47
|
+
"api",
|
|
48
|
+
"cli",
|
|
49
|
+
"technology-detection",
|
|
50
|
+
"web-intelligence"
|
|
16
51
|
],
|
|
17
52
|
"files": [
|
|
18
|
-
"
|
|
19
|
-
"src/utils"
|
|
53
|
+
"dist"
|
|
20
54
|
],
|
|
21
55
|
"author": "Zach Caceres (@zachcaceres)",
|
|
22
56
|
"license": "MIT",
|
|
23
|
-
"
|
|
24
|
-
"
|
|
57
|
+
"engines": {
|
|
58
|
+
"node": ">=18.0.0"
|
|
25
59
|
},
|
|
26
|
-
"
|
|
27
|
-
"
|
|
60
|
+
"dependencies": {
|
|
61
|
+
"zod": "^4.3.6"
|
|
28
62
|
}
|
|
29
63
|
}
|
package/README.md
DELETED
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
# Builtwith API
|
|
2
|
-
|
|
3
|
-
`builtwith-api` is a utility wrapper for the BuiltWith API suite.
|
|
4
|
-
|
|
5
|
-
Install using
|
|
6
|
-
```
|
|
7
|
-
yarn install builtwith-api
|
|
8
|
-
|
|
9
|
-
or
|
|
10
|
-
|
|
11
|
-
npm install builtwith-api
|
|
12
|
-
```
|
|
13
|
-
|
|
14
|
-
## Features
|
|
15
|
-
|
|
16
|
-
Response Formats
|
|
17
|
-
- JSON support
|
|
18
|
-
- XML support
|
|
19
|
-
- TXT support (only for lists API)
|
|
20
|
-
|
|
21
|
-
APIS
|
|
22
|
-
- free
|
|
23
|
-
- domain
|
|
24
|
-
- lists
|
|
25
|
-
- relationships
|
|
26
|
-
- keywords
|
|
27
|
-
- trends
|
|
28
|
-
- companyToUrl
|
|
29
|
-
- domainLive
|
|
30
|
-
- trust
|
|
31
|
-
|
|
32
|
-
________________
|
|
33
|
-
|
|
34
|
-
## How To Use
|
|
35
|
-
|
|
36
|
-
```js
|
|
37
|
-
const BuiltWith = require('builtwith-api')
|
|
38
|
-
|
|
39
|
-
const builtwith = BuiltWith(process.env.YOUR_BUILTWITH_API_KEY, {
|
|
40
|
-
responseFormat: 'json' // 'json' 'xml' 'txt' (only for lists API)
|
|
41
|
-
})
|
|
42
|
-
|
|
43
|
-
const url = 'facebook.com'
|
|
44
|
-
|
|
45
|
-
await builtwith.free(url)
|
|
46
|
-
|
|
47
|
-
await builtwith.domain(url, {
|
|
48
|
-
// This will hide technology description, link, tag and category fields
|
|
49
|
-
hideAll: false,
|
|
50
|
-
// This will hide technology description and link fields (but keep tag and categories)
|
|
51
|
-
hideDescriptionAndLinks: false,
|
|
52
|
-
// This will only return technologies we consider to be live
|
|
53
|
-
onlyLiveTechnologies: true,
|
|
54
|
-
// No meta data (like address, names etc..) will be returned. Improves performance.
|
|
55
|
-
noMetaData: true,
|
|
56
|
-
// No attributes data will be returned
|
|
57
|
-
noAttributeData: true
|
|
58
|
-
})
|
|
59
|
-
|
|
60
|
-
const technologies = 'Shopify'
|
|
61
|
-
// The name of a technology. Spaces automatically replaced with dashes (-).
|
|
62
|
-
await builtwith.lists(technology, {
|
|
63
|
-
// Brings back meta data with the results, which includes names, titles, social links, addresses, emails, telephone numbers, traffic ranks etc.
|
|
64
|
-
includeMetaData: true,
|
|
65
|
-
// Gets the next page of results - use the exact value from NextOffset in response. If the value of NextOffset is END there are no more results.
|
|
66
|
-
offset: 'oQEwEnH2FJuIzeXOEk2T',
|
|
67
|
-
// Gets live sites using the technology since a certain time, accepts dates and queries i.e. 30 Days Ago or Last January for example.
|
|
68
|
-
since: '2016-01-20'
|
|
69
|
-
})
|
|
70
|
-
|
|
71
|
-
await builtwith.relationships(url)
|
|
72
|
-
|
|
73
|
-
const urls = ['hotelscombined.com', 'builtwith.com']
|
|
74
|
-
// Multi-domain lookup. Will automatically be converted into URI encoded array (hotelscombined.com,builtwith.com).
|
|
75
|
-
await builtwith.keywords(urls)
|
|
76
|
-
|
|
77
|
-
await builtwith.trends(technology, {
|
|
78
|
-
// Totals will be the closest to this date - providing the ability to get historical totals
|
|
79
|
-
date: '2016-01-20'
|
|
80
|
-
})
|
|
81
|
-
|
|
82
|
-
const companyName = 'Shell'
|
|
83
|
-
await builtwith.companyToUrl(companyName, {
|
|
84
|
-
// Bring back domains in order of priority - the first result is generally the one we think the website is
|
|
85
|
-
amount: 1,
|
|
86
|
-
// Set the priority extension - if you know the country of the company supply the most likely TLD. i.e. for United Kingdom use 'uk'
|
|
87
|
-
tld: 'com'
|
|
88
|
-
})
|
|
89
|
-
|
|
90
|
-
await builtwith.domainLive(url)
|
|
91
|
-
|
|
92
|
-
await builtwith.trust(url, {
|
|
93
|
-
// If the words specified here are in the HTML of the website the result will have Stopwords set to true for LIVE lookups.
|
|
94
|
-
words: 'medicine,masks',
|
|
95
|
-
// Performs a live lookup of the website in question. This slows down the response. A result with a status of 'needLive' requires the LIVE option to determine if the website is suspect or not. Live lookups slow down the response of the API, you should consider calling this if the non-LIVE lookup response status is 'needLive'.
|
|
96
|
-
live: false
|
|
97
|
-
})
|
|
98
|
-
```
|
|
99
|
-
|
|
100
|
-
Made live on Facebook by Zach Caceres during Covid-19 Quarantine
|