Skip to content

schemas

Interfaces

BuiltWithClient

Defined in: schemas.ts:480

The BuiltWith API client. Created via createClient().

All methods return validated, typed responses when using JSON format, or raw strings for XML/TXT/CSV/TSV formats.

Example

ts
import { createClient } from "builtwith-api";

const client = createClient(process.env.BUILTWITH_API_KEY!);
const profile = await client.free("example.com");

Methods

companyToUrl()
ts
companyToUrl(companyName, params?): Promise<string | object[]>;

Defined in: schemas.ts:516

Find domains associated with a company name.

Parameters
companyName

string

Company name to search.

params?

Optional TLD filter and result count.

amount?

number = ...

tld?

string = ...

Returns

Promise<string | object[]>

domain()
ts
domain(lookup, params?): Promise<
  | string
  | {
  Errors: string[];
  Results: object[];
}>;

Defined in: schemas.ts:488

Detailed technology profile for one or more domains.

Parameters
lookup

Single domain or array of up to 16 domains.

string | string[]

params?

Optional filters (hide fields, date ranges, etc.).

firstDetectedRange?

string = ...

hideAll?

boolean = ...

boolean = ...

lastDetectedRange?

string = ...

noAttributeData?

boolean = ...

noMetaData?

boolean = ...

noPII?

boolean = ...

onlyLiveTechnologies?

boolean = ...

Returns

Promise< | string | { Errors: string[]; Results: object[]; }>

domainLive()
ts
domainLive(lookup): Promise<
  | string
  | {
  Errors: string[];
  Results: object[];
}>;

Defined in: schemas.ts:518

Live technology lookup — scans the domain in real time.

Parameters
lookup

string

Returns

Promise< | string | { Errors: string[]; Results: object[]; }>

free()
ts
free(lookup): Promise<
  | string
  | {
  domain: string;
  first: number;
  groups: object[];
  last: number;
}>;

Defined in: schemas.ts:482

Free lookup — basic technology profile for a single domain.

Parameters
lookup

string

Returns

Promise< | string | { domain: string; first: number; groups: object[]; last: number; }>

keywords()
ts
keywords(lookup): Promise<
  | string
  | {
  Keywords: object[];
}>;

Defined in: schemas.ts:504

Get SEO keywords associated with one or more domains.

Parameters
lookup

Single domain or array of up to 16 domains.

string | string[]

Returns

Promise< | string | { Keywords: object[]; }>

lists()
ts
lists(technology, params?): Promise<
  | string
  | {
  NextOffset: string;
  Results: object[];
}>;

Defined in: schemas.ts:494

List domains using a specific technology.

Parameters
technology

string

Technology name (e.g. "Shopify", "React").

params?

Optional pagination and filtering.

includeMetaData?

boolean = ...

offset?

string = ...

since?

string = ...

Returns

Promise< | string | { NextOffset: string; Results: object[]; }>

product()
ts
product(query): Promise<
  | string
  | {
  credits: number;
  is_more: boolean;
  limit: number;
  next_page: string;
  page: number;
  query: string;
  remaining: number;
  results: number;
  shop_count: number;
  shops: object[];
  used: number;
  used_this_query: number;
}>;

Defined in: schemas.ts:532

Search for products across e-commerce sites.

Parameters
query

string

Returns

Promise< | string | { credits: number; is_more: boolean; limit: number; next_page: string; page: number; query: string; remaining: number; results: number; shop_count: number; shops: object[]; used: number; used_this_query: number; }>

recommendations()
ts
recommendations(lookup): Promise<string | object[]>;

Defined in: schemas.ts:528

Get technology recommendations for a domain.

Parameters
lookup

string

Returns

Promise<string | object[]>

redirects()
ts
redirects(lookup): Promise<
  | string
  | {
  Inbound: object[];
  Lookup: string;
  Outbound: object[];
}>;

Defined in: schemas.ts:530

Get inbound and outbound redirect chains for a domain.

Parameters
lookup

string

Returns

Promise< | string | { Inbound: object[]; Lookup: string; Outbound: object[]; }>

relationships()
ts
relationships(lookup): Promise<
  | string
  | {
  Errors: string[];
  max_per_page: number;
  more_results: boolean;
  next_skip: number;
  Relationships: object[];
  results: number;
}>;

Defined in: schemas.ts:499

Find related domains via shared identifiers (analytics IDs, ad accounts, etc.).

Parameters
lookup

Single domain or array of up to 16 domains.

string | string[]

Returns

Promise< | string | { Errors: string[]; max_per_page: number; more_results: boolean; next_skip: number; Relationships: object[]; results: number; }>

tags()
ts
tags(lookup): Promise<string | object[]>;

Defined in: schemas.ts:526

Get tracking and analytics tags found on a domain.

Parameters
lookup

string

Returns

Promise<string | object[]>

ts
trends(technology, params?): Promise<
  | string
  | {
  Tech: {
     categories: string[];
     coverage: {
        expired: number;
        hundred_k: number;
        live: number;
        milly: number;
        ten_k: number;
     };
     description: string;
     icon: string;
     is_premium: string;
     link: string;
     name: string;
     tag: string;
     trends_link: string;
  };
}>;

Defined in: schemas.ts:510

Technology adoption trends and coverage data.

Parameters
technology

string

Technology name to look up.

params?

Optional date filter.

date?

string = ...

Returns

Promise< | string | { Tech: { categories: string[]; coverage: { expired: number; hundred_k: number; live: number; milly: number; ten_k: number; }; description: string; icon: string; is_premium: string; link: string; name: string; tag: string; trends_link: string; }; }>

trust()
ts
trust(lookup, params?): Promise<
  | string
  | {
  DBRecord: {
     AffiliateLinks: boolean;
     DBIndexed: boolean;
     EarliestRecord: number;
     Ecommerce: boolean;
     Established: boolean;
     LatestUpdate: number;
     LiveTechs: boolean;
     Parked: boolean;
     PaymentOptions: boolean;
     PremiumTechs: number;
     Spend: number;
  };
  Domain: string;
  LiveRecord:   | {
   [key: string]: unknown;
   }
     | null;
  Status: number;
}>;

Defined in: schemas.ts:524

Trust and verification score for a domain.

Parameters
lookup

string

Domain to look up.

params?

Optional keywords and live analysis toggle.

live?

boolean = ...

words?

string = ...

Returns

Promise< | string | { DBRecord: { AffiliateLinks: boolean; DBIndexed: boolean; EarliestRecord: number; Ecommerce: boolean; Established: boolean; LatestUpdate: number; LiveTechs: boolean; Parked: boolean; PaymentOptions: boolean; PremiumTechs: number; Spend: number; }; Domain: string; LiveRecord: | { [key: string]: unknown; } | null; Status: number; }>

Type Aliases

ClientOptions

ts
type ClientOptions = z.infer<typeof ClientOptionsSchema>;

Defined in: schemas.ts:27

Options passed to createClient.

Example

ts
const client = createClient(API_KEY, { responseFormat: "xml" });

CompanyToUrlParams

ts
type CompanyToUrlParams = z.infer<typeof CompanyToUrlParamsSchema>;

Defined in: schemas.ts:99

Optional parameters for the Company-to-URL API endpoint.

Example

ts
await client.companyToUrl("Google", { tld: "com", amount: 5 });

CompanyToUrlResponse

ts
type CompanyToUrlResponse = z.infer<typeof CompanyToUrlResponseSchema>;

Defined in: schemas.ts:348

Response from the Company-to-URL API — domains associated with a company name.


DomainParams

ts
type DomainParams = z.infer<typeof DomainParamsSchema>;

Defined in: schemas.ts:54

Optional parameters for the Domain API endpoint.

Example

ts
await client.domain("example.com", {
  onlyLiveTechnologies: true,
  hideAll: true,
});

DomainResponse

ts
type DomainResponse = z.infer<typeof DomainResponseSchema>;

Defined in: schemas.ts:235

Response from the Domain API — detailed technology profile with metadata and attributes.


FreeResponse

ts
type FreeResponse = z.infer<typeof FreeResponseSchema>;

Defined in: schemas.ts:148

Response from the Free API — basic technology profile for a single domain.


KeywordsResponse

ts
type KeywordsResponse = z.infer<typeof KeywordsResponseSchema>;

Defined in: schemas.ts:306

Response from the Keywords API — SEO keywords associated with domains.


ListsParams

ts
type ListsParams = z.infer<typeof ListsParamsSchema>;

Defined in: schemas.ts:70

Optional parameters for the Lists API endpoint.

Example

ts
await client.lists("Shopify", { since: "2024-01-01" });

ListsResponse

ts
type ListsResponse = z.infer<typeof ListsResponseSchema>;

Defined in: schemas.ts:262

Response from the Lists API — domains using a specific technology.


ProductResponse

ts
type ProductResponse = z.infer<typeof ProductResponseSchema>;

Defined in: schemas.ts:462

Response from the Product API — e-commerce product search results.


RecommendationsResponse

ts
type RecommendationsResponse = z.infer<typeof RecommendationsResponseSchema>;

Defined in: schemas.ts:408

Response from the Recommendations API — suggested technologies for a domain.


RedirectsResponse

ts
type RedirectsResponse = z.infer<typeof RedirectsResponseSchema>;

Defined in: schemas.ts:429

Response from the Redirects API — inbound and outbound redirect chains.


RelationshipsResponse

ts
type RelationshipsResponse = z.infer<typeof RelationshipsResponseSchema>;

Defined in: schemas.ts:294

Response from the Relationships API — domains sharing identifiers (analytics IDs, ad accounts, etc.).


ResponseFormat

ts
type ResponseFormat = z.infer<typeof ResponseFormatSchema>;

Defined in: schemas.ts:13

Response format returned by the BuiltWith API.

  • "json" — parsed and validated (default)
  • "xml" / "txt" / "csv" / "tsv" — returned as raw strings

TagsResponse

ts
type TagsResponse = z.infer<typeof TagsResponseSchema>;

Defined in: schemas.ts:388

Response from the Tags API — tracking and analytics tags found on a domain.


TrendsParams

ts
type TrendsParams = z.infer<typeof TrendsParamsSchema>;

Defined in: schemas.ts:84

Optional parameters for the Trends API endpoint.

Example

ts
await client.trends("jQuery", { date: "2024-06" });

TrendsResponse

ts
type TrendsResponse = z.infer<typeof TrendsResponseSchema>;

Defined in: schemas.ts:329

Response from the Trends API — technology adoption coverage data.


TrustParams

ts
type TrustParams = z.infer<typeof TrustParamsSchema>;

Defined in: schemas.ts:114

Optional parameters for the Trust API endpoint.

Example

ts
await client.trust("example.com", { words: "shop,buy", live: true });

TrustResponse

ts
type TrustResponse = z.infer<typeof TrustResponseSchema>;

Defined in: schemas.ts:372

Response from the Trust API — domain verification and trust score.

Variables

ClientOptionsSchema

ts
const ClientOptionsSchema: ZodObject<{
  responseFormat: ZodOptional<ZodEnum<{
     csv: "csv";
     json: "json";
     tsv: "tsv";
     txt: "txt";
     xml: "xml";
  }>>;
}, $strict>;

Defined in: schemas.ts:16

Validation schema for ClientOptions.


CompanyToUrlParamsSchema

ts
const CompanyToUrlParamsSchema: ZodObject<{
  amount: ZodOptional<ZodNumber>;
  tld: ZodOptional<ZodString>;
}, $strict>;

Defined in: schemas.ts:87

Validation schema for CompanyToUrlParams.


CompanyToUrlResponseSchema

ts
const CompanyToUrlResponseSchema: ZodArray<ZodObject<{
  BuiltWithRank: ZodNumber;
  City: ZodString;
  CompanyName: ZodString;
  Country: ZodString;
  Domain: ZodString;
  PageRank: ZodNumber;
  Parked: ZodBoolean;
  Postcode: ZodString;
  Socials: ZodArray<ZodString>;
  Spend: ZodNumber;
  State: ZodString;
}, $strict>>;

Defined in: schemas.ts:332

Validation schema for CompanyToUrlResponse.


DomainParamsSchema

ts
const DomainParamsSchema: ZodObject<{
  firstDetectedRange: ZodOptional<ZodString>;
  hideAll: ZodOptional<ZodBoolean>;
  hideDescriptionAndLinks: ZodOptional<ZodBoolean>;
  lastDetectedRange: ZodOptional<ZodString>;
  noAttributeData: ZodOptional<ZodBoolean>;
  noMetaData: ZodOptional<ZodBoolean>;
  noPII: ZodOptional<ZodBoolean>;
  onlyLiveTechnologies: ZodOptional<ZodBoolean>;
}, $strict>;

Defined in: schemas.ts:33

Validation schema for DomainParams.


DomainResponseSchema

ts
const DomainResponseSchema: ZodObject<{
  Errors: ZodArray<ZodString>;
  Results: ZodArray<ZodObject<{
     Attributes: ZodObject<{
        AdobeTags: ZodNumber;
        CDimensions: ZodNumber;
        CGoals: ZodNumber;
        CMetrics: ZodNumber;
        GTMTags: ZodNumber;
        MJRank: ZodNumber;
        MJTLDRank: ZodNumber;
        QubitTags: ZodNumber;
        RefIP: ZodNumber;
        RefSN: ZodNumber;
        Sitemap: ZodNumber;
        TealiumTags: ZodNumber;
     }, $strict>;
     FirstIndexed: ZodNumber;
     LastIndexed: ZodNumber;
     Lookup: ZodString;
     Meta: ZodObject<{
        ARank: ZodNumber;
        City: ZodString;
        CompanyName: ZodString;
        Country: ZodString;
        Emails: ZodArray<ZodString>;
        Majestic: ZodNumber;
        Names: ZodArray<ZodObject<{
           Email: ZodString;
           Level: ZodString;
           Name: ZodString;
           Type: ZodNumber;
        }, $strict>>;
        Postcode: ZodString;
        QRank: ZodNumber;
        Social: ZodArray<ZodString>;
        State: ZodString;
        Telephones: ZodArray<ZodString>;
        Vertical: ZodString;
     }, $strict>;
     Result: ZodObject<{
        IsDB: ZodString;
        Paths: ZodArray<ZodObject<{
           Domain: ZodString;
           FirstIndexed: ZodNumber;
           LastIndexed: ZodNumber;
           SubDomain: ZodString;
           Technologies: ZodArray<...>;
           Url: ZodString;
        }, $strict>>;
        Spend: ZodNumber;
        SpendHistory: ZodArray<ZodObject<{
           D: ZodNumber;
           S: ZodNumber;
        }, $strict>>;
     }, $strict>;
     SalesRevenue: ZodNumber;
  }, $strict>>;
}, $strict>;

Defined in: schemas.ts:210

Validation schema for DomainResponse.


FreeResponseSchema

ts
const FreeResponseSchema: ZodObject<{
  domain: ZodString;
  first: ZodNumber;
  groups: ZodArray<ZodObject<{
     categories: ZodArray<ZodObject<{
        dead: ZodNumber;
        latest: ZodNumber;
        live: ZodNumber;
        name: ZodString;
        oldest: ZodNumber;
     }, $strict>>;
     dead: ZodNumber;
     latest: ZodNumber;
     live: ZodNumber;
     name: ZodString;
     oldest: ZodNumber;
  }, $strict>>;
  last: ZodNumber;
}, $strict>;

Defined in: schemas.ts:124

Validation schema for FreeResponse.


KeywordsResponseSchema

ts
const KeywordsResponseSchema: ZodObject<{
  Keywords: ZodArray<ZodObject<{
     Domain: ZodString;
     Keywords: ZodArray<ZodString>;
  }, $strict>>;
}, $strict>;

Defined in: schemas.ts:297

Validation schema for KeywordsResponse.


ListsParamsSchema

ts
const ListsParamsSchema: ZodObject<{
  includeMetaData: ZodOptional<ZodBoolean>;
  offset: ZodOptional<ZodString>;
  since: ZodOptional<ZodString>;
}, $strict>;

Defined in: schemas.ts:57

Validation schema for ListsParams.


ListsResponseSchema

ts
const ListsResponseSchema: ZodObject<{
  NextOffset: ZodString;
  Results: ZodArray<ZodObject<{
     A: ZodOptional<ZodNumber>;
     Country: ZodOptional<ZodString>;
     D: ZodString;
     E: ZodOptional<ZodNumber>;
     F: ZodOptional<ZodNumber>;
     FD: ZodOptional<ZodNumber>;
     FI: ZodOptional<ZodNumber>;
     LD: ZodOptional<ZodNumber>;
     LI: ZodOptional<ZodNumber>;
     LOS: ZodOptional<ZodArray<ZodString>>;
     M: ZodOptional<ZodNumber>;
     Q: ZodOptional<ZodNumber>;
     R: ZodOptional<ZodNumber>;
     S: ZodOptional<ZodNumber>;
     SKU: ZodOptional<ZodNumber>;
     U: ZodOptional<ZodNumber>;
  }, $strict>>;
}, $strict>;

Defined in: schemas.ts:238

Validation schema for ListsResponse.


MultiLookupSchema

ts
const MultiLookupSchema: ZodUnion<readonly [ZodString, ZodArray<ZodString>]>;

Defined in: schemas.ts:117


ProductResponseSchema

ts
const ProductResponseSchema: ZodObject<{
  credits: ZodNumber;
  is_more: ZodBoolean;
  limit: ZodNumber;
  next_page: ZodString;
  page: ZodNumber;
  query: ZodString;
  remaining: ZodNumber;
  results: ZodNumber;
  shop_count: ZodNumber;
  shops: ZodArray<ZodObject<{
     Domain: ZodString;
     Products: ZodArray<ZodObject<{
        FirstIndexed: ZodString;
        Indexed: ZodString;
        Price: ZodNumber;
        Title: ZodString;
        Url: ZodString;
     }, $strict>>;
     Spend: ZodNumber;
     Type: ZodNumber;
  }, $strict>>;
  used: ZodNumber;
  used_this_query: ZodNumber;
}, $strict>;

Defined in: schemas.ts:432

Validation schema for ProductResponse.


RecommendationsResponseSchema

ts
const RecommendationsResponseSchema: ZodArray<ZodObject<{
  Compiled: ZodString;
  Domain: ZodString;
  Recommendations: ZodArray<ZodObject<{
     categories: ZodArray<ZodString>;
     link: ZodString;
     match: ZodNumber;
     name: ZodString;
     stars: ZodNumber;
     tag: ZodString;
  }, $strict>>;
}, $strict>>;

Defined in: schemas.ts:391

Validation schema for RecommendationsResponse.


RedirectsResponseSchema

ts
const RedirectsResponseSchema: ZodObject<{
  Inbound: ZodArray<ZodObject<{
     Domain: ZodString;
     FirstDetected: ZodString;
     LastDetected: ZodString;
  }, $strict>>;
  Lookup: ZodString;
  Outbound: ZodArray<ZodObject<{
     Domain: ZodString;
     FirstDetected: ZodString;
     LastDetected: ZodString;
  }, $strict>>;
}, $strict>;

Defined in: schemas.ts:411

Validation schema for RedirectsResponse.


RelationshipsResponseSchema

ts
const RelationshipsResponseSchema: ZodObject<{
  Errors: ZodArray<ZodString>;
  max_per_page: ZodNumber;
  more_results: ZodBoolean;
  next_skip: ZodNumber;
  Relationships: ZodArray<ZodObject<{
     Domain: ZodString;
     Identifiers: ZodArray<ZodObject<{
        First: ZodNumber;
        Last: ZodNumber;
        Matches: ZodArray<ZodObject<{
           Domain: ...;
           First: ...;
           Last: ...;
           Overlap: ...;
        }, $strict>>;
        Type: ZodString;
        Value: ZodString;
     }, $strict>>;
  }, $strict>>;
  results: ZodNumber;
}, $strict>;

Defined in: schemas.ts:265

Validation schema for RelationshipsResponse.


ResponseFormatSchema

ts
const ResponseFormatSchema: ZodEnum<{
  csv: "csv";
  json: "json";
  tsv: "tsv";
  txt: "txt";
  xml: "xml";
}>;

Defined in: schemas.ts:6

Supported API response formats.


SingleLookupSchema

ts
const SingleLookupSchema: ZodString;

Defined in: schemas.ts:116


TagsResponseSchema

ts
const TagsResponseSchema: ZodArray<ZodObject<{
  Matches: ZodArray<ZodObject<{
     Domain: ZodString;
     First: ZodString;
     Last: ZodString;
  }, $strict>>;
  Value: ZodString;
}, $strict>>;

Defined in: schemas.ts:375

Validation schema for TagsResponse.


TrendsParamsSchema

ts
const TrendsParamsSchema: ZodObject<{
  date: ZodOptional<ZodString>;
}, $strict>;

Defined in: schemas.ts:73

Validation schema for TrendsParams.


TrendsResponseSchema

ts
const TrendsResponseSchema: ZodObject<{
  Tech: ZodObject<{
     categories: ZodArray<ZodString>;
     coverage: ZodObject<{
        expired: ZodNumber;
        hundred_k: ZodNumber;
        live: ZodNumber;
        milly: ZodNumber;
        ten_k: ZodNumber;
     }, $strict>;
     description: ZodString;
     icon: ZodString;
     is_premium: ZodString;
     link: ZodString;
     name: ZodString;
     tag: ZodString;
     trends_link: ZodString;
  }, $strict>;
}, $strict>;

Defined in: schemas.ts:309

Validation schema for TrendsResponse.


TrustParamsSchema

ts
const TrustParamsSchema: ZodObject<{
  live: ZodOptional<ZodBoolean>;
  words: ZodOptional<ZodString>;
}, $strict>;

Defined in: schemas.ts:102

Validation schema for TrustParams.


TrustResponseSchema

ts
const TrustResponseSchema: ZodObject<{
  DBRecord: ZodObject<{
     AffiliateLinks: ZodBoolean;
     DBIndexed: ZodBoolean;
     EarliestRecord: ZodNumber;
     Ecommerce: ZodBoolean;
     Established: ZodBoolean;
     LatestUpdate: ZodNumber;
     LiveTechs: ZodBoolean;
     Parked: ZodBoolean;
     PaymentOptions: ZodBoolean;
     PremiumTechs: ZodNumber;
     Spend: ZodNumber;
  }, $strict>;
  Domain: ZodString;
  LiveRecord: ZodNullable<ZodObject<{
  }, $loose>>;
  Status: ZodNumber;
}, $strict>;

Defined in: schemas.ts:351

Validation schema for TrustResponse.