@getanyapi/sdk 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.
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/index.ts","../src/core/errors.ts","../src/core/account.ts","../src/core/client.ts","../src/core/types.ts","../src/core/pagination.ts","../src/generated/platforms/ahrefs.ts","../src/generated/platforms/airbnb.ts","../src/generated/platforms/alibaba.ts","../src/generated/platforms/amazon.ts","../src/generated/platforms/appstore.ts","../src/generated/platforms/bluesky.ts","../src/generated/platforms/booking.ts","../src/generated/platforms/coinmarketcap.ts","../src/generated/platforms/congress.ts","../src/generated/platforms/dexscreener.ts","../src/generated/platforms/ebay.ts","../src/generated/platforms/email.ts","../src/generated/platforms/facebook.ts","../src/generated/platforms/fiverr.ts","../src/generated/platforms/github.ts","../src/generated/platforms/glassdoor.ts","../src/generated/platforms/google.ts","../src/generated/platforms/google_ads.ts","../src/generated/platforms/google_finance.ts","../src/generated/platforms/google_shopping.ts","../src/generated/platforms/hackernews.ts","../src/generated/platforms/indeed.ts","../src/generated/platforms/instagram.ts","../src/generated/platforms/linkedin.ts","../src/generated/platforms/maps.ts","../src/generated/platforms/pandaexpress.ts","../src/generated/platforms/person.ts","../src/generated/platforms/pinterest.ts","../src/generated/platforms/playstore.ts","../src/generated/platforms/polymarket.ts","../src/generated/platforms/realtor.ts","../src/generated/platforms/reddit.ts","../src/generated/platforms/redfin.ts","../src/generated/platforms/rednote.ts","../src/generated/platforms/sec.ts","../src/generated/platforms/semrush.ts","../src/generated/platforms/snapchat.ts","../src/generated/platforms/social.ts","../src/generated/platforms/spotify.ts","../src/generated/platforms/substack.ts","../src/generated/platforms/threads.ts","../src/generated/platforms/tiktok.ts","../src/generated/platforms/tiktok_shop.ts","../src/generated/platforms/tripadvisor.ts","../src/generated/platforms/trustpilot.ts","../src/generated/platforms/truthsocial.ts","../src/generated/platforms/twitter.ts","../src/generated/platforms/upwork.ts","../src/generated/platforms/walmart.ts","../src/generated/platforms/web.ts","../src/generated/platforms/whatsapp.ts","../src/generated/platforms/yahoo_finance.ts","../src/generated/platforms/yelp.ts","../src/generated/platforms/youtube.ts","../src/generated/platforms/zillow.ts","../src/generated/client.ts"],"sourcesContent":["// Public barrel for @getanyapi/sdk. Named exports only (SPEC 0.4).\n//\n// The generated barrel (src/generated/index.ts) is the composed surface: it exports the\n// generated AnyAPI (the base client with every platform namespace attached), the augmented\n// SkuMap, every platform's input/data/item types, and re-exports the handwritten core\n// public surface (RunResult, errors, unwrap, agentSignup, ...). This entry re-exports it\n// wholesale, then adds the two core symbols the generated barrel does not surface\n// (ClientCore, paginate). See SPEC.md section 2.\n\nexport * from \"./generated/index.js\";\n\nexport { paginate } from \"./core/index.js\";\nexport type { ClientCore } from \"./core/index.js\";\n","// Handwritten runtime core: the error hierarchy and status mapping. See SPEC.md 2.6.\n// Named exports only; zero runtime deps.\n\n/**\n * Base error for all AnyAPI SDK failures.\n */\nexport class AnyAPIError extends Error {\n /** HTTP status code, or 0 for transport-level failures (connection/timeout). */\n readonly status: number;\n /** The x-request-id response header when present, else undefined. */\n readonly requestId?: string;\n\n constructor(message: string, status: number, requestId?: string) {\n super(message);\n this.name = new.target.name;\n this.status = status;\n if (requestId !== undefined) {\n this.requestId = requestId;\n }\n // Restore prototype chain for downlevel targets / bundlers.\n Object.setPrototypeOf(this, new.target.prototype);\n }\n}\n\n/** HTTP 400. */\nexport class BadRequestError extends AnyAPIError {}\n/** HTTP 401. */\nexport class AuthenticationError extends AnyAPIError {}\n/** HTTP 402. */\nexport class InsufficientBalanceError extends AnyAPIError {}\n/** HTTP 404. */\nexport class NotFoundError extends AnyAPIError {}\n/**\n * Thrown by {@link unwrap} when a found-data result carried `found: false` (the upstream\n * had no matching result). A subclass of NotFoundError so `catch (NotFoundError)` still\n * catches it; catch ResultNotFoundError specifically to handle only empty results (not\n * HTTP 404s). See SPEC 2.3 erratum.\n */\nexport class ResultNotFoundError extends NotFoundError {}\n/** HTTP 429. */\nexport class RateLimitedError extends AnyAPIError {}\n/** HTTP 502. */\nexport class UpstreamError extends AnyAPIError {}\n/** status 0, network failure. */\nexport class ConnectionError extends AnyAPIError {}\n/** status 0, request timed out. */\nexport class TimeoutError extends AnyAPIError {}\n\n/**\n * Map a non-2xx HTTP status to the corresponding error class and construct it.\n * See SPEC 2.6: 400/401/402/404/429/502 map to named classes; any other status maps\n * to the AnyAPIError base carrying that status.\n */\nexport function errorFromStatus(\n status: number,\n message: string,\n requestId?: string,\n): AnyAPIError {\n switch (status) {\n case 400:\n return new BadRequestError(message, status, requestId);\n case 401:\n return new AuthenticationError(message, status, requestId);\n case 402:\n return new InsufficientBalanceError(message, status, requestId);\n case 404:\n return new NotFoundError(message, status, requestId);\n case 429:\n return new RateLimitedError(message, status, requestId);\n case 502:\n return new UpstreamError(message, status, requestId);\n default:\n return new AnyAPIError(message, status, requestId);\n }\n}\n","// Handwritten runtime core: account/catalog response mapping and standalone agent\n// signup. See SPEC.md 2.7. Credits never leak: perItemCredits/fromCredits are converted\n// to USD inside these mappers. Named exports only; zero runtime deps.\n\nimport { AnyAPIError, ConnectionError, errorFromStatus } from \"./errors.js\";\nimport type {\n AccountProfile,\n AgentSignupOptions,\n AgentSignupResult,\n CatalogEntry,\n} from \"./types.js\";\n\n/** Internal accounting unit -> USD. 1 credit = $0.00001. Never exposed. */\nconst CREDITS_TO_USD = 0.00001;\nconst DEFAULT_BASE_URL = \"https://api.getanyapi.com\";\n\n/** Raw /v1/me shape (superset; internal-only fields are dropped by mapProfile). */\nexport interface ProfileResponse {\n id: string;\n email?: string | null;\n status: string;\n createdAt: string;\n onboardingComplete: boolean;\n // dropped: clerkUserId, signupGrantApplied, and any other server-only fields.\n clerkUserId?: string;\n signupGrantApplied?: boolean;\n}\n\n/** Raw catalog entry from /v1/apis (prices in the internal credits unit). */\nexport interface CatalogEntryResponse {\n slug: string;\n name?: string;\n category?: string | null;\n description?: string | null;\n fromCredits?: number | null;\n platform?: string;\n action?: string;\n}\n\n/** Raw /v1/apis list envelope. */\nexport interface CatalogListResponse {\n apis?: CatalogEntryResponse[];\n}\n\n/** Derive platform/action from a dotted slug (prefix before/after the first \".\"). */\nfunction splitSlug(slug: string): { platform: string; action: string } {\n const dot = slug.indexOf(\".\");\n if (dot < 0) {\n return { platform: slug, action: \"\" };\n }\n return { platform: slug.slice(0, dot), action: slug.slice(dot + 1) };\n}\n\n/** Map the raw /v1/me body to AccountProfile, dropping internal-only fields. */\nexport function mapProfile(raw: ProfileResponse): AccountProfile {\n const profile: AccountProfile = {\n id: raw.id,\n status: raw.status,\n createdAt: raw.createdAt,\n onboardingComplete: raw.onboardingComplete,\n };\n if (raw.email !== undefined && raw.email !== null) {\n profile.email = raw.email;\n }\n return profile;\n}\n\n/** Map one raw catalog entry to CatalogEntry, converting credits to USD internally. */\nexport function mapCatalogEntry(raw: CatalogEntryResponse): CatalogEntry {\n const derived = splitSlug(raw.slug);\n return {\n slug: raw.slug,\n platform: raw.platform ?? derived.platform,\n action: raw.action ?? derived.action,\n name: raw.name ?? \"\",\n category: raw.category ?? \"\",\n description: raw.description ?? \"\",\n priceUsd: (raw.fromCredits ?? 0) * CREDITS_TO_USD,\n };\n}\n\n/** Map the raw /v1/apis list to CatalogEntry[]. */\nexport function mapCatalogList(raw: CatalogListResponse): CatalogEntry[] {\n return (raw.apis ?? []).map(mapCatalogEntry);\n}\n\n/** Raw /agent/signup body. */\ninterface AgentSignupResponse {\n secret: string;\n capUsd: number;\n claimToken: string;\n claimUrl: string;\n}\n\n/**\n * Agent self-signup. POST /agent/signup with NO auth header. Returns a one-time API key\n * plus its spend cap and claim details. See SPEC 2.7.\n */\nexport async function agentSignup(\n options: AgentSignupOptions = {},\n): Promise<AgentSignupResult> {\n const fetchImpl = options.fetch ?? globalThis.fetch;\n if (typeof fetchImpl !== \"function\") {\n throw new AnyAPIError(\n \"no fetch implementation available: pass options.fetch or run on a runtime with global fetch\",\n 0,\n );\n }\n const base = (options.baseUrl ?? DEFAULT_BASE_URL).replace(/\\/+$/, \"\");\n const body: Record<string, string> = {};\n if (options.sponsorEmail !== undefined) {\n body[\"sponsorEmail\"] = options.sponsorEmail;\n }\n if (options.label !== undefined) {\n body[\"label\"] = options.label;\n }\n\n let response: Response;\n try {\n response = await fetchImpl(`${base}/agent/signup`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n Accept: \"application/json\",\n },\n body: JSON.stringify(body),\n });\n } catch (err) {\n throw new ConnectionError(\n err instanceof Error ? err.message : \"connection failed\",\n 0,\n );\n }\n\n const requestId = response.headers.get(\"x-request-id\") ?? undefined;\n const text = await response.text().catch(() => \"\");\n if (response.status !== 200) {\n let message = `request failed with status ${response.status}`;\n try {\n const parsed = JSON.parse(text) as { error?: unknown };\n if (typeof parsed.error === \"string\" && parsed.error !== \"\") {\n message = parsed.error;\n }\n } catch {\n // not JSON\n }\n throw errorFromStatus(response.status, message, requestId);\n }\n\n const parsed = JSON.parse(text) as AgentSignupResponse;\n return {\n secret: parsed.secret,\n capUsd: parsed.capUsd,\n claimToken: parsed.claimToken,\n claimUrl: parsed.claimUrl,\n };\n}\n","// Handwritten runtime core: the single network seam plus the public AnyAPI base class.\n// See SPEC.md 2.1, 2.2, 2.8. Named exports only; zero runtime deps (global fetch).\n\nimport {\n AnyAPIError,\n ConnectionError,\n TimeoutError,\n errorFromStatus,\n} from \"./errors.js\";\nimport {\n mapCatalogEntry,\n mapCatalogList,\n mapProfile,\n type CatalogListResponse,\n type CatalogEntryResponse,\n type ProfileResponse,\n} from \"./account.js\";\nimport type {\n AccountProfile,\n CatalogEntry,\n CatalogQuery,\n ClientOptions,\n RequestOptions,\n RunResult,\n} from \"./types.js\";\n\nconst DEFAULT_BASE_URL = \"https://api.getanyapi.com\";\nconst DEFAULT_TIMEOUT_MS = 60_000;\nconst DEFAULT_MAX_RETRIES = 2;\nconst RETRY_BASE_DELAY_MS = 500;\nconst RETRY_MAX_DELAY_MS = 8_000;\n\n/**\n * The single network seam that generated per-SKU methods call. See SPEC 2.2. The generated\n * platform methods hand it a slug + input and cast the RunResult to their concrete data\n * type (found-data) or to a BareRunResult (bare SKUs); the seam itself stays untyped.\n */\nexport interface ClientCore {\n run<T>(slug: string, input: unknown, options?: RequestOptions): Promise<RunResult<T>>;\n}\n\n/**\n * Read the API key from the environment without crashing in browsers or edge runtimes\n * where `process` is undefined.\n */\nfunction envApiKey(): string | undefined {\n try {\n if (typeof process !== \"undefined\" && process?.env) {\n return process.env[\"ANYAPI_API_KEY\"];\n }\n } catch {\n // `process` may be a restricted proxy in some edge runtimes; ignore.\n }\n return undefined;\n}\n\n/**\n * Sleep for `ms` milliseconds, rejecting early if the signal aborts.\n */\nfunction sleep(ms: number, signal?: AbortSignal): Promise<void> {\n return new Promise<void>((resolve, reject) => {\n if (signal?.aborted) {\n reject(new ConnectionError(\"request aborted\", 0));\n return;\n }\n const timer = setTimeout(() => {\n signal?.removeEventListener(\"abort\", onAbort);\n resolve();\n }, ms);\n const onAbort = () => {\n clearTimeout(timer);\n reject(new ConnectionError(\"request aborted\", 0));\n };\n signal?.addEventListener(\"abort\", onAbort, { once: true });\n });\n}\n\n/**\n * Compute the jittered exponential backoff delay for a given retry attempt. See SPEC 2.8.\n * `attempt` is 0 for the first retry.\n */\nfunction backoffDelay(attempt: number): number {\n const base = Math.min(RETRY_BASE_DELAY_MS * 2 ** attempt, RETRY_MAX_DELAY_MS);\n const factor = 0.5 + Math.random(); // random in [0.5, 1.5)\n return base * factor;\n}\n\n/**\n * Parse a Retry-After header (delta-seconds or HTTP-date) into a delay in ms, capped at\n * maxDelay. Returns undefined when the header is absent or unparseable.\n */\nfunction parseRetryAfter(header: string | null): number | undefined {\n if (header === null) {\n return undefined;\n }\n const trimmed = header.trim();\n if (trimmed === \"\") {\n return undefined;\n }\n const seconds = Number(trimmed);\n if (Number.isFinite(seconds)) {\n const ms = seconds * 1000;\n return Math.min(Math.max(ms, 0), RETRY_MAX_DELAY_MS);\n }\n const dateMs = Date.parse(trimmed);\n if (Number.isFinite(dateMs)) {\n const delta = dateMs - Date.now();\n return Math.min(Math.max(delta, 0), RETRY_MAX_DELAY_MS);\n }\n return undefined;\n}\n\n/**\n * Compose the caller's AbortSignal (if any) with a per-request timeout signal so the\n * request aborts on whichever fires first.\n */\nfunction composeSignal(\n timeoutMs: number,\n callerSignal: AbortSignal | undefined,\n): { signal: AbortSignal; timeoutSignal: AbortSignal } {\n const timeoutSignal = AbortSignal.timeout(timeoutMs);\n if (!callerSignal) {\n return { signal: timeoutSignal, timeoutSignal };\n }\n // AbortSignal.any composes multiple signals; available on Node >=20 / modern runtimes.\n const anyFn = (AbortSignal as { any?: (signals: AbortSignal[]) => AbortSignal }).any;\n if (typeof anyFn === \"function\") {\n return { signal: anyFn([timeoutSignal, callerSignal]), timeoutSignal };\n }\n // Fallback: manually bridge both signals into a controller.\n const controller = new AbortController();\n const abort = (reason: unknown) => controller.abort(reason);\n if (callerSignal.aborted) {\n controller.abort(callerSignal.reason);\n } else {\n callerSignal.addEventListener(\"abort\", () => abort(callerSignal.reason), { once: true });\n }\n if (timeoutSignal.aborted) {\n controller.abort(timeoutSignal.reason);\n } else {\n timeoutSignal.addEventListener(\"abort\", () => abort(timeoutSignal.reason), { once: true });\n }\n return { signal: controller.signal, timeoutSignal };\n}\n\n/**\n * True when an abort reason denotes a timeout (TimeoutError DOMException from\n * AbortSignal.timeout) rather than a caller cancellation.\n */\nfunction isTimeoutSignal(timeoutSignal: AbortSignal, callerSignal?: AbortSignal): boolean {\n if (!timeoutSignal.aborted) {\n return false;\n }\n // If the caller signal also aborted, prefer the caller's cancellation semantics only\n // when the timeout did not fire; here timeout did fire, so treat as timeout.\n return callerSignal?.aborted !== true || timeoutSignal.aborted;\n}\n\n/**\n * Build the request URL with response-shaping query params from options. See SPEC 2.2.\n */\nfunction buildUrl(baseUrl: string, slug: string, options?: RequestOptions): string {\n const base = baseUrl.replace(/\\/+$/, \"\");\n const url = new URL(`${base}/v1/run/${slug}`);\n if (options?.fields && options.fields.length > 0) {\n url.searchParams.set(\"fields\", options.fields.join(\",\"));\n }\n if (options?.maxItems !== undefined) {\n url.searchParams.set(\"max_items\", String(options.maxItems));\n }\n if (options?.summary === true) {\n url.searchParams.set(\"summary\", \"true\");\n }\n return url.toString();\n}\n\n/**\n * Extract an error message from a non-200 body: the JSON `error` field when present,\n * else a generic status-derived fallback.\n */\nfunction messageFromBody(body: string, status: number): string {\n if (body) {\n try {\n const parsed = JSON.parse(body) as { error?: unknown };\n if (typeof parsed.error === \"string\" && parsed.error !== \"\") {\n return parsed.error;\n }\n } catch {\n // not JSON; fall through\n }\n }\n return `request failed with status ${status}`;\n}\n\n/**\n * The concrete network runtime. `AnyAPI` extends this and generated namespaces attach as\n * lazy getters on subclasses/augmentations. Handwritten; see SPEC 2.1/2.2.\n */\nexport class AnyAPI implements ClientCore {\n private readonly apiKey: string | undefined;\n private readonly baseUrl: string;\n private readonly fetchImpl: typeof fetch;\n private readonly maxRetries: number;\n private readonly timeoutMs: number;\n\n /**\n * The network seam the generated per-platform namespaces target. The base client IS a\n * ClientCore (it implements `run`), so the generated subclass hands `this._core` to each\n * namespace constructor. Kept protected so it is not part of the public surface.\n */\n protected readonly _core: ClientCore = this;\n\n constructor(options: ClientOptions = {}) {\n this.apiKey = options.apiKey ?? envApiKey();\n if (!this.apiKey) {\n throw new AnyAPIError(\n \"no API key: pass apiKey or set ANYAPI_API_KEY\",\n 0,\n );\n }\n this.baseUrl = options.baseUrl ?? DEFAULT_BASE_URL;\n const resolvedFetch = options.fetch ?? globalThis.fetch;\n if (typeof resolvedFetch !== \"function\") {\n throw new AnyAPIError(\n \"no fetch implementation available: pass options.fetch or run on a runtime with global fetch\",\n 0,\n );\n }\n this.fetchImpl = resolvedFetch;\n this.maxRetries = options.maxRetries ?? DEFAULT_MAX_RETRIES;\n this.timeoutMs = options.timeoutMs ?? DEFAULT_TIMEOUT_MS;\n }\n\n /**\n * Generic run for any SKU by slug (the untyped network seam + the string fallback). The\n * generated `AnyAPI` subclass adds typed literal-slug overloads on top (SPEC 2.1); this\n * base signature is the fallback that returns RunResult<unknown> for an unknown slug.\n */\n run<T = unknown>(\n slug: string,\n input: unknown,\n options?: RequestOptions,\n ): Promise<RunResult<T>> {\n return this.request<RunResult<T>>(\"POST\", buildUrl(this.baseUrl, slug, options), {\n body: JSON.stringify(input ?? {}),\n timeoutMs: options?.timeoutMs ?? this.timeoutMs,\n maxRetries: options?.maxRetries ?? this.maxRetries,\n ...(options?.signal ? { signal: options.signal } : {}),\n });\n }\n\n /** Current wallet balance in USD. GET /v1/balance. See SPEC 2.7. */\n balance(): Promise<{ usd: number }> {\n return this.httpGet<{ usd: number }>(\"/v1/balance\");\n }\n\n /** The authenticated account profile. GET /v1/me. See SPEC 2.7. */\n async me(): Promise<AccountProfile> {\n const raw = await this.httpGet<ProfileResponse>(\"/v1/me\");\n return mapProfile(raw);\n }\n\n /** List catalog SKUs, optionally filtered. GET /v1/apis. See SPEC 2.7. */\n async catalog(query?: CatalogQuery): Promise<CatalogEntry[]> {\n const search = new URLSearchParams();\n if (query?.query) {\n search.set(\"query\", query.query);\n }\n if (query?.category) {\n search.set(\"category\", query.category);\n }\n const qs = search.toString();\n const raw = await this.httpGet<CatalogListResponse>(\n qs ? `/v1/apis?${qs}` : \"/v1/apis\",\n );\n return mapCatalogList(raw);\n }\n\n /** Describe a single SKU by slug. GET /v1/apis/{slug}. 404 -> NotFoundError. See SPEC 2.7. */\n async describe(slug: string): Promise<CatalogEntry> {\n const raw = await this.httpGet<CatalogEntryResponse>(\n `/v1/apis/${encodeURIComponent(slug)}`,\n );\n return mapCatalogEntry(raw);\n }\n\n /** Internal GET against the gateway with the same auth/retry/error machinery. */\n private httpGet<T>(path: string): Promise<T> {\n return this.request<T>(\"GET\", `${this.gatewayBaseUrl}${path}`, {\n timeoutMs: this.timeoutMs,\n maxRetries: this.maxRetries,\n });\n }\n\n /**\n * Shared request machinery for run + account GET helpers. Owns auth headers, retry,\n * timeout, abort composition, JSON parse, and status->error mapping. See SPEC 2.2/2.8.\n */\n protected async request<T>(\n method: string,\n url: string,\n opts: {\n body?: string;\n timeoutMs: number;\n maxRetries: number;\n signal?: AbortSignal;\n },\n ): Promise<T> {\n const headers: Record<string, string> = {\n Accept: \"application/json\",\n };\n if (opts.body !== undefined) {\n headers[\"Content-Type\"] = \"application/json\";\n }\n if (this.apiKey) {\n headers[\"Authorization\"] = `Bearer ${this.apiKey}`;\n }\n\n let attempt = 0;\n for (;;) {\n const { signal, timeoutSignal } = composeSignal(opts.timeoutMs, opts.signal);\n let response: Response;\n try {\n response = await this.fetchImpl(url, {\n method,\n headers,\n ...(opts.body !== undefined ? { body: opts.body } : {}),\n signal,\n });\n } catch (err) {\n // Distinguish timeout from a genuine transport failure.\n if (isTimeoutSignal(timeoutSignal, opts.signal)) {\n throw new TimeoutError(\"request timed out\", 0);\n }\n if (opts.signal?.aborted) {\n throw new ConnectionError(\"request aborted\", 0);\n }\n // Network / DNS / connection reset: retryable.\n const connErr = new ConnectionError(\n err instanceof Error ? err.message : \"connection failed\",\n 0,\n );\n if (attempt < opts.maxRetries) {\n await sleep(backoffDelay(attempt), opts.signal);\n attempt += 1;\n continue;\n }\n throw connErr;\n }\n\n const requestId = response.headers.get(\"x-request-id\") ?? undefined;\n\n if (response.status === 200) {\n const text = await response.text();\n try {\n return JSON.parse(text) as T;\n } catch {\n throw new AnyAPIError(\"failed to parse response JSON\", 200, requestId);\n }\n }\n\n // Non-200: read body for the error message, then map to a typed error.\n const body = await response.text().catch(() => \"\");\n const message = messageFromBody(body, response.status);\n\n if (response.status === 429 && attempt < opts.maxRetries) {\n const retryAfter = parseRetryAfter(response.headers.get(\"retry-after\"));\n const delay = retryAfter ?? backoffDelay(attempt);\n await sleep(delay, opts.signal);\n attempt += 1;\n continue;\n }\n\n throw errorFromStatus(response.status, message, requestId);\n }\n }\n\n /** Internal accessor for GET helpers in account.ts (same base URL / machinery). */\n protected get gatewayBaseUrl(): string {\n return this.baseUrl.replace(/\\/+$/, \"\");\n }\n\n protected get clientMaxRetries(): number {\n return this.maxRetries;\n }\n\n protected get clientTimeoutMs(): number {\n return this.timeoutMs;\n }\n}\n","// Handwritten runtime core: shared types for @getanyapi/sdk.\n// See SPEC.md sections 2.1, 2.3, 2.7. Named exports only; zero runtime deps.\n\n/**\n * The normalized run envelope returned by /v1/run/{slug}.\n */\nexport interface RunResult<T> {\n /** Discriminated on `found`. */\n output: Output<T>;\n /** Always the literal \"AnyAPI\". Upstream providers are never named. */\n provider: \"AnyAPI\";\n /** Amount charged in USD for this call. */\n costUsd: number;\n /** Number of result rows returned (present on per-result SKUs). */\n items?: number;\n /** Optional server nudge when a large result was returned untrimmed. */\n hint?: string;\n}\n\n/**\n * Discriminated union on `found`. When found is false, data is null.\n */\nexport type Output<T> =\n | { found: true; data: T }\n | { found: false; data: null };\n\n/**\n * The run envelope for a BARE SKU (SPEC 1.2 erratum). A handful of SKUs return their data\n * object directly as `output`, with no `{ found, data }` wrapper (e.g. reddit.search's\n * `output` IS `{ posts, nextCursor }`). Their result types `output` as the data payload\n * directly; there is no not-found branch to discriminate.\n */\nexport interface BareRunResult<T> {\n /** The data payload directly (no found/data wrapper). */\n output: T;\n /** Always the literal \"AnyAPI\". Upstream providers are never named. */\n provider: \"AnyAPI\";\n /** Amount charged in USD for this call. */\n costUsd: number;\n /** Number of result rows returned (present on per-result SKUs). */\n items?: number;\n /** Optional server nudge when a large result was returned untrimmed. */\n hint?: string;\n}\n\n/**\n * Return the data payload when found, or throw ResultNotFoundError when the upstream had no\n * matching entity. Narrows Output<T> to T.\n *\n * Two overloads: a found-data RunResult may be empty (throws when found is false); a bare\n * result always carries its data (returns output directly, never throws).\n */\nexport function unwrap<T>(result: BareRunResult<T>): T;\nexport function unwrap<T>(result: RunResult<T>): T;\nexport function unwrap<T>(result: RunResult<T> | BareRunResult<T>): T {\n const output = (result as { output: unknown }).output;\n // Found-data envelope: an object carrying a boolean `found` discriminator.\n if (\n output !== null &&\n typeof output === \"object\" &&\n \"found\" in (output as Record<string, unknown>)\n ) {\n const env = output as { found: boolean; data: T };\n if (env.found) {\n return env.data;\n }\n // Imported lazily-shaped through the errors module to keep this file dependency-light.\n throw new ResultNotFoundError(\"no matching result was found\", 404);\n }\n // Bare result: output IS the data payload.\n return output as T;\n}\n\n/**\n * Per-request options shaping the response and controlling retry/timeout. See SPEC 2.7.\n */\nexport interface RequestOptions {\n /** Keep only these keys on each result item (dotted paths descend). Shrinks the response, not the cost. */\n fields?: string[];\n /** Cap result rows returned (wire max_items). Does not change cost. On iterators, caps total items yielded. */\n maxItems?: number;\n /** Return only a structural outline instead of full data. Does not change cost. */\n summary?: boolean;\n /** Override the client per-request timeout (ms) for this call. */\n timeoutMs?: number;\n /** AbortSignal to cancel this request. */\n signal?: AbortSignal;\n /** Override the client maxRetries for this call. */\n maxRetries?: number;\n}\n\n/**\n * Client construction options. See SPEC 2.1.\n */\nexport interface ClientOptions {\n /** Your AnyAPI key. Falls back to process.env.ANYAPI_API_KEY when omitted. */\n apiKey?: string;\n /** Gateway base URL. Defaults to \"https://api.getanyapi.com\". */\n baseUrl?: string;\n /** Custom fetch implementation. Defaults to globalThis.fetch. */\n fetch?: typeof fetch;\n /** Max retry attempts for retryable failures (429 + network). Default 2. */\n maxRetries?: number;\n /** Per-request timeout in milliseconds. Default 60000. */\n timeoutMs?: number;\n}\n\n/**\n * Account profile returned by /v1/me (internal-only fields dropped). See SPEC 2.7.\n */\nexport interface AccountProfile {\n id: string;\n email?: string;\n status: string;\n createdAt: string;\n onboardingComplete: boolean;\n}\n\n/**\n * Query for filtering the catalog. See SPEC 2.7.\n */\nexport interface CatalogQuery {\n query?: string;\n category?: string;\n}\n\n/**\n * One catalog entry as returned by /v1/apis. Priced in USD (never credits). See SPEC 2.7.\n */\nexport interface CatalogEntry {\n slug: string;\n platform: string;\n action: string;\n name: string;\n category: string;\n description: string;\n /** Cheapest per-request price in USD (the \"from\" price). */\n priceUsd: number;\n}\n\n/**\n * Options for standalone agent self-signup (no key required). See SPEC 2.7.\n */\nexport interface AgentSignupOptions {\n /** Gateway base URL. Defaults to \"https://api.getanyapi.com\". */\n baseUrl?: string;\n /** Custom fetch implementation. Defaults to globalThis.fetch. */\n fetch?: typeof fetch;\n /** Optional human verification channel. */\n sponsorEmail?: string;\n /** Optional key label. */\n label?: string;\n}\n\n/**\n * Result of a successful agent self-signup. See SPEC 2.7.\n */\nexport interface AgentSignupResult {\n /** The API key, returned once. */\n secret: string;\n /** Per-key spend cap in USD. */\n capUsd: number;\n claimToken: string;\n claimUrl: string;\n}\n\nimport { ResultNotFoundError } from \"./errors.js\";\n","// Handwritten runtime core: cursor pagination. See SPEC.md 2.5. The emitter targets\n// `paginate(core, slug, input, itemsField, bare, options)`. Named exports only; zero deps.\n\nimport type { ClientCore } from \"./client.js\";\nimport type { BareRunResult, RequestOptions, RunResult } from \"./types.js\";\n\n/**\n * An async-iterable of flattened items that also exposes whole pages. See SPEC 2.5. `Page`\n * is the page result type: `RunResult<Data>` for found-data SKUs, `BareRunResult<Data>` for\n * bare SKUs (SPEC 1.2 erratum).\n */\nexport interface Paginator<Item, Page> extends AsyncIterable<Item> {\n /** Iterate whole pages (each a run result) instead of flattened items. */\n pages(): AsyncIterable<Page>;\n}\n\n/** Read the page data object from either envelope, or null when a found-data page is empty. */\nfunction pageData(result: { output: unknown }, bare: boolean): Record<string, unknown> | null {\n if (bare) {\n const out = result.output;\n return out !== null && typeof out === \"object\"\n ? (out as Record<string, unknown>)\n : null;\n }\n const env = result.output as { found?: boolean; data?: unknown };\n if (!env || env.found !== true || env.data === null || env.data === undefined) {\n return null;\n }\n return env.data as Record<string, unknown>;\n}\n\n/**\n * Walk a paginated SKU: run page 1, then follow `nextCursor` until it is null/empty.\n * `itemsField` is the array property on the page data holding the page items. `bare`\n * selects the envelope: found-data (`output.data`) or bare (`output` is the data).\n *\n * Walk semantics (SPEC 2.5):\n * - Stop when the page data is null (found:false / null data, or a non-object bare output).\n * - Yield each item from `itemsField`, then follow a non-empty string `nextCursor` by\n * setting `input.cursor` and repeating.\n * - `options.maxItems` caps the TOTAL items yielded across all pages. It is NOT sent as\n * the wire `max_items` shaping param (the iterator manages paging itself).\n * - `.pages()` yields each run result (including the last) and stops on null nextCursor.\n */\nexport function paginate<Item, Page extends RunResult<unknown> | BareRunResult<unknown>>(\n core: ClientCore,\n slug: string,\n input: Record<string, unknown>,\n itemsField: string,\n bare: boolean,\n options?: RequestOptions,\n): Paginator<Item, Page> {\n // The iterator manages max_items itself; never forward it to the wire.\n const wireOptions: RequestOptions | undefined = stripMaxItems(options);\n const maxItems = options?.maxItems;\n\n async function* walkPages(): AsyncGenerator<Page, void, unknown> {\n let cursor: string | undefined;\n for (;;) {\n const pageInput: Record<string, unknown> = { ...input };\n if (cursor !== undefined) {\n pageInput[\"cursor\"] = cursor;\n }\n const result = (await core.run<unknown>(slug, pageInput, wireOptions)) as Page;\n yield result;\n\n const data = pageData(result, bare);\n if (data === null) {\n return;\n }\n const next = data[\"nextCursor\"];\n if (typeof next !== \"string\" || next === \"\") {\n return;\n }\n cursor = next;\n }\n }\n\n async function* walkItems(): AsyncGenerator<Item, void, unknown> {\n let yielded = 0;\n for await (const page of walkPages()) {\n const data = pageData(page, bare);\n if (data === null) {\n return;\n }\n const items = data[itemsField];\n if (!Array.isArray(items)) {\n continue;\n }\n for (const item of items) {\n if (maxItems !== undefined && yielded >= maxItems) {\n return;\n }\n yield item as Item;\n yielded += 1;\n }\n if (maxItems !== undefined && yielded >= maxItems) {\n return;\n }\n }\n }\n\n const paginator: Paginator<Item, Page> = {\n [Symbol.asyncIterator]: () => walkItems(),\n pages: () => ({ [Symbol.asyncIterator]: () => walkPages() }),\n };\n return paginator;\n}\n\n/** Return options without the maxItems key (iterator caps totals client-side). */\nfunction stripMaxItems(options?: RequestOptions): RequestOptions | undefined {\n if (!options) {\n return undefined;\n }\n const { maxItems: _maxItems, ...rest } = options;\n void _maxItems;\n return rest;\n}\n","// Generated - do not edit. Regenerate with: pnpm generate\n\nimport type {\n ClientCore,\n RequestOptions,\n RunResult,\n} from \"../../core/index.js\";\n\n/**\n * Input for Ahrefs Backlinks (ahrefs.backlinks).\n */\nexport interface AhrefsBacklinksInput {\n /**\n * Match scope: \"exact\" for the given URL only, or \"subdomains\" to include the domain and its subdomains.\n * One of: exact, subdomains.\n * Default: subdomains.\n */\n mode?: \"exact\" | \"subdomains\";\n /**\n * The domain or page URL to find backlinks for (e.g. \"ahrefs.com\").\n */\n url: string;\n}\n\nexport interface AhrefsBacklinksItem {\n /**\n * Anchor text of the link.\n */\n anchor?: string;\n /**\n * Text immediately after the anchor on the referring page.\n */\n contextAfter?: string;\n /**\n * Text immediately before the anchor on the referring page.\n */\n contextBefore?: string;\n /**\n * Ahrefs Domain Rating (0-100) of the linking domain.\n */\n domainRating?: number;\n /**\n * Title of the referring page.\n */\n title?: string;\n /**\n * URL of the referring page that contains the link.\n */\n urlFrom: string;\n /**\n * Target URL the link points to.\n */\n urlTo?: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Ahrefs Backlinks (ahrefs.backlinks).\n */\nexport interface AhrefsBacklinksData {\n /**\n * Referring pages that link to the domain or URL.\n */\n items: AhrefsBacklinksItem[];\n}\n\n/**\n * Input for Ahrefs Keyword Ideas (ahrefs.keyword_ideas).\n */\nexport interface AhrefsKeywordIdeasInput {\n /**\n * Two-letter country code that scopes the suggestions (e.g. us, gb, de).\n * Default: us.\n */\n country?: string;\n /**\n * The seed keyword to expand into related suggestions (e.g. \"coffee\").\n */\n keyword: string;\n}\n\nexport interface AhrefsKeywordIdeasItem {\n /**\n * Two-letter country code the suggestions are scoped to.\n */\n country?: string;\n /**\n * Related keyword suggestions for the seed term.\n * Present whenever the upstream returns this record.\n */\n ideas?: AhrefsKeywordIdeasIdea[];\n /**\n * Search engine the suggestions are drawn from (e.g. Google).\n */\n searchEngine?: string;\n /**\n * The seed keyword the suggestions were expanded from.\n */\n sourceKeyword: string;\n [extra: string]: unknown;\n}\n\nexport interface AhrefsKeywordIdeasIdea {\n /**\n * Relative Ahrefs difficulty bucket (a letter such as E, M, or H), not an exact number.\n */\n difficulty?: string;\n /**\n * The suggested related keyword.\n */\n keyword: string;\n /**\n * Timestamp the suggestion metrics were last updated.\n */\n updatedAt?: string;\n /**\n * Relative search-volume bucket (a letter grade), not an exact number.\n */\n volume?: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Ahrefs Keyword Ideas (ahrefs.keyword_ideas).\n */\nexport interface AhrefsKeywordIdeasData {\n /**\n * Keyword-idea records: the seed keyword and its related keyword suggestions, each with an Ahrefs difficulty and search-volume bucket.\n */\n items: AhrefsKeywordIdeasItem[];\n}\n\n/**\n * Input for Ahrefs Keyword Difficulty (ahrefs.keywords).\n */\nexport interface AhrefsKeywordsInput {\n /**\n * Two-letter country code that scopes volume and difficulty (e.g. us, gb, de).\n * Default: us.\n */\n country?: string;\n /**\n * The search term to analyze (e.g. \"seo tools\").\n */\n keyword: string;\n}\n\nexport interface AhrefsKeywordsItem {\n /**\n * Two-letter country code the metrics are scoped to.\n */\n country?: string;\n /**\n * Ahrefs Keyword Difficulty, 0-100.\n */\n difficulty?: number;\n keyword: string;\n /**\n * Estimated number of referring domains a page needs to rank in the top 10 for this keyword.\n */\n referringDomainsToRank?: number;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Ahrefs Keyword Difficulty (ahrefs.keywords).\n */\nexport interface AhrefsKeywordsData {\n /**\n * Keyword-difficulty records: the difficulty score and the referring-domain gap needed to rank in the top 10.\n */\n items: AhrefsKeywordsItem[];\n}\n\n/**\n * Input for Ahrefs Domain Overview (ahrefs.overview).\n */\nexport interface AhrefsOverviewInput {\n /**\n * Analysis scope: subdomains covers the whole domain, exact matches only the given URL.\n * One of: exact, subdomains.\n * Default: subdomains.\n */\n mode?: \"exact\" | \"subdomains\";\n /**\n * The domain or page URL to analyze (e.g. ahrefs.com).\n */\n url: string;\n}\n\nexport interface AhrefsOverviewItem {\n /**\n * Total number of backlinks pointing to the domain.\n */\n backlinks?: number;\n /**\n * Percentage (0-100) of backlinks that are dofollow.\n */\n dofollowBacklinksPct?: number;\n /**\n * Percentage (0-100) of referring domains that provide a dofollow link.\n */\n dofollowReferringDomainsPct?: number;\n /**\n * The domain or URL the metrics are scoped to.\n */\n domain: string;\n /**\n * Ahrefs Domain Rating, 0-100, measuring backlink-profile strength.\n */\n domainRating?: number;\n /**\n * Analysis scope used: subdomains (whole domain) or exact (the given URL only).\n */\n mode?: string;\n /**\n * Number of unique referring domains linking to the domain.\n */\n referringDomains?: number;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Ahrefs Domain Overview (ahrefs.overview).\n */\nexport interface AhrefsOverviewData {\n /**\n * Domain authority records: the requested domain plus its Domain Rating, total backlinks, and referring-domain counts.\n */\n items: AhrefsOverviewItem[];\n}\n\n/**\n * Typed methods for the ahrefs platform. Attached to the AnyAPI client as\n * `client.ahrefs`.\n */\nexport class AhrefsNamespace {\n constructor(private readonly _core: ClientCore) {}\n\n /**\n * Ahrefs Backlinks\n *\n * Get the referring pages linking to a domain or URL, each with the source page, anchor text, linking domain rating, and page title. Transparent per-request USD pricing.\n *\n * Price: $0.0195 per request.\n *\n * @example\n * const res = await client.ahrefs.backlinks({ url: \"ahrefs.com\", mode: \"exact\" });\n */\n backlinks(\n input: AhrefsBacklinksInput,\n options?: RequestOptions,\n ): Promise<RunResult<AhrefsBacklinksData>> {\n return this._core.run(\"ahrefs.backlinks\", input, options);\n }\n\n /**\n * Ahrefs Keyword Ideas\n *\n * Get related keyword suggestions for any seed term, each with an Ahrefs difficulty and search-volume bucket. Transparent per-request USD pricing.\n *\n * Price: $0.0015 per request plus $0.018 per result.\n *\n * @example\n * const res = await client.ahrefs.keywordIdeas({ keyword: \"coffee\", country: \"us\" });\n */\n keywordIdeas(\n input: AhrefsKeywordIdeasInput,\n options?: RequestOptions,\n ): Promise<RunResult<AhrefsKeywordIdeasData>> {\n return this._core.run(\"ahrefs.keyword_ideas\", input, options);\n }\n\n /**\n * Ahrefs Keyword Difficulty\n *\n * Get the Ahrefs keyword-difficulty metrics for any search term: the difficulty score (0-100) and the number of referring domains a page needs to rank in the top 10 - as normalized JSON with transparent per-request USD pricing.\n *\n * Price: $0.0015 per request plus $0.018 per result.\n *\n * @example\n * const res = await client.ahrefs.keywords({ keyword: \"seo tools\", country: \"us\" });\n */\n keywords(\n input: AhrefsKeywordsInput,\n options?: RequestOptions,\n ): Promise<RunResult<AhrefsKeywordsData>> {\n return this._core.run(\"ahrefs.keywords\", input, options);\n }\n\n /**\n * Ahrefs Domain Overview\n *\n * Get an SEO authority overview for any domain or URL: Domain Rating, total backlinks, and referring domains - as normalized JSON with transparent per-request USD pricing.\n *\n * Price: $0.0015 per request plus $0.018 per result.\n *\n * @example\n * const res = await client.ahrefs.overview({ url: \"ahrefs.com\", mode: \"subdomains\" });\n */\n overview(\n input: AhrefsOverviewInput,\n options?: RequestOptions,\n ): Promise<RunResult<AhrefsOverviewData>> {\n return this._core.run(\"ahrefs.overview\", input, options);\n }\n}\n","// Generated - do not edit. Regenerate with: pnpm generate\n\nimport type {\n ClientCore,\n RequestOptions,\n RunResult,\n} from \"../../core/index.js\";\n\n/**\n * Input for Airbnb Search (airbnb.search).\n */\nexport interface AirbnbSearchInput {\n /**\n * Number of adult guests (e.g. 2).\n */\n adults?: number;\n /**\n * Check-in date in YYYY-MM-DD format (e.g. 2026-07-01).\n */\n checkIn?: string;\n /**\n * Check-out date in YYYY-MM-DD format (e.g. 2026-07-05).\n */\n checkOut?: string;\n /**\n * Currency code for prices (e.g. EUR).\n * Default: USD.\n */\n currency?: string;\n /**\n * Maximum number of results to return (1-20, default 20). You are billed per result returned, so a lower limit costs less.\n * Range: minimum 1, maximum 20.\n */\n limit?: number;\n /**\n * Location to search listings in (e.g. London).\n */\n location: string;\n}\n\nexport interface AirbnbSearchItem {\n hostName?: string;\n /**\n * Airbnb listing identifier.\n */\n id: string;\n /**\n * Primary listing image URL.\n * Present whenever the upstream returns this record.\n */\n image?: string;\n isAvailable?: boolean;\n isSuperhost?: boolean;\n latitude?: number;\n /**\n * Location subtitle.\n */\n location?: string;\n longitude?: number;\n personCapacity?: number;\n /**\n * Nightly price label.\n */\n price?: string;\n propertyType?: string;\n /**\n * Guest satisfaction rating (0-5).\n */\n rating?: number;\n reviewsCount?: number;\n roomType?: string;\n title: string;\n url: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Airbnb Search (airbnb.search).\n */\nexport interface AirbnbSearchData {\n /**\n * Listing records: name, nightly price, rating, location, host info, and availability details.\n */\n items: AirbnbSearchItem[];\n}\n\n/**\n * Typed methods for the airbnb platform. Attached to the AnyAPI client as\n * `client.airbnb`.\n */\nexport class AirbnbNamespace {\n constructor(private readonly _core: ClientCore) {}\n\n /**\n * Airbnb Search\n *\n * Search Airbnb listings by location and dates and get results (name, price, rating, host) as normalized JSON with flat per-request USD pricing.\n *\n * Price: $0.00008 per request plus $0.0015 per result.\n *\n * @example\n * const res = await client.airbnb.search({ location: \"San Diego\", limit: 3 });\n */\n search(\n input: AirbnbSearchInput,\n options?: RequestOptions,\n ): Promise<RunResult<AirbnbSearchData>> {\n return this._core.run(\"airbnb.search\", input, options);\n }\n}\n","// Generated - do not edit. Regenerate with: pnpm generate\n\nimport type {\n ClientCore,\n RequestOptions,\n RunResult,\n} from \"../../core/index.js\";\n\n/**\n * Input for Alibaba Search (alibaba.search).\n */\nexport interface AlibabaSearchInput {\n /**\n * Maximum number of results to return (1-25, default 25). You are billed per result returned, so a lower limit costs less.\n * Range: minimum 1, maximum 25.\n */\n limit?: number;\n /**\n * Keywords to search for on Alibaba (e.g. \"bluetooth speaker wholesale\").\n */\n query: string;\n}\n\nexport interface AlibabaSearchItem {\n title: string;\n url: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Alibaba Search (alibaba.search).\n */\nexport interface AlibabaSearchData {\n /**\n * Matching Alibaba wholesale listings: title, price range, minimum order quantity, supplier name, and listing URL.\n */\n items: AlibabaSearchItem[];\n}\n\n/**\n * Typed methods for the alibaba platform. Attached to the AnyAPI client as\n * `client.alibaba`.\n */\nexport class AlibabaNamespace {\n constructor(private readonly _core: ClientCore) {}\n\n /**\n * Alibaba Search\n *\n * Search Alibaba by keyword and get up to 25 wholesale listings - title, price range, minimum order, and supplier - in one normalized, flat-priced response.\n *\n * Price: $0.0012 per result.\n *\n * @example\n * const res = await client.alibaba.search({ query: \"bluetooth speaker\", limit: 3 });\n */\n search(\n input: AlibabaSearchInput,\n options?: RequestOptions,\n ): Promise<RunResult<AlibabaSearchData>> {\n return this._core.run(\"alibaba.search\", input, options);\n }\n}\n","// Generated - do not edit. Regenerate with: pnpm generate\n\nimport type {\n ClientCore,\n RequestOptions,\n RunResult,\n} from \"../../core/index.js\";\n\n/**\n * Input for Amazon Products by ASIN (amazon.asins).\n */\nexport interface AmazonAsinsInput {\n /**\n * Amazon marketplace domain to fetch products from (e.g. amazon.com, amazon.de, amazon.co.uk).\n * Default: amazon.com.\n */\n amazonDomain?: string;\n /**\n * Up to 10 Amazon ASINs to look up (e.g. [\"B0CHX1W1XY\", \"B09G9FPHY6\"]).\n */\n asins: string[];\n /**\n * Maximum number of results to return (1-10, default 10). You are billed per result returned, so a lower limit costs less.\n * Range: minimum 1, maximum 10.\n */\n limit?: number;\n}\n\nexport interface AmazonAsinsItem {\n /**\n * Amazon Standard Identification Number.\n */\n asin: string;\n /**\n * Present whenever the upstream returns this record.\n */\n brand?: string;\n condition?: string;\n currency?: string;\n /**\n * Primary product image URL.\n * Present whenever the upstream returns this record.\n */\n image?: string;\n inStock?: boolean;\n /**\n * Buy-box price; 0 when no offer is available.\n */\n price?: number;\n /**\n * Average star rating, 0-5.\n */\n rating?: number;\n reviewsCount?: number;\n sellerName?: string;\n title: string;\n url: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Amazon Products by ASIN (amazon.asins).\n */\nexport interface AmazonAsinsData {\n /**\n * Product records: ASIN, title, brand, price, ratings, images, and attributes.\n */\n items: AmazonAsinsItem[];\n}\n\n/**\n * Input for Amazon Bestsellers (amazon.bestsellers).\n */\nexport interface AmazonBestsellersInput {\n /**\n * Maximum number of results to return (1-20, default 20). You are billed per result returned, so a lower limit costs less.\n * Range: minimum 1, maximum 20.\n */\n limit?: number;\n /**\n * Amazon Best Sellers category URL (e.g. https://www.amazon.com/Best-Sellers-Electronics/zgbs/electronics).\n */\n url: string;\n}\n\nexport interface AmazonBestsellersItem {\n asin: string;\n title: string;\n url: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Amazon Bestsellers (amazon.bestsellers).\n */\nexport interface AmazonBestsellersData {\n /**\n * Best-seller product records: category rank, title, price, rating, thumbnail, and product URL.\n */\n items: AmazonBestsellersItem[];\n}\n\n/**\n * Input for Amazon Product (amazon.product).\n */\nexport interface AmazonProductInput {\n /**\n * Full Amazon product URL (e.g. https://www.amazon.com/dp/B0CX23V2ZK).\n */\n url: string;\n}\n\nexport interface AmazonProductItem {\n asin: string;\n /**\n * Manufacturer or brand name.\n * Present whenever the upstream returns this record.\n */\n brand?: string;\n /**\n * High-resolution product image URLs.\n * Present whenever the upstream returns this record.\n */\n images?: string[];\n /**\n * Current price as a numeric amount. Absent when the listing has no buyable price (out of stock).\n */\n priceAmount?: number;\n /**\n * Average customer star rating, 0 to 5.\n */\n rating?: number;\n /**\n * Total number of customer reviews.\n */\n reviewCount?: number;\n title: string;\n url: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Amazon Product (amazon.product).\n */\nexport interface AmazonProductData {\n /**\n * Product detail records: title, url, asin, brand, price amount (when in stock), images, rating, review count, and (passed through) variant details and attributes.\n */\n items: AmazonProductItem[];\n}\n\n/**\n * Input for Amazon Reviews (amazon.reviews).\n */\nexport interface AmazonReviewsInput {\n /**\n * Maximum number of results to return (1-50, default 50). You are billed per result returned, so a lower limit costs less.\n * Range: minimum 1, maximum 50.\n */\n limit?: number;\n /**\n * Amazon product ASIN or full product URL (e.g. B07CMS5Q6P).\n */\n product: string;\n /**\n * Amazon marketplace domain the product ASIN belongs to (e.g. amazon.co.uk).\n * One of: amazon.com, amazon.ca, amazon.de, amazon.fr, amazon.co.uk, amazon.it, amazon.es, amazon.com.au, amazon.co.jp, amazon.com.br, amazon.com.mx, amazon.nl, amazon.ie, amazon.se, amazon.com.tr, amazon.ae, amazon.sg, amazon.sa, amazon.pl, amazon.com.be, amazon.eg, amazon.in.\n * Default: amazon.com.\n */\n region?:\n | \"amazon.com\"\n | \"amazon.ca\"\n | \"amazon.de\"\n | \"amazon.fr\"\n | \"amazon.co.uk\"\n | \"amazon.it\"\n | \"amazon.es\"\n | \"amazon.com.au\"\n | \"amazon.co.jp\"\n | \"amazon.com.br\"\n | \"amazon.com.mx\"\n | \"amazon.nl\"\n | \"amazon.ie\"\n | \"amazon.se\"\n | \"amazon.com.tr\"\n | \"amazon.ae\"\n | \"amazon.sg\"\n | \"amazon.sa\"\n | \"amazon.pl\"\n | \"amazon.com.be\"\n | \"amazon.eg\"\n | \"amazon.in\";\n /**\n * Review sort order: most helpful first or most recent first (e.g. recent).\n * One of: helpful, recent.\n * Default: helpful.\n */\n sort?: \"helpful\" | \"recent\";\n}\n\nexport interface AmazonReviewsItem {\n rating: number;\n text: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Amazon Reviews (amazon.reviews).\n */\nexport interface AmazonReviewsData {\n /**\n * Customer review records: star rating, title, review text, date, reviewer, and verified-purchase status.\n */\n items: AmazonReviewsItem[];\n}\n\n/**\n * Input for Amazon Search (amazon.search).\n */\nexport interface AmazonSearchInput {\n /**\n * Maximum number of results to return (1-20, default 20). You are billed per result returned, so a lower limit costs less.\n * Range: minimum 1, maximum 20.\n */\n limit?: number;\n /**\n * Amazon search or category URL to pull results from (e.g. https://www.amazon.com/s?k=gaming+mouse).\n */\n url: string;\n}\n\nexport interface AmazonSearchItem {\n asin: string;\n /**\n * Currency symbol or code for the price.\n */\n currency?: string;\n /**\n * Current price as a numeric amount.\n */\n priceAmount?: number;\n /**\n * Average star rating.\n */\n rating?: number;\n /**\n * Number of customer reviews.\n */\n reviewCount?: number;\n /**\n * Product thumbnail image URL.\n * Present whenever the upstream returns this record.\n */\n thumbnail?: string;\n title: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Amazon Search (amazon.search).\n */\nexport interface AmazonSearchData {\n /**\n * Search result product records: title, ASIN, price amount, currency, rating, review count, and thumbnail.\n */\n items: AmazonSearchItem[];\n}\n\n/**\n * Typed methods for the amazon platform. Attached to the AnyAPI client as\n * `client.amazon`.\n */\nexport class AmazonNamespace {\n constructor(private readonly _core: ClientCore) {}\n\n /**\n * Amazon Products by ASIN\n *\n * Look up to 10 Amazon products in one call by ASIN - title, brand, price, ratings, images, and attributes - as normalized JSON with flat per-request USD pricing.\n *\n * Price: $0.0035 per asin.\n *\n * @example\n * const res = await client.amazon.asins({ asins: [\"B09G9FPHY6\"], limit: 3 });\n */\n asins(\n input: AmazonAsinsInput,\n options?: RequestOptions,\n ): Promise<RunResult<AmazonAsinsData>> {\n return this._core.run(\"amazon.asins\", input, options);\n }\n\n /**\n * Amazon Bestsellers\n *\n * List the top-ranked products of any Amazon Best Sellers category - rank, title, price, and rating - in one normalized, flat-priced request.\n *\n * Price: $0.0041 per result.\n *\n * @example\n * const res = await client.amazon.bestsellers({ url: \"https://www.amazon.com/gp/bestsellers/electronics\", limit: 3 });\n */\n bestsellers(\n input: AmazonBestsellersInput,\n options?: RequestOptions,\n ): Promise<RunResult<AmazonBestsellersData>> {\n return this._core.run(\"amazon.bestsellers\", input, options);\n }\n\n /**\n * Amazon Product\n *\n * Fetch full Amazon product details (title, brand, price when in stock, images, ratings, review count, variants, and attributes) from a product URL, with transparent per-request USD pricing.\n *\n * Price: $0.001 per request plus $0.0081 per result.\n *\n * @example\n * const res = await client.amazon.product({ url: \"https://www.amazon.com/dp/B00NTCH52W\" });\n */\n product(\n input: AmazonProductInput,\n options?: RequestOptions,\n ): Promise<RunResult<AmazonProductData>> {\n return this._core.run(\"amazon.product\", input, options);\n }\n\n /**\n * Amazon Reviews\n *\n * Pull up to 50 customer reviews for any Amazon product by ASIN or URL - rating, title, text, date, and verified-purchase badge - at a flat per-request USD price.\n *\n * Price: $0.01625 per request.\n *\n * @example\n * const res = await client.amazon.reviews({ product: \"B07FZ8S74R\", limit: 3 });\n */\n reviews(\n input: AmazonReviewsInput,\n options?: RequestOptions,\n ): Promise<RunResult<AmazonReviewsData>> {\n return this._core.run(\"amazon.reviews\", input, options);\n }\n\n /**\n * Amazon Search\n *\n * Search Amazon from any search or category URL and get up to 20 matching products - title, price, rating, and thumbnail - in one normalized, flat-priced response.\n *\n * Price: $0.0035 per result.\n *\n * @example\n * const res = await client.amazon.search({ url: \"https://www.amazon.com/s?k=laptop\", limit: 3 });\n */\n search(\n input: AmazonSearchInput,\n options?: RequestOptions,\n ): Promise<RunResult<AmazonSearchData>> {\n return this._core.run(\"amazon.search\", input, options);\n }\n}\n","// Generated - do not edit. Regenerate with: pnpm generate\n\nimport type {\n ClientCore,\n RequestOptions,\n RunResult,\n} from \"../../core/index.js\";\n\n/**\n * Input for App Store Reviews (appstore.reviews).\n */\nexport interface AppstoreReviewsInput {\n /**\n * Numeric App Store app ID, the digits at the end of the app's store URL without the 'id' prefix (e.g. 310633997).\n */\n appId: string;\n /**\n * Two-letter App Store storefront country code to read reviews from.\n * Default: us.\n */\n country?: string;\n /**\n * Maximum number of results to return (1-100, default 100). You are billed per result returned, so a lower limit costs less.\n * Range: minimum 1, maximum 100.\n */\n limit?: number;\n}\n\nexport interface AppstoreReviewsItem {\n rating: number;\n text: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of App Store Reviews (appstore.reviews).\n */\nexport interface AppstoreReviewsData {\n /**\n * Review records: star rating, review title and text, reviewer nickname, app version, and review date.\n */\n items: AppstoreReviewsItem[];\n}\n\n/**\n * Typed methods for the appstore platform. Attached to the AnyAPI client as\n * `client.appstore`.\n */\nexport class AppstoreNamespace {\n constructor(private readonly _core: ClientCore) {}\n\n /**\n * App Store Reviews\n *\n * Get App Store reviews for any iOS app by app ID, in any storefront country - ratings, titles, and review text with transparent per-request USD pricing.\n *\n * Price: $0.0001 per result.\n *\n * @example\n * const res = await client.appstore.reviews({ appId: \"389801252\", country: \"us\", limit: 3 });\n */\n reviews(\n input: AppstoreReviewsInput,\n options?: RequestOptions,\n ): Promise<RunResult<AppstoreReviewsData>> {\n return this._core.run(\"appstore.reviews\", input, options);\n }\n}\n","// Generated - do not edit. Regenerate with: pnpm generate\n\nimport type {\n ClientCore,\n RequestOptions,\n RunResult,\n} from \"../../core/index.js\";\n\n/**\n * Input for Bluesky Post (bluesky.post).\n */\nexport interface BlueskyPostInput {\n /**\n * Bluesky post URL, e.g. \"https://bsky.app/profile/bsky.app/post/3l6oveex3ii2l\".\n */\n url: string;\n}\n\n/**\n * The `data` payload of Bluesky Post (bluesky.post).\n */\nexport interface BlueskyPostData {\n authorHandle: string;\n createdAt: string;\n likes: number;\n replies: number;\n reposts: number;\n text: string;\n [extra: string]: unknown;\n}\n\n/**\n * Input for Bluesky Profile (bluesky.profile).\n */\nexport interface BlueskyProfileInput {\n /**\n * Bluesky handle, e.g. \"bsky.app\" or \"jay.bsky.team\".\n */\n handle: string;\n}\n\n/**\n * The `data` payload of Bluesky Profile (bluesky.profile).\n */\nexport interface BlueskyProfileData {\n description: string;\n displayName: string;\n followers: number;\n following: number;\n handle: string;\n postsCount: number;\n [extra: string]: unknown;\n}\n\n/**\n * Input for Bluesky User Posts (bluesky.user_posts).\n */\nexport interface BlueskyUserPostsInput {\n /**\n * Bluesky handle, e.g. \"bsky.app\" or \"jay.bsky.team\".\n */\n handle: string;\n}\n\nexport interface BlueskyUserPostsPost {\n authorHandle: string;\n createdAt: string;\n likes: number;\n replies: number;\n reposts: number;\n text: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Bluesky User Posts (bluesky.user_posts).\n */\nexport interface BlueskyUserPostsData {\n posts: BlueskyUserPostsPost[];\n}\n\n/**\n * Typed methods for the bluesky platform. Attached to the AnyAPI client as\n * `client.bluesky`.\n */\nexport class BlueskyNamespace {\n constructor(private readonly _core: ClientCore) {}\n\n /**\n * Bluesky Post\n *\n * Get a single Bluesky post by URL - text, author handle, like, reply, and repost counts as clean JSON, billed per request in USD.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.bluesky.post({ url: \"https://bsky.app/profile/bsky.app/post/3l6oveex3ii2l\" });\n */\n post(\n input: BlueskyPostInput,\n options?: RequestOptions,\n ): Promise<RunResult<BlueskyPostData>> {\n return this._core.run(\"bluesky.post\", input, options);\n }\n\n /**\n * Bluesky Profile\n *\n * Get a Bluesky user's public profile by handle - display name, bio, follower and post counts as clean JSON, billed per request in USD.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.bluesky.profile({ handle: \"bsky.app\" });\n */\n profile(\n input: BlueskyProfileInput,\n options?: RequestOptions,\n ): Promise<RunResult<BlueskyProfileData>> {\n return this._core.run(\"bluesky.profile\", input, options);\n }\n\n /**\n * Bluesky User Posts\n *\n * List a Bluesky account's recent posts (text, author handle, like, reply, and repost counts) by handle as clean JSON, normalized across providers, billed per request in USD.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.bluesky.userPosts({ handle: \"bsky.app\" });\n */\n userPosts(\n input: BlueskyUserPostsInput,\n options?: RequestOptions,\n ): Promise<RunResult<BlueskyUserPostsData>> {\n return this._core.run(\"bluesky.user_posts\", input, options);\n }\n}\n","// Generated - do not edit. Regenerate with: pnpm generate\n\nimport type {\n ClientCore,\n RequestOptions,\n RunResult,\n} from \"../../core/index.js\";\n\n/**\n * Input for Booking.com Search (booking.search).\n */\nexport interface BookingSearchInput {\n /**\n * Check-in date in YYYY-MM-DD format (e.g. 2026-07-01). Defaults to tomorrow.\n */\n checkIn?: string;\n /**\n * Check-out date in YYYY-MM-DD format (e.g. 2026-07-05). Defaults to the day after check-in.\n */\n checkOut?: string;\n /**\n * Currency code for prices (e.g. EUR).\n * Default: USD.\n */\n currency?: string;\n /**\n * Maximum number of hotels to return (1-20, default 20). You are billed per result returned, so a lower limit costs less.\n * Range: minimum 1, maximum 20.\n */\n limit?: number;\n /**\n * Destination city to search for stays in (e.g. Paris).\n */\n query: string;\n}\n\nexport interface BookingSearchItem {\n address?: string;\n city?: string;\n /**\n * ISO country code.\n */\n country?: string;\n currency?: string;\n /**\n * Booking.com hotel identifier.\n * Present whenever the upstream returns this record.\n */\n id?: string;\n /**\n * Primary hotel photo URL.\n * Present whenever the upstream returns this record.\n */\n image?: string;\n latitude?: number;\n /**\n * Neighborhood or area label.\n */\n location?: string;\n longitude?: number;\n name: string;\n /**\n * Total stay price in the requested currency.\n */\n price?: number;\n pricePerNight?: number;\n /**\n * Guest review score (0-10).\n */\n rating?: number;\n /**\n * Guest review score (0-10).\n */\n reviewScore?: number;\n reviewsCount?: number;\n /**\n * Star rating class (1-5).\n */\n stars?: number;\n url: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Booking.com Search (booking.search).\n */\nexport interface BookingSearchData {\n /**\n * Hotel result records: name, price, review score, star rating, address, and location.\n */\n items: BookingSearchItem[];\n}\n\n/**\n * Typed methods for the booking platform. Attached to the AnyAPI client as\n * `client.booking`.\n */\nexport class BookingNamespace {\n constructor(private readonly _core: ClientCore) {}\n\n /**\n * Booking.com Search\n *\n * Search Booking.com stays by destination and dates and get hotel results (name, price, review score, location) as normalized JSON with flat per-request USD pricing.\n *\n * Price: $0.002 per request plus $0.0045 per result.\n *\n * @example\n * const res = await client.booking.search({ query: \"New York\", checkIn: \"2026-09-01\", checkOut: \"2026-09-03\", limit: 3 });\n */\n search(\n input: BookingSearchInput,\n options?: RequestOptions,\n ): Promise<RunResult<BookingSearchData>> {\n return this._core.run(\"booking.search\", input, options);\n }\n}\n","// Generated - do not edit. Regenerate with: pnpm generate\n\nimport type {\n ClientCore,\n RequestOptions,\n RunResult,\n} from \"../../core/index.js\";\n\n/**\n * Input for CoinMarketCap Listings (coinmarketcap.listings).\n */\nexport interface CoinmarketcapListingsInput {\n /**\n * Maximum number of results to return (1-25, default 25). You are billed per result returned, so a lower limit costs less.\n * Range: minimum 1, maximum 25.\n */\n limit?: number;\n}\n\nexport interface CoinmarketcapListingsItem {\n /**\n * All-time high.\n */\n ath?: number;\n /**\n * All-time low.\n */\n atl?: number;\n circulatingSupply?: number;\n high24h?: number;\n /**\n * CoinMarketCap identifier.\n */\n id: string;\n /**\n * Present whenever the upstream returns this record.\n */\n lastUpdated?: string;\n low24h?: number;\n marketCap?: number;\n name: string;\n /**\n * Latest price in the primary quote currency (USD).\n */\n price?: number;\n /**\n * Present whenever the upstream returns this record.\n */\n slug?: string;\n symbol: string;\n totalSupply?: number;\n /**\n * 24h trading volume.\n */\n volume24h?: number;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of CoinMarketCap Listings (coinmarketcap.listings).\n */\nexport interface CoinmarketcapListingsData {\n /**\n * Cryptocurrency listing records: rank, name, symbol, price, market cap, trading volume, and 24h price change.\n */\n items: CoinmarketcapListingsItem[];\n}\n\n/**\n * Typed methods for the coinmarketcap platform. Attached to the AnyAPI client as\n * `client.coinmarketcap`.\n */\nexport class CoinmarketcapNamespace {\n constructor(private readonly _core: ClientCore) {}\n\n /**\n * CoinMarketCap Listings\n *\n * Get the current top cryptocurrencies from CoinMarketCap - rank, price, market cap, volume, and 24h change - as normalized JSON with transparent per-request USD pricing.\n *\n * Price: $0.0018 per result.\n *\n * @example\n * const res = await client.coinmarketcap.listings({ limit: 5 });\n */\n listings(\n input: CoinmarketcapListingsInput,\n options?: RequestOptions,\n ): Promise<RunResult<CoinmarketcapListingsData>> {\n return this._core.run(\"coinmarketcap.listings\", input, options);\n }\n}\n","// Generated - do not edit. Regenerate with: pnpm generate\n\nimport type {\n ClientCore,\n RequestOptions,\n RunResult,\n} from \"../../core/index.js\";\n\n/**\n * Input for Congress Stock Trades (congress.trades).\n */\nexport interface CongressTradesInput {\n /**\n * Latest transaction date to include, inclusive, in YYYY-MM-DD format (e.g. 2026-06-01).\n */\n endDate?: string;\n /**\n * Filter by the congressional member's first name, case-insensitive partial match (e.g. Nancy).\n */\n firstName?: string;\n /**\n * Filter by the congressional member's last name, case-insensitive partial match (e.g. Pelosi).\n */\n lastName?: string;\n /**\n * Maximum number of results to return (1-25, default 25). You are billed per result returned, so a lower limit costs less.\n * Range: minimum 1, maximum 25.\n */\n limit?: number;\n /**\n * Earliest transaction date to include, inclusive, in YYYY-MM-DD format (e.g. 2026-01-01).\n */\n startDate?: string;\n /**\n * Filter to transactions involving this stock ticker symbol (e.g. NVDA).\n */\n ticker?: string;\n}\n\nexport interface CongressTradesItem {\n id: string;\n /**\n * Present whenever the upstream returns this record.\n */\n name?: string;\n symbol: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Congress Stock Trades (congress.trades).\n */\nexport interface CongressTradesData {\n /**\n * Disclosure records: member name and chamber, stock ticker, transaction type, amount range, and transaction/report dates.\n */\n items: CongressTradesItem[];\n}\n\n/**\n * Typed methods for the congress platform. Attached to the AnyAPI client as\n * `client.congress`.\n */\nexport class CongressNamespace {\n constructor(private readonly _core: ClientCore) {}\n\n /**\n * Congress Stock Trades\n *\n * Get US Congress members' financial disclosures and stock trades - member, ticker, transaction type, amount range, and dates - filterable by member, ticker, or date range, billed per request in USD.\n *\n * Price: $0.001 per request plus $0.0019 per result.\n *\n * @example\n * const res = await client.congress.trades({ limit: 5 });\n */\n trades(\n input: CongressTradesInput,\n options?: RequestOptions,\n ): Promise<RunResult<CongressTradesData>> {\n return this._core.run(\"congress.trades\", input, options);\n }\n}\n","// Generated - do not edit. Regenerate with: pnpm generate\n\nimport type {\n ClientCore,\n RequestOptions,\n RunResult,\n} from \"../../core/index.js\";\n\n/**\n * Input for DEX Screener Tokens (dexscreener.tokens).\n */\nexport interface DexscreenerTokensInput {\n /**\n * Blockchain network to list tokens for, optionally scoped to a DEX as chain/dex (e.g. solana or ethereum/uniswap).\n */\n chain: string;\n /**\n * Maximum number of results to return (1-25, default 25). You are billed per result returned, so a lower limit costs less.\n * Range: minimum 1, maximum 25.\n */\n limit?: number;\n /**\n * Sort direction: desc or asc (e.g. desc).\n */\n order?: string;\n /**\n * Field to sort tokens by (e.g. volume, txns, liquidity, marketCap, trendingScoreH24).\n */\n rankBy?: string;\n /**\n * Stats timeframe: 24h, 6h, 1h, or 5m (e.g. 24h).\n * Default: 24h.\n */\n timeframe?: string;\n}\n\nexport interface DexscreenerTokensItem {\n /**\n * Present whenever the upstream returns this record.\n */\n name?: string;\n price: number;\n symbol: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of DEX Screener Tokens (dexscreener.tokens).\n */\nexport interface DexscreenerTokensData {\n /**\n * Token listing records: token name and symbol, pair, price, liquidity, volume, transaction counts, and price change.\n */\n items: DexscreenerTokensItem[];\n}\n\n/**\n * Typed methods for the dexscreener platform. Attached to the AnyAPI client as\n * `client.dexscreener`.\n */\nexport class DexscreenerNamespace {\n constructor(private readonly _core: ClientCore) {}\n\n /**\n * DEX Screener Tokens\n *\n * List trending tokens on any blockchain from DEX Screener - price, liquidity, volume, transactions, and market cap - sorted how you want, as normalized JSON with transparent per-request USD pricing.\n *\n * Price: $0.02 per request plus $0.0015 per result.\n *\n * @example\n * const res = await client.dexscreener.tokens({ chain: \"solana\", limit: 5 });\n */\n tokens(\n input: DexscreenerTokensInput,\n options?: RequestOptions,\n ): Promise<RunResult<DexscreenerTokensData>> {\n return this._core.run(\"dexscreener.tokens\", input, options);\n }\n}\n","// Generated - do not edit. Regenerate with: pnpm generate\n\nimport type {\n ClientCore,\n RequestOptions,\n RunResult,\n} from \"../../core/index.js\";\n\n/**\n * Input for eBay Search (ebay.search).\n */\nexport interface EbaySearchInput {\n /**\n * Maximum number of results to return (1 to 25, default 25). You are billed per result returned, so a lower limit costs less.\n * Range: minimum 1, maximum 25.\n */\n limit?: number;\n /**\n * Optional maximum item price in USD.\n * Range: minimum 0.\n */\n maxPrice?: number;\n /**\n * Optional minimum item price in USD.\n * Range: minimum 0.\n */\n minPrice?: number;\n /**\n * Search keywords, e.g. \"nintendo switch\" or \"vintage levis 501\".\n */\n query: string;\n}\n\nexport interface EbaySearchItem {\n condition?: string;\n /**\n * Primary listing image URL.\n * Present whenever the upstream returns this record.\n */\n image?: string;\n /**\n * eBay item identifier.\n */\n itemId: string;\n /**\n * Auction, FixedPrice, etc.\n */\n listingType?: string;\n /**\n * Listing price.\n */\n price?: number;\n /**\n * Seller positive-feedback percentage.\n */\n sellerFeedbackPercent?: number;\n sellerName?: string;\n /**\n * Shipping cost or free-delivery label.\n */\n shippingCost?: string;\n title: string;\n url: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of eBay Search (ebay.search).\n */\nexport interface EbaySearchData {\n /**\n * Listing records: title, price, condition, shipping cost, seller info, image, and item URL.\n */\n items: EbaySearchItem[];\n}\n\n/**\n * Input for eBay Sold Listings (ebay.sold_listings).\n */\nexport interface EbaySoldListingsInput {\n /**\n * Item condition filter (e.g. used).\n * One of: any, new, used.\n * Default: any.\n */\n condition?: \"any\" | \"new\" | \"used\";\n /**\n * How many days back to include sold listings, 1-90 (e.g. 30).\n * Default: 30.\n */\n daysBack?: number;\n /**\n * Maximum number of results to return (1-25, default 25). You are billed per result returned, so a lower limit costs less.\n * Range: minimum 1, maximum 25.\n */\n limit?: number;\n /**\n * Search keyword for sold items (e.g. iphone 13 pro).\n */\n query: string;\n /**\n * eBay country site to search (e.g. ebay.co.uk).\n * One of: ebay.com, ebay.co.uk, ebay.de, ebay.fr, ebay.it, ebay.es, ebay.ca, ebay.com.au.\n * Default: ebay.com.\n */\n site?:\n | \"ebay.com\"\n | \"ebay.co.uk\"\n | \"ebay.de\"\n | \"ebay.fr\"\n | \"ebay.it\"\n | \"ebay.es\"\n | \"ebay.ca\"\n | \"ebay.com.au\";\n}\n\nexport interface EbaySoldListingsItem {\n condition?: string;\n /**\n * Sale date (ISO 8601).\n */\n endedAt?: string;\n /**\n * Primary listing image URL.\n * Present whenever the upstream returns this record.\n */\n image?: string;\n /**\n * eBay item identifier.\n */\n itemId: string;\n listingType?: string;\n sellerUsername?: string;\n soldCurrency?: string;\n /**\n * Final sold price.\n */\n soldPrice?: number;\n title: string;\n /**\n * Sold price plus shipping.\n */\n totalPrice?: number;\n url: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of eBay Sold Listings (ebay.sold_listings).\n */\nexport interface EbaySoldListingsData {\n /**\n * Sold listing records: title, sold price, sale date, condition, shipping, and item URL.\n */\n items: EbaySoldListingsItem[];\n}\n\n/**\n * Typed methods for the ebay platform. Attached to the AnyAPI client as\n * `client.ebay`.\n */\nexport class EbayNamespace {\n constructor(private readonly _core: ClientCore) {}\n\n /**\n * eBay Search\n *\n * Search eBay active listings by keyword and get title, price, condition, shipping, seller, and sold count in one normalized response. You are billed per result returned.\n *\n * Price: $0.001 per request plus $0.00234 per result.\n *\n * @example\n * const res = await client.ebay.search({ query: \"nintendo switch\", limit: 3 });\n */\n search(\n input: EbaySearchInput,\n options?: RequestOptions,\n ): Promise<RunResult<EbaySearchData>> {\n return this._core.run(\"ebay.search\", input, options);\n }\n\n /**\n * eBay Sold Listings\n *\n * Retrieve recently sold eBay listings for any keyword - sold price, sale date, condition, and item details - ideal for pricing research, at a flat per-request USD price.\n *\n * Price: $0.00005 per request plus $0.004 per result.\n *\n * @example\n * const res = await client.ebay.soldListings({ query: \"nintendo switch\", limit: 3 });\n */\n soldListings(\n input: EbaySoldListingsInput,\n options?: RequestOptions,\n ): Promise<RunResult<EbaySoldListingsData>> {\n return this._core.run(\"ebay.sold_listings\", input, options);\n }\n}\n","// Generated - do not edit. Regenerate with: pnpm generate\n\nimport type {\n ClientCore,\n RequestOptions,\n RunResult,\n} from \"../../core/index.js\";\n\n/**\n * Input for Email Finder (email.find).\n */\nexport interface EmailFindInput {\n /**\n * The person to find an email for, e.g. {\"firstName\": \"Jane\", \"surname\": \"Doe\", \"domain\": \"acme.com\"} (domain also accepts a company name).\n */\n person?: {\n /**\n * Company domain (e.g. acme.com) or company name (e.g. Acme Inc), resolved automatically.\n */\n domain: string;\n /**\n * The person's first name (e.g. Jane).\n */\n firstName: string;\n /**\n * The person's last name (e.g. Doe).\n */\n surname: string;\n };\n}\n\nexport interface EmailFindItem {\n domain?: string;\n /**\n * Discovered email address, or empty when none was found.\n */\n email: string;\n firstName?: string;\n isDeliverable?: boolean;\n lastName?: string;\n /**\n * Lookup status (e.g. found, not_found).\n */\n status: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Email Finder (email.find).\n */\nexport interface EmailFindData {\n /**\n * Email lookup records: the discovered email address, verification status, and the matched person and company details.\n */\n items: EmailFindItem[];\n}\n\n/**\n * Input for Email Verifier (email.verify).\n */\nexport interface EmailVerifyInput {\n /**\n * The email address to verify (e.g. jane.doe@acme.com).\n */\n email: string;\n}\n\nexport interface EmailVerifyItem {\n /**\n * Domain accepts all addresses.\n */\n catchAll?: boolean;\n disposable?: boolean;\n domain?: string;\n email: string;\n /**\n * Free email provider.\n */\n free?: boolean;\n reason?: string;\n /**\n * Role-based address (e.g. info@).\n */\n role?: boolean;\n /**\n * Confidence score (0-100).\n */\n score?: number;\n /**\n * Deliverability verdict (e.g. valid, risky, invalid).\n */\n status: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Email Verifier (email.verify).\n */\nexport interface EmailVerifyData {\n /**\n * Verification records: the email address with its deliverability verdict and syntax, domain, and mailbox check details.\n */\n items: EmailVerifyItem[];\n}\n\n/**\n * Typed methods for the email platform. Attached to the AnyAPI client as\n * `client.email`.\n */\nexport class EmailNamespace {\n constructor(private readonly _core: ClientCore) {}\n\n /**\n * Email Finder\n *\n * Find a person's work email address from their name and company domain, with transparent per-request USD pricing.\n *\n * Price: $0.005 per request plus $0.008 per result.\n *\n * @example\n * const res = await client.email.find({ person: { domain: \"stripe.com\", firstName: \"Patrick\", surname: \"Collison\" } });\n */\n find(\n input: EmailFindInput,\n options?: RequestOptions,\n ): Promise<RunResult<EmailFindData>> {\n return this._core.run(\"email.find\", input, options);\n }\n\n /**\n * Email Verifier\n *\n * Verify any email address for deliverability - syntax, domain, and mailbox checks in one normalized response, priced per request in USD.\n *\n * Price: $0.0008 per result.\n *\n * @example\n * const res = await client.email.verify({ email: \"patrick@stripe.com\" });\n */\n verify(\n input: EmailVerifyInput,\n options?: RequestOptions,\n ): Promise<RunResult<EmailVerifyData>> {\n return this._core.run(\"email.verify\", input, options);\n }\n}\n","// Generated - do not edit. Regenerate with: pnpm generate\n\nimport type {\n ClientCore,\n Paginator,\n RequestOptions,\n RunResult,\n} from \"../../core/index.js\";\nimport { paginate } from \"../../core/index.js\";\n\n/**\n * Input for Facebook Ad Details (facebook.ad_details).\n */\nexport interface FacebookAdDetailsInput {\n /**\n * Meta Ad Library ad ID (e.g. \"702369045530963\"). Provide either id or url.\n */\n id?: string;\n /**\n * Meta Ad Library ad URL (e.g. \"https://www.facebook.com/ads/library?id=1185617869915074\"). Provide either id or url.\n */\n url?: string;\n}\n\n/**\n * The `data` payload of Facebook Ad Details (facebook.ad_details).\n */\nexport interface FacebookAdDetailsData {\n /**\n * Whether the ad is currently running.\n */\n active?: boolean;\n /**\n * Ad Library archive ID (stable identity).\n */\n adArchiveId: string;\n /**\n * Call-to-action label.\n * Present whenever the upstream returns this record.\n */\n ctaText?: string;\n /**\n * Spend currency, may be empty.\n */\n currency?: string;\n /**\n * Ad creative format.\n * Present whenever the upstream returns this record.\n */\n displayFormat?: string;\n /**\n * Run end, epoch seconds.\n */\n endDate?: number;\n /**\n * Creative destination URL.\n * Present whenever the upstream returns this record.\n */\n linkUrl?: string;\n /**\n * Advertiser page ID (stable identity).\n */\n pageId: string;\n /**\n * Advertiser page name.\n * Present whenever the upstream returns this record.\n */\n pageName?: string;\n /**\n * Publisher platforms the ad runs on.\n * Present whenever the upstream returns this record.\n */\n platforms?: string[];\n /**\n * Run start, epoch seconds.\n * Present whenever the upstream returns this record.\n */\n startDate?: number;\n /**\n * Ad body text.\n * Present whenever the upstream returns this record.\n */\n text?: string;\n /**\n * Creative title.\n * Present whenever the upstream returns this record.\n */\n title?: string;\n [extra: string]: unknown;\n}\n\n/**\n * Input for Facebook Ad Transcript (facebook.ad_transcript).\n */\nexport interface FacebookAdTranscriptInput {\n /**\n * Meta Ad Library ad ID (e.g. \"1020359190509080\"). Provide either id or url.\n */\n id?: string;\n /**\n * Meta Ad Library ad URL (e.g. \"https://www.facebook.com/ads/library?id=1020359190509080\"). Provide either id or url.\n */\n url?: string;\n}\n\n/**\n * The `data` payload of Facebook Ad Transcript (facebook.ad_transcript).\n */\nexport interface FacebookAdTranscriptData {\n adId: string;\n /**\n * Transcribed ad audio text.\n */\n transcript: string;\n transcriptAvailable: boolean;\n url: string;\n [extra: string]: unknown;\n}\n\n/**\n * Input for Facebook Ad Search (facebook.ads_search).\n */\nexport interface FacebookAdsSearchInput {\n /**\n * Two-letter country code to scope results. Omit for all countries.\n */\n country?: string;\n /**\n * Opaque pagination cursor from a previous response's nextCursor.\n */\n cursor?: string;\n /**\n * Creative media type filter.\n * One of: ALL, IMAGE, VIDEO, MEME, IMAGE_AND_MEME, NONE.\n */\n mediaType?: \"ALL\" | \"IMAGE\" | \"VIDEO\" | \"MEME\" | \"IMAGE_AND_MEME\" | \"NONE\";\n /**\n * Keyword to search the Meta Ad Library for (e.g. \"protein powder\").\n */\n query: string;\n /**\n * Ad status filter.\n * One of: ALL, ACTIVE, INACTIVE.\n * Default: ACTIVE.\n */\n status?: \"ALL\" | \"ACTIVE\" | \"INACTIVE\";\n}\n\nexport interface FacebookAdsSearchAd {\n active: boolean;\n /**\n * Number of ads in this campaign (collation count).\n */\n adCount: number;\n ctaText: string;\n ctaType: string;\n displayFormat: string;\n /**\n * Epoch seconds.\n */\n endDate: number;\n /**\n * Ad Library archive ID.\n */\n id: string;\n linkUrl: string;\n pageId: string;\n pageName: string;\n platforms: string[];\n /**\n * Epoch seconds.\n */\n startDate: number;\n /**\n * Ad body text.\n */\n text: string;\n title: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Facebook Ad Search (facebook.ads_search).\n */\nexport interface FacebookAdsSearchData {\n ads: FacebookAdsSearchAd[];\n nextCursor: string;\n totalResults: number;\n}\n\n/**\n * Input for Facebook Comment Replies (facebook.comment_replies).\n */\nexport interface FacebookCommentRepliesInput {\n /**\n * Pagination cursor from a previous response.\n */\n cursor?: string;\n /**\n * The expansion_token of the comment, from the post comments endpoint.\n */\n expansionToken: string;\n /**\n * The feedback_id of the comment (not the comment id).\n */\n feedbackId: string;\n}\n\nexport interface FacebookCommentRepliesReplie {\n authorId: string;\n authorName: string;\n authorProfilePicture: string;\n createdAt: string;\n expansionToken?: string;\n feedbackId: string;\n id: string;\n reactionCount: number;\n replyCount: number;\n text: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Facebook Comment Replies (facebook.comment_replies).\n */\nexport interface FacebookCommentRepliesData {\n hasNextPage: boolean;\n nextCursor: string;\n replies: FacebookCommentRepliesReplie[];\n}\n\n/**\n * Input for Facebook Company Ads (facebook.company_ads).\n */\nexport interface FacebookCompanyAdsInput {\n /**\n * Company name to search (e.g. \"nike\"). Provide either pageId or companyName.\n */\n companyName?: string;\n /**\n * Two-letter country code to scope results. Defaults to all countries.\n */\n country?: string;\n /**\n * Opaque pagination cursor from a previous response's nextCursor.\n */\n cursor?: string;\n /**\n * Creative media type filter.\n * One of: ALL, IMAGE, VIDEO, MEME, IMAGE_AND_MEME, NONE.\n */\n mediaType?: \"ALL\" | \"IMAGE\" | \"VIDEO\" | \"MEME\" | \"IMAGE_AND_MEME\" | \"NONE\";\n /**\n * Company's Ad Library page ID. Provide either pageId or companyName.\n */\n pageId?: string;\n /**\n * Ad status filter. Defaults to ACTIVE.\n * One of: ALL, ACTIVE, INACTIVE.\n */\n status?: \"ALL\" | \"ACTIVE\" | \"INACTIVE\";\n}\n\nexport interface FacebookCompanyAdsAd {\n active: boolean;\n /**\n * Number of ads in this campaign (collation count).\n */\n adCount: number;\n currency: string;\n displayFormat: string;\n /**\n * Epoch seconds.\n */\n endDate: number;\n /**\n * Ad Library archive ID.\n */\n id: string;\n pageId: string;\n pageName: string;\n platforms: string[];\n /**\n * Epoch seconds.\n */\n startDate: number;\n /**\n * Ad body text.\n */\n text: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Facebook Company Ads (facebook.company_ads).\n */\nexport interface FacebookCompanyAdsData {\n ads: FacebookCompanyAdsAd[];\n nextCursor: string;\n}\n\n/**\n * Input for Facebook Event Details (facebook.event_details).\n */\nexport interface FacebookEventDetailsInput {\n /**\n * The event's numeric identifier.\n */\n id?: string;\n /**\n * The event's Facebook URL.\n */\n url?: string;\n}\n\n/**\n * The `data` payload of Facebook Event Details (facebook.event_details).\n */\nexport interface FacebookEventDetailsData {\n city: string;\n coverPhotoUrl: string;\n dayTimeSentence: string;\n description: string;\n endTime: string;\n goingCount: number;\n id: string;\n interestedCount: number;\n isCanceled: boolean;\n isOnline: boolean;\n locationName: string;\n name: string;\n startTime: string;\n url: string;\n [extra: string]: unknown;\n}\n\n/**\n * Input for Facebook Events (facebook.events).\n */\nexport interface FacebookEventsInput {\n /**\n * Pagination cursor from a previous response to fetch the next page.\n */\n cursor?: string;\n /**\n * Timeframe filter for the returned events. Defaults to all time.\n * One of: today, this_week, next_week.\n */\n time?: \"today\" | \"this_week\" | \"next_week\";\n /**\n * URL of a city's or place's Facebook Events page (e.g. https://www.facebook.com/events/explore/saint-petersburg-florida/111326725552547).\n */\n url: string;\n}\n\nexport interface FacebookEventsEvent {\n dayTimeSentence: string;\n goingCount: number;\n id: string;\n interestedCount: number;\n isOnline: boolean;\n name: string;\n placeName: string;\n startTimestamp: number;\n url: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Facebook Events (facebook.events).\n */\nexport interface FacebookEventsData {\n events: FacebookEventsEvent[];\n nextCursor: string;\n}\n\n/**\n * Input for Facebook Events Search (facebook.events_search).\n */\nexport interface FacebookEventsSearchInput {\n /**\n * Pagination cursor from a previous response.\n */\n cursor?: string;\n /**\n * The query to search events for.\n */\n query: string;\n}\n\nexport interface FacebookEventsSearchEvent {\n coverImage: string;\n dayTimeSentence: string;\n goingCount: number;\n id: string;\n interestedCount: number;\n isOnline: boolean;\n isPast: boolean;\n name: string;\n placeName: string;\n priceRangeText: string;\n startTimestamp: number;\n url: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Facebook Events Search (facebook.events_search).\n */\nexport interface FacebookEventsSearchData {\n events: FacebookEventsSearchEvent[];\n nextCursor: string;\n}\n\n/**\n * Input for Facebook Followers (facebook.followers).\n */\nexport interface FacebookFollowersInput {\n /**\n * Which relation to fetch: 'follower' or 'following' (e.g. follower).\n * Default: follower.\n */\n followType?: string;\n /**\n * Maximum number of results to return (1-20, default 20). You are billed per result returned, so a lower limit costs less.\n * Range: minimum 1, maximum 20.\n */\n limit?: number;\n /**\n * Facebook page or profile URL to list follows for (e.g. https://www.facebook.com/nasa).\n */\n url: string;\n}\n\nexport interface FacebookFollowersItem {\n id: string;\n /**\n * Present whenever the upstream returns this record.\n */\n name?: string;\n url: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Facebook Followers (facebook.followers).\n */\nexport interface FacebookFollowersData {\n /**\n * Follower or following records: profile name, profile URL, and picture for each account.\n */\n items: FacebookFollowersItem[];\n}\n\n/**\n * Input for Facebook Group Posts (facebook.group_posts).\n */\nexport interface FacebookGroupPostsInput {\n /**\n * Pagination cursor from a previous response to fetch the next page.\n */\n cursor?: string;\n /**\n * Ordering for the returned posts (e.g. TOP_POSTS).\n * One of: TOP_POSTS, RECENT_ACTIVITY, CHRONOLOGICAL, CHRONOLOGICAL_LISTINGS.\n */\n sort?:\n | \"TOP_POSTS\"\n | \"RECENT_ACTIVITY\"\n | \"CHRONOLOGICAL\"\n | \"CHRONOLOGICAL_LISTINGS\";\n /**\n * The URL of a public Facebook group to fetch posts from (e.g. https://www.facebook.com/groups/1270525996445602/).\n */\n url: string;\n}\n\nexport interface FacebookGroupPostsPost {\n authorId: string;\n authorName: string;\n commentCount: number;\n id: string;\n permalink: string;\n publishTime: number;\n reactionCount: number;\n text: string;\n url: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Facebook Group Posts (facebook.group_posts).\n */\nexport interface FacebookGroupPostsData {\n nextCursor: string;\n posts: FacebookGroupPostsPost[];\n}\n\n/**\n * Input for Facebook Marketplace (facebook.marketplace).\n */\nexport interface FacebookMarketplaceInput {\n /**\n * Pagination cursor from a previous response to fetch the next page.\n */\n cursor?: string;\n /**\n * Latitude of the search location (e.g. '30.2677').\n */\n lat: string;\n /**\n * Longitude of the search location (e.g. '-97.7475').\n */\n lng: string;\n /**\n * Search keyword for Marketplace listings (e.g. 'bike').\n */\n query: string;\n /**\n * Sort order for the returned listings (e.g. price_ascend).\n * One of: suggested, distance_ascend, creation_time_descend, price_ascend, price_descend.\n */\n sort?:\n | \"suggested\"\n | \"distance_ascend\"\n | \"creation_time_descend\"\n | \"price_ascend\"\n | \"price_descend\";\n}\n\nexport interface FacebookMarketplaceListing {\n id: string;\n isSold: boolean;\n locationName: string;\n photoUrl: string;\n priceAmount: number;\n priceFormatted: string;\n title: string;\n url: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Facebook Marketplace (facebook.marketplace).\n */\nexport interface FacebookMarketplaceData {\n hasNextPage: boolean;\n listings: FacebookMarketplaceListing[];\n nextCursor: string;\n}\n\n/**\n * Input for Facebook Marketplace Item (facebook.marketplace_item).\n */\nexport interface FacebookMarketplaceItemInput {\n /**\n * Facebook Marketplace item ID.\n */\n id?: string;\n /**\n * Facebook Marketplace item URL.\n */\n url?: string;\n}\n\n/**\n * The `data` payload of Facebook Marketplace Item (facebook.marketplace_item).\n */\nexport interface FacebookMarketplaceItemData {\n categoryId: string;\n creationTime: string;\n currency: string;\n description: string;\n id: string;\n isLive: boolean;\n isSold: boolean;\n locationText: string;\n priceAmount: number;\n priceFormatted: string;\n title: string;\n url: string;\n [extra: string]: unknown;\n}\n\n/**\n * Input for Facebook Marketplace Location Search (facebook.marketplace_location_search).\n */\nexport interface FacebookMarketplaceLocationSearchInput {\n /**\n * Location search query (e.g. a city name).\n */\n query: string;\n}\n\nexport interface FacebookMarketplaceLocationSearchLocation {\n city: string;\n latitude: number;\n longitude: number;\n name: string;\n pageId: string;\n postalCode: string;\n subtitle: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Facebook Marketplace Location Search (facebook.marketplace_location_search).\n */\nexport interface FacebookMarketplaceLocationSearchData {\n locations: FacebookMarketplaceLocationSearchLocation[];\n}\n\n/**\n * Input for Facebook Page Contact Info (facebook.page_contact).\n */\nexport interface FacebookPageContactInput {\n /**\n * Locale code for the returned data (e.g. en-US).\n * Default: en-US.\n */\n language?: string;\n /**\n * Facebook Page URL or page ID to look up (e.g. https://www.facebook.com/nasa).\n */\n page: string;\n}\n\nexport interface FacebookPageContactItem {\n address?: string;\n /**\n * Present whenever the upstream returns this record.\n */\n category?: string;\n email?: string;\n phone?: string;\n title: string;\n url: string;\n website?: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Facebook Page Contact Info (facebook.page_contact).\n */\nexport interface FacebookPageContactData {\n /**\n * Page contact records: page name, email, phone, website, physical address, and category.\n */\n items: FacebookPageContactItem[];\n}\n\n/**\n * Input for Facebook Page Photos (facebook.photos).\n */\nexport interface FacebookPhotosInput {\n /**\n * Pagination cursor from a previous response to fetch the next page.\n */\n cursor?: string;\n /**\n * URL of the public Facebook page or profile to fetch photos from (e.g. https://www.facebook.com/Spurs).\n */\n url: string;\n}\n\nexport interface FacebookPhotosPhoto {\n caption: string;\n id: string;\n imageHeight: number;\n imageUrl: string;\n imageWidth: number;\n photoId: string;\n thumbnail: string;\n url: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Facebook Page Photos (facebook.photos).\n */\nexport interface FacebookPhotosData {\n nextCursor: string;\n nextPageId: string;\n photos: FacebookPhotosPhoto[];\n}\n\n/**\n * Input for Facebook Post (facebook.post).\n */\nexport interface FacebookPostInput {\n /**\n * Full Facebook post URL.\n */\n url: string;\n}\n\n/**\n * The `data` payload of Facebook Post (facebook.post).\n */\nexport interface FacebookPostData {\n comments: number;\n id: string;\n likes: number;\n shares: number;\n text: string;\n views: number;\n [extra: string]: unknown;\n}\n\n/**\n * Input for Facebook Post Comments (facebook.post_comments).\n */\nexport interface FacebookPostCommentsInput {\n /**\n * Pagination cursor from a previous response's nextCursor.\n */\n cursor?: string;\n /**\n * Facebook feedback id for the post (alternative to url).\n */\n feedbackId?: string;\n /**\n * Full Facebook post URL.\n */\n url?: string;\n}\n\nexport interface FacebookPostCommentsComment {\n author: string;\n createdAt: string;\n id: string;\n reactions: number;\n replies: number;\n text: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Facebook Post Comments (facebook.post_comments).\n */\nexport interface FacebookPostCommentsData {\n comments: FacebookPostCommentsComment[];\n nextCursor: string;\n}\n\n/**\n * Input for Facebook Post Transcript (facebook.post_transcript).\n */\nexport interface FacebookPostTranscriptInput {\n /**\n * The Facebook post or video URL.\n */\n url: string;\n}\n\n/**\n * The `data` payload of Facebook Post Transcript (facebook.post_transcript).\n */\nexport interface FacebookPostTranscriptData {\n transcript: string;\n [extra: string]: unknown;\n}\n\n/**\n * Input for Facebook Profile (facebook.profile).\n */\nexport interface FacebookProfileInput {\n /**\n * Facebook page handle/username.\n */\n handle?: string;\n /**\n * Full Facebook page URL.\n */\n url?: string;\n}\n\n/**\n * The `data` payload of Facebook Profile (facebook.profile).\n */\nexport interface FacebookProfileData {\n about: string;\n avatarUrl: string;\n category: string;\n followers: number;\n likes: number;\n name: string;\n [extra: string]: unknown;\n}\n\n/**\n * Input for Facebook Page Events (facebook.profile_events).\n */\nexport interface FacebookProfileEventsInput {\n /**\n * Pagination cursor from a previous response.\n */\n cursor?: string;\n /**\n * The Facebook page URL.\n */\n url: string;\n}\n\nexport interface FacebookProfileEventsEvent {\n city: string;\n creatorName: string;\n dayTimeSentence: string;\n id: string;\n isCanceled: boolean;\n isOnline: boolean;\n isPast: boolean;\n name: string;\n placeName: string;\n startTimestamp: number;\n url: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Facebook Page Events (facebook.profile_events).\n */\nexport interface FacebookProfileEventsData {\n events: FacebookProfileEventsEvent[];\n hasNextPage: boolean;\n nextCursor: string;\n totalCount: number;\n}\n\n/**\n * Input for Facebook Profile Posts (facebook.profile_posts).\n */\nexport interface FacebookProfilePostsInput {\n /**\n * Pagination cursor from a previous response.\n */\n cursor?: string;\n /**\n * Facebook page id.\n */\n pageId?: string;\n /**\n * Full Facebook page/profile URL.\n */\n url?: string;\n}\n\nexport interface FacebookProfilePostsPost {\n author: string;\n id: string;\n text: string;\n url: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Facebook Profile Posts (facebook.profile_posts).\n */\nexport interface FacebookProfilePostsData {\n posts: FacebookProfilePostsPost[];\n}\n\n/**\n * Input for Facebook Profile Reels (facebook.profile_reels).\n */\nexport interface FacebookProfileReelsInput {\n /**\n * Pagination cursor from a previous response.\n */\n cursor?: string;\n /**\n * Full Facebook page/profile URL.\n */\n url: string;\n}\n\nexport interface FacebookProfileReelsReel {\n caption: string;\n createdAt: string;\n id: string;\n thumbnail: string;\n url: string;\n views: number;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Facebook Profile Reels (facebook.profile_reels).\n */\nexport interface FacebookProfileReelsData {\n reels: FacebookProfileReelsReel[];\n}\n\n/**\n * Input for Facebook Company Search (facebook.search_companies).\n */\nexport interface FacebookSearchCompaniesInput {\n /**\n * Keyword to search advertiser pages for (e.g. \"nike\").\n */\n query: string;\n}\n\nexport interface FacebookSearchCompaniesCompanie {\n category: string;\n country: string;\n entityType: string;\n igFollowers: number;\n igUsername: string;\n imageUrl: string;\n likes: number;\n name: string;\n pageAlias: string;\n pageId: string;\n verification: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Facebook Company Search (facebook.search_companies).\n */\nexport interface FacebookSearchCompaniesData {\n companies: FacebookSearchCompaniesCompanie[];\n}\n\n/**\n * Input for Facebook Page Search (facebook.search_pages).\n */\nexport interface FacebookSearchPagesInput {\n /**\n * Maximum number of results to return (1-10, default 10). You are billed per result returned, so a lower limit costs less.\n * Range: minimum 1, maximum 10.\n */\n limit?: number;\n /**\n * Optional free-text location to narrow the search - a city, province, or country (e.g. 'Berlin').\n */\n location?: string;\n /**\n * Keyword to search Facebook Pages for (e.g. 'coffee roasters').\n */\n query: string;\n}\n\nexport interface FacebookSearchPagesItem {\n title: string;\n url: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Facebook Page Search (facebook.search_pages).\n */\nexport interface FacebookSearchPagesData {\n /**\n * Page profile records: page name, category, follower/like counts, contact details, and page URL.\n */\n items: FacebookSearchPagesItem[];\n}\n\n/**\n * Input for Facebook Post Search (facebook.search_posts).\n */\nexport interface FacebookSearchPostsInput {\n /**\n * Maximum number of results to return (1-20, default 20). You are billed per result returned, so a lower limit costs less.\n * Range: minimum 1, maximum 20.\n */\n limit?: number;\n /**\n * Optional location to narrow results; include both city and country for best matches (e.g. 'Paris, France').\n */\n location?: string;\n /**\n * Keyword or phrase to search Facebook posts for (e.g. 'product launch').\n */\n query: string;\n}\n\nexport interface FacebookSearchPostsItem {\n text: string;\n url: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Facebook Post Search (facebook.search_posts).\n */\nexport interface FacebookSearchPostsData {\n /**\n * Post records: post text, author, timestamp, engagement counts (reactions, comments, shares), and post URL.\n */\n items: FacebookSearchPostsItem[];\n}\n\n/**\n * Typed methods for the facebook platform. Attached to the AnyAPI client as\n * `client.facebook`.\n */\nexport class FacebookNamespace {\n constructor(private readonly _core: ClientCore) {}\n\n /**\n * Facebook Ad Details\n *\n * Look up a single Meta Ad Library ad by ID or URL and get the advertiser, creative text, call-to-action, platforms, and run dates as clean JSON, billed per request in USD.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.facebook.adDetails({ id: \"1869276447125570\" });\n */\n adDetails(\n input: FacebookAdDetailsInput,\n options?: RequestOptions,\n ): Promise<RunResult<FacebookAdDetailsData>> {\n return this._core.run(\"facebook.ad_details\", input, options);\n }\n\n /**\n * Facebook Ad Transcript\n *\n * Get the spoken-word transcript of a Meta Ad Library video ad by ad ID or URL, billed per request in USD.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.facebook.adTranscript({ id: \"931919822778200\" });\n */\n adTranscript(\n input: FacebookAdTranscriptInput,\n options?: RequestOptions,\n ): Promise<RunResult<FacebookAdTranscriptData>> {\n return this._core.run(\"facebook.ad_transcript\", input, options);\n }\n\n /**\n * Facebook Ad Search\n *\n * Search the Meta Ad Library by keyword and get matching ads - advertiser, creative text, CTA, platforms, and run dates - with cursor pagination and transparent failover.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.facebook.adsSearch({ query: \"nike\", country: \"US\" });\n */\n adsSearch(\n input: FacebookAdsSearchInput,\n options?: RequestOptions,\n ): Promise<RunResult<FacebookAdsSearchData>> {\n return this._core.run(\"facebook.ads_search\", input, options);\n }\n\n /**\n * Iterate every result of Facebook Ad Search across pages.\n *\n * Yields items directly; call `.pages()` on the return value to walk whole\n * result pages instead (each carries its own costUsd).\n */\n iterAdsSearch(\n input: FacebookAdsSearchInput,\n options?: RequestOptions,\n ): Paginator<FacebookAdsSearchAd, RunResult<FacebookAdsSearchData>> {\n return paginate<FacebookAdsSearchAd, RunResult<FacebookAdsSearchData>>(\n this._core,\n \"facebook.ads_search\",\n input as unknown as Record<string, unknown>,\n \"ads\",\n false,\n options,\n );\n }\n\n /**\n * Facebook Comment Replies\n *\n * List the replies to a Facebook post comment - text, author, reactions, and timestamps - as normalized JSON at a flat USD price per request.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.facebook.commentReplies({ expansionToken: \"MjoxNzgzMjI4OTY4OgF_o5zrjDnpemv4bwPtpsShXutqvKIw2bKs2YuJksL1Ak8n8YG-_KPSQGkIks5oW6wdRfhb_cRv9q5OX0NHjFJwEupYNZi9pcMV-FYLWLp47u-eusMkZFOMwbkISsTln7gtSvQrOzlffyavOTIL85PECYzGfunU2IAEkd13CIikxu06Mw10UJ1ShcFAmz8175R1uJfYy_iOixWZukqfrWhUfVOXApXznxx7qXvUxPwct76qe6p7-nVWQrPC_SZc2xh9Z8ggL3WMjgTzSq4oWFSsyZuuVsyVVjSgdjRQiDqtJSeEUlSjTr6vOnKsvKV-GpnBRaeA0BCaNRhqpB4xDZoduBuO5ZYrFvWLJdJLryDhCPI2Ss-Z33cEM2Vz7pLf1wJzE7TuizXPwICSn1DA_Prca-BItTbOUjAjfiySap1LXYkGuuDC2ziUdiEsmE5XhevMP8XtF_2WQlMNcGbXMEQyAWDUawtPAxXgMeRrCO9YGSweFQ4OZumoIlSGa3Vfjy-euUOHT1IAsNbV2A8rAq4HJNU3jCXQTn0vfW9xvbVQhL-53Mhw2YPjhlvUj6QpnGA25N8\", feedbackId: \"ZmVlZGJhY2s6MTM5MzQ2MTExNTQ4MTkyN18yMDgyNjUzMjQ1ODA5Mzg2\" });\n */\n commentReplies(\n input: FacebookCommentRepliesInput,\n options?: RequestOptions,\n ): Promise<RunResult<FacebookCommentRepliesData>> {\n return this._core.run(\"facebook.comment_replies\", input, options);\n }\n\n /**\n * Iterate every result of Facebook Comment Replies across pages.\n *\n * Yields items directly; call `.pages()` on the return value to walk whole\n * result pages instead (each carries its own costUsd).\n */\n iterCommentReplies(\n input: FacebookCommentRepliesInput,\n options?: RequestOptions,\n ): Paginator<\n FacebookCommentRepliesReplie,\n RunResult<FacebookCommentRepliesData>\n > {\n return paginate<\n FacebookCommentRepliesReplie,\n RunResult<FacebookCommentRepliesData>\n >(\n this._core,\n \"facebook.comment_replies\",\n input as unknown as Record<string, unknown>,\n \"replies\",\n false,\n options,\n );\n }\n\n /**\n * Facebook Company Ads\n *\n * List the Meta Ad Library ads a company is running by page ID or company name - creative text, format, platforms, and run dates - with cursor pagination, billed per request in USD.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.facebook.companyAds({ companyName: \"nike\" });\n */\n companyAds(\n input: FacebookCompanyAdsInput,\n options?: RequestOptions,\n ): Promise<RunResult<FacebookCompanyAdsData>> {\n return this._core.run(\"facebook.company_ads\", input, options);\n }\n\n /**\n * Iterate every result of Facebook Company Ads across pages.\n *\n * Yields items directly; call `.pages()` on the return value to walk whole\n * result pages instead (each carries its own costUsd).\n */\n iterCompanyAds(\n input: FacebookCompanyAdsInput,\n options?: RequestOptions,\n ): Paginator<FacebookCompanyAdsAd, RunResult<FacebookCompanyAdsData>> {\n return paginate<FacebookCompanyAdsAd, RunResult<FacebookCompanyAdsData>>(\n this._core,\n \"facebook.company_ads\",\n input as unknown as Record<string, unknown>,\n \"ads\",\n false,\n options,\n );\n }\n\n /**\n * Facebook Event Details\n *\n * Fetch full details for a single Facebook event by ID or URL - name, schedule, venue, hosts, and attendance - as normalized JSON at a flat USD price per request.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.facebook.eventDetails({ id: \"4045709448982422\" });\n */\n eventDetails(\n input: FacebookEventDetailsInput,\n options?: RequestOptions,\n ): Promise<RunResult<FacebookEventDetailsData>> {\n return this._core.run(\"facebook.event_details\", input, options);\n }\n\n /**\n * Facebook Events\n *\n * List public Facebook events for a city or place by its events-page URL - event name, date, venue, and attendance - as normalized JSON at a flat USD price per request.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.facebook.events({ url: \"https://www.facebook.com/events/explore/saint-petersburg-florida/111326725552547\" });\n */\n events(\n input: FacebookEventsInput,\n options?: RequestOptions,\n ): Promise<RunResult<FacebookEventsData>> {\n return this._core.run(\"facebook.events\", input, options);\n }\n\n /**\n * Iterate every result of Facebook Events across pages.\n *\n * Yields items directly; call `.pages()` on the return value to walk whole\n * result pages instead (each carries its own costUsd).\n */\n iterEvents(\n input: FacebookEventsInput,\n options?: RequestOptions,\n ): Paginator<FacebookEventsEvent, RunResult<FacebookEventsData>> {\n return paginate<FacebookEventsEvent, RunResult<FacebookEventsData>>(\n this._core,\n \"facebook.events\",\n input as unknown as Record<string, unknown>,\n \"events\",\n false,\n options,\n );\n }\n\n /**\n * Facebook Events Search\n *\n * Search public Facebook events by keyword and get structured event records - name, schedule, venue, pricing, and attendance - as normalized JSON at a flat USD price per request.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.facebook.eventsSearch({ query: \"music festival\" });\n */\n eventsSearch(\n input: FacebookEventsSearchInput,\n options?: RequestOptions,\n ): Promise<RunResult<FacebookEventsSearchData>> {\n return this._core.run(\"facebook.events_search\", input, options);\n }\n\n /**\n * Iterate every result of Facebook Events Search across pages.\n *\n * Yields items directly; call `.pages()` on the return value to walk whole\n * result pages instead (each carries its own costUsd).\n */\n iterEventsSearch(\n input: FacebookEventsSearchInput,\n options?: RequestOptions,\n ): Paginator<FacebookEventsSearchEvent, RunResult<FacebookEventsSearchData>> {\n return paginate<\n FacebookEventsSearchEvent,\n RunResult<FacebookEventsSearchData>\n >(\n this._core,\n \"facebook.events_search\",\n input as unknown as Record<string, unknown>,\n \"events\",\n false,\n options,\n );\n }\n\n /**\n * Facebook Followers\n *\n * List the public followers - or accounts followed - of any Facebook page or profile URL as normalized JSON records, priced per request in USD.\n *\n * Price: $0.006 per result.\n *\n * @example\n * const res = await client.facebook.followers({ url: \"https://www.facebook.com/nike\", limit: 3 });\n */\n followers(\n input: FacebookFollowersInput,\n options?: RequestOptions,\n ): Promise<RunResult<FacebookFollowersData>> {\n return this._core.run(\"facebook.followers\", input, options);\n }\n\n /**\n * Facebook Group Posts\n *\n * Fetch recent posts from any public Facebook group by URL - text, author, reactions, and comment counts - at a flat per-request USD price.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.facebook.groupPosts({ url: \"https://www.facebook.com/groups/1270525996445602/\" });\n */\n groupPosts(\n input: FacebookGroupPostsInput,\n options?: RequestOptions,\n ): Promise<RunResult<FacebookGroupPostsData>> {\n return this._core.run(\"facebook.group_posts\", input, options);\n }\n\n /**\n * Iterate every result of Facebook Group Posts across pages.\n *\n * Yields items directly; call `.pages()` on the return value to walk whole\n * result pages instead (each carries its own costUsd).\n */\n iterGroupPosts(\n input: FacebookGroupPostsInput,\n options?: RequestOptions,\n ): Paginator<FacebookGroupPostsPost, RunResult<FacebookGroupPostsData>> {\n return paginate<FacebookGroupPostsPost, RunResult<FacebookGroupPostsData>>(\n this._core,\n \"facebook.group_posts\",\n input as unknown as Record<string, unknown>,\n \"posts\",\n false,\n options,\n );\n }\n\n /**\n * Facebook Marketplace\n *\n * Search Facebook Marketplace listings by keyword near a location - title, price, location, and image - as normalized JSON at a flat USD price per request.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.facebook.marketplace({ lat: \"30.2677\", lng: \"-97.7475\", query: \"bike\" });\n */\n marketplace(\n input: FacebookMarketplaceInput,\n options?: RequestOptions,\n ): Promise<RunResult<FacebookMarketplaceData>> {\n return this._core.run(\"facebook.marketplace\", input, options);\n }\n\n /**\n * Iterate every result of Facebook Marketplace across pages.\n *\n * Yields items directly; call `.pages()` on the return value to walk whole\n * result pages instead (each carries its own costUsd).\n */\n iterMarketplace(\n input: FacebookMarketplaceInput,\n options?: RequestOptions,\n ): Paginator<FacebookMarketplaceListing, RunResult<FacebookMarketplaceData>> {\n return paginate<\n FacebookMarketplaceListing,\n RunResult<FacebookMarketplaceData>\n >(\n this._core,\n \"facebook.marketplace\",\n input as unknown as Record<string, unknown>,\n \"listings\",\n false,\n options,\n );\n }\n\n /**\n * Facebook Marketplace Item\n *\n * Fetch full details for a single Facebook Marketplace listing by ID or URL - title, price, location, photos, and attributes - as normalized JSON at a flat USD price per request.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.facebook.marketplaceItem({ url: \"https://www.facebook.com/marketplace/item/1656586118821988/\" });\n */\n marketplaceItem(\n input: FacebookMarketplaceItemInput,\n options?: RequestOptions,\n ): Promise<RunResult<FacebookMarketplaceItemData>> {\n return this._core.run(\"facebook.marketplace_item\", input, options);\n }\n\n /**\n * Facebook Marketplace Location Search\n *\n * Resolve a place name to Facebook Marketplace locations with coordinates and metadata as normalized JSON at a flat USD price per request.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.facebook.marketplaceLocationSearch({ query: \"Austin\" });\n */\n marketplaceLocationSearch(\n input: FacebookMarketplaceLocationSearchInput,\n options?: RequestOptions,\n ): Promise<RunResult<FacebookMarketplaceLocationSearchData>> {\n return this._core.run(\n \"facebook.marketplace_location_search\",\n input,\n options,\n );\n }\n\n /**\n * Facebook Page Contact Info\n *\n * Look up a Facebook Page's public contact details - email, phone, website, and address - by page URL or ID, with transparent per-request USD pricing.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.facebook.pageContact({ page: \"https://www.facebook.com/joesstonecrab\" });\n */\n pageContact(\n input: FacebookPageContactInput,\n options?: RequestOptions,\n ): Promise<RunResult<FacebookPageContactData>> {\n return this._core.run(\"facebook.page_contact\", input, options);\n }\n\n /**\n * Facebook Page Photos\n *\n * Fetch recent photos posted by any public Facebook page or profile - image URLs, captions, and dimensions - as normalized JSON at a flat USD price per request.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.facebook.photos({ url: \"https://www.facebook.com/Spurs\" });\n */\n photos(\n input: FacebookPhotosInput,\n options?: RequestOptions,\n ): Promise<RunResult<FacebookPhotosData>> {\n return this._core.run(\"facebook.photos\", input, options);\n }\n\n /**\n * Iterate every result of Facebook Page Photos across pages.\n *\n * Yields items directly; call `.pages()` on the return value to walk whole\n * result pages instead (each carries its own costUsd).\n */\n iterPhotos(\n input: FacebookPhotosInput,\n options?: RequestOptions,\n ): Paginator<FacebookPhotosPhoto, RunResult<FacebookPhotosData>> {\n return paginate<FacebookPhotosPhoto, RunResult<FacebookPhotosData>>(\n this._core,\n \"facebook.photos\",\n input as unknown as Record<string, unknown>,\n \"photos\",\n false,\n options,\n );\n }\n\n /**\n * Facebook Post\n *\n * Fetch a single Facebook post by URL with its text and engagement counts (likes, comments, shares, views), normalized across providers.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.facebook.post({ url: \"https://www.facebook.com/reel/2166091230582141/\" });\n */\n post(\n input: FacebookPostInput,\n options?: RequestOptions,\n ): Promise<RunResult<FacebookPostData>> {\n return this._core.run(\"facebook.post\", input, options);\n }\n\n /**\n * Facebook Post Comments\n *\n * List the comments on a Facebook post by URL with cursor pagination (text, author, reactions, reply count), normalized across providers.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.facebook.postComments({ url: \"https://www.facebook.com/reel/2166091230582141/\" });\n */\n postComments(\n input: FacebookPostCommentsInput,\n options?: RequestOptions,\n ): Promise<RunResult<FacebookPostCommentsData>> {\n return this._core.run(\"facebook.post_comments\", input, options);\n }\n\n /**\n * Iterate every result of Facebook Post Comments across pages.\n *\n * Yields items directly; call `.pages()` on the return value to walk whole\n * result pages instead (each carries its own costUsd).\n */\n iterPostComments(\n input: FacebookPostCommentsInput,\n options?: RequestOptions,\n ): Paginator<\n FacebookPostCommentsComment,\n RunResult<FacebookPostCommentsData>\n > {\n return paginate<\n FacebookPostCommentsComment,\n RunResult<FacebookPostCommentsData>\n >(\n this._core,\n \"facebook.post_comments\",\n input as unknown as Record<string, unknown>,\n \"comments\",\n false,\n options,\n );\n }\n\n /**\n * Facebook Post Transcript\n *\n * Get the spoken-word transcript of any public Facebook video post by URL as normalized JSON at a flat USD price per request.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.facebook.postTranscript({ url: \"https://www.facebook.com/reel/2166091230582141/\" });\n */\n postTranscript(\n input: FacebookPostTranscriptInput,\n options?: RequestOptions,\n ): Promise<RunResult<FacebookPostTranscriptData>> {\n return this._core.run(\"facebook.post_transcript\", input, options);\n }\n\n /**\n * Facebook Profile\n *\n * Fetch a Facebook page's public profile (likes, followers, category, about) by URL or handle, normalized across providers.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.facebook.profile({ url: \"https://www.facebook.com/nike\" });\n */\n profile(\n input: FacebookProfileInput,\n options?: RequestOptions,\n ): Promise<RunResult<FacebookProfileData>> {\n return this._core.run(\"facebook.profile\", input, options);\n }\n\n /**\n * Facebook Page Events\n *\n * List upcoming and past events hosted by any public Facebook page by URL - name, schedule, venue, and host - as normalized JSON at a flat USD price per request.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.facebook.profileEvents({ url: \"https://www.facebook.com/brickyardoldtown\" });\n */\n profileEvents(\n input: FacebookProfileEventsInput,\n options?: RequestOptions,\n ): Promise<RunResult<FacebookProfileEventsData>> {\n return this._core.run(\"facebook.profile_events\", input, options);\n }\n\n /**\n * Iterate every result of Facebook Page Events across pages.\n *\n * Yields items directly; call `.pages()` on the return value to walk whole\n * result pages instead (each carries its own costUsd).\n */\n iterProfileEvents(\n input: FacebookProfileEventsInput,\n options?: RequestOptions,\n ): Paginator<\n FacebookProfileEventsEvent,\n RunResult<FacebookProfileEventsData>\n > {\n return paginate<\n FacebookProfileEventsEvent,\n RunResult<FacebookProfileEventsData>\n >(\n this._core,\n \"facebook.profile_events\",\n input as unknown as Record<string, unknown>,\n \"events\",\n false,\n options,\n );\n }\n\n /**\n * Facebook Profile Posts\n *\n * List a Facebook page's recent posts by URL or page id with cursor pagination (text, author, permalink), normalized across providers.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.facebook.profilePosts({ url: \"https://www.facebook.com/nike\" });\n */\n profilePosts(\n input: FacebookProfilePostsInput,\n options?: RequestOptions,\n ): Promise<RunResult<FacebookProfilePostsData>> {\n return this._core.run(\"facebook.profile_posts\", input, options);\n }\n\n /**\n * Facebook Profile Reels\n *\n * List a Facebook page's reels by URL with cursor pagination (caption, view count, permalink, thumbnail), normalized across providers.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.facebook.profileReels({ url: \"https://www.facebook.com/nike\" });\n */\n profileReels(\n input: FacebookProfileReelsInput,\n options?: RequestOptions,\n ): Promise<RunResult<FacebookProfileReelsData>> {\n return this._core.run(\"facebook.profile_reels\", input, options);\n }\n\n /**\n * Facebook Company Search\n *\n * Search the Meta Ad Library for advertisers by keyword and get matching pages - page ID, category, verification, follower counts, and linked Instagram - billed per request in USD.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.facebook.searchCompanies({ query: \"nike\" });\n */\n searchCompanies(\n input: FacebookSearchCompaniesInput,\n options?: RequestOptions,\n ): Promise<RunResult<FacebookSearchCompaniesData>> {\n return this._core.run(\"facebook.search_companies\", input, options);\n }\n\n /**\n * Facebook Page Search\n *\n * Search Facebook Pages by keyword, optionally narrowed to a location, and get structured page profiles (name, category, followers, contact details) at a flat USD price per request.\n *\n * Price: $0.001 per request plus $0.011 per result.\n *\n * @example\n * const res = await client.facebook.searchPages({ query: \"nike\", limit: 3 });\n */\n searchPages(\n input: FacebookSearchPagesInput,\n options?: RequestOptions,\n ): Promise<RunResult<FacebookSearchPagesData>> {\n return this._core.run(\"facebook.search_pages\", input, options);\n }\n\n /**\n * Facebook Post Search\n *\n * Search public Facebook posts by keyword, optionally filtered by location, and get structured post records (text, author, engagement) with transparent per-request USD pricing.\n *\n * Price: $0.003 per result.\n *\n * @example\n * const res = await client.facebook.searchPosts({ query: \"nike\", limit: 3 });\n */\n searchPosts(\n input: FacebookSearchPostsInput,\n options?: RequestOptions,\n ): Promise<RunResult<FacebookSearchPostsData>> {\n return this._core.run(\"facebook.search_posts\", input, options);\n }\n}\n","// Generated - do not edit. Regenerate with: pnpm generate\n\nimport type {\n ClientCore,\n RequestOptions,\n RunResult,\n} from \"../../core/index.js\";\n\n/**\n * Input for Fiverr Gig Search (fiverr.search).\n */\nexport interface FiverrSearchInput {\n /**\n * Maximum number of results to return (1-20, default 20). You are billed per result returned, so a lower limit costs less.\n * Range: minimum 1, maximum 20.\n */\n limit?: number;\n /**\n * Fiverr search or category page URL to extract gigs from.\n */\n url: string;\n}\n\nexport interface FiverrSearchItem {\n /**\n * Delivery time in days.\n */\n duration?: number;\n /**\n * Stable Fiverr gig identifier.\n */\n gigId: string;\n /**\n * Canonical Fiverr URL for the gig.\n */\n gigUrl: string;\n /**\n * Primary gig thumbnail URL.\n */\n image?: string;\n /**\n * Starting price in USD.\n */\n price?: number;\n /**\n * Seller country code.\n */\n sellerCountry?: string;\n /**\n * Seller display name.\n */\n sellerDisplayName?: string;\n /**\n * Fiverr seller level.\n */\n sellerLevel?: string;\n /**\n * Seller username.\n */\n sellerName?: string;\n /**\n * Number of seller ratings.\n */\n sellerRatingCount?: number;\n /**\n * Average seller rating.\n */\n sellerRatingScore?: number;\n /**\n * Seller profile URL.\n */\n sellerUrl?: string;\n /**\n * Gig headline.\n */\n title: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Fiverr Gig Search (fiverr.search).\n */\nexport interface FiverrSearchData {\n /**\n * Gig records from the search or category URL. Operators may return additional fields beyond those documented here.\n */\n items: FiverrSearchItem[];\n}\n\n/**\n * Typed methods for the fiverr platform. Attached to the AnyAPI client as\n * `client.fiverr`.\n */\nexport class FiverrNamespace {\n constructor(private readonly _core: ClientCore) {}\n\n /**\n * Fiverr Gig Search\n *\n * Extract Fiverr gig listings from any search or category URL - titles, sellers, ratings, and pricing as structured JSON with transparent per-request USD pricing.\n *\n * Price: $0.0015 per result.\n *\n * @example\n * const res = await client.fiverr.search({ url: \"https://www.fiverr.com/search/gigs?query=logo%20design\", limit: 3 });\n */\n search(\n input: FiverrSearchInput,\n options?: RequestOptions,\n ): Promise<RunResult<FiverrSearchData>> {\n return this._core.run(\"fiverr.search\", input, options);\n }\n}\n","// Generated - do not edit. Regenerate with: pnpm generate\n\nimport type {\n ClientCore,\n Paginator,\n RequestOptions,\n RunResult,\n} from \"../../core/index.js\";\nimport { paginate } from \"../../core/index.js\";\n\n/**\n * Input for GitHub Repository (github.repository).\n */\nexport interface GithubRepositoryInput {\n /**\n * GitHub repository URL (e.g. https://github.com/facebook/react).\n */\n url: string;\n}\n\n/**\n * The `data` payload of GitHub Repository (github.repository).\n */\nexport interface GithubRepositoryData {\n archived?: boolean;\n /**\n * Present whenever the upstream returns this record.\n */\n createdAt?: string;\n /**\n * Present whenever the upstream returns this record.\n */\n defaultBranch?: string;\n description?: string;\n fork?: boolean;\n forks?: number;\n fullName: string;\n homepage?: string;\n language?: string;\n license?: string;\n name: string;\n openIssues?: number;\n /**\n * Present whenever the upstream returns this record.\n */\n owner?: string;\n /**\n * Present whenever the upstream returns this record.\n */\n pushedAt?: string;\n stars?: number;\n topics?: string[];\n /**\n * Present whenever the upstream returns this record.\n */\n updatedAt?: string;\n url: string;\n watchers?: number;\n [extra: string]: unknown;\n}\n\n/**\n * Input for GitHub Trending Developers (github.trending_developers).\n */\nexport interface GithubTrendingDevelopersInput {\n /**\n * Programming language to filter trending developers (e.g. javascript, python, go).\n */\n language?: string;\n /**\n * Trending range: daily, weekly, or monthly (defaults to daily).\n */\n since?: string;\n}\n\nexport interface GithubTrendingDevelopersDeveloper {\n avatarUrl: string;\n name: string;\n popularRepo: string;\n popularRepoDescription: string;\n popularRepoUrl: string;\n rank: number;\n url: string;\n username: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of GitHub Trending Developers (github.trending_developers).\n */\nexport interface GithubTrendingDevelopersData {\n developers: GithubTrendingDevelopersDeveloper[];\n language: string;\n since: string;\n}\n\n/**\n * Input for GitHub Trending Repositories (github.trending_repositories).\n */\nexport interface GithubTrendingRepositoriesInput {\n /**\n * Filter by programming language (e.g. \"go\", \"typescript\"). Omit for all languages.\n */\n language?: string;\n /**\n * Trending window.\n * One of: daily, weekly, monthly.\n * Default: daily.\n */\n since?: \"daily\" | \"weekly\" | \"monthly\";\n}\n\nexport interface GithubTrendingRepositoriesRepo {\n description: string;\n forks: number;\n fullName: string;\n language: string;\n rank: number;\n stars: number;\n starsToday: number;\n url: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of GitHub Trending Repositories (github.trending_repositories).\n */\nexport interface GithubTrendingRepositoriesData {\n repos: GithubTrendingRepositoriesRepo[];\n}\n\n/**\n * Input for GitHub User (github.user).\n */\nexport interface GithubUserInput {\n /**\n * GitHub username.\n */\n handle: string;\n}\n\n/**\n * The `data` payload of GitHub User (github.user).\n */\nexport interface GithubUserData {\n avatarUrl: string;\n bio: string;\n blog?: string;\n company?: string;\n /**\n * Present whenever the upstream returns this record.\n */\n createdAt?: string;\n followers: number;\n following: number;\n location?: string;\n login: string;\n name: string;\n publicGists?: number;\n publicRepos: number;\n twitterUsername?: string;\n /**\n * \"User\" or \"Organization\".\n */\n type?: string;\n [extra: string]: unknown;\n}\n\n/**\n * Input for GitHub User Activity (github.user_activity).\n */\nexport interface GithubUserActivityInput {\n /**\n * Pagination cursor from a previous response (pages backward by month).\n */\n cursor?: string;\n /**\n * GitHub username.\n */\n handle: string;\n /**\n * Year of contribution activity to return (defaults to the current year).\n */\n year?: string;\n}\n\nexport interface GithubUserActivityActivity {\n summary: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of GitHub User Activity (github.user_activity).\n */\nexport interface GithubUserActivityData {\n activity: GithubUserActivityActivity[];\n month: string;\n nextCursor: string;\n noActivity: boolean;\n username: string;\n year: number;\n}\n\n/**\n * Input for GitHub User Contributions (github.user_contributions).\n */\nexport interface GithubUserContributionsInput {\n /**\n * GitHub username.\n */\n handle: string;\n /**\n * Calendar year of the contribution graph. Defaults to the current year.\n */\n year?: number;\n}\n\nexport interface GithubUserContributionsDay {\n count: number;\n /**\n * YYYY-MM-DD.\n */\n date: string;\n /**\n * Heatmap level 0-4.\n */\n intensity: number;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of GitHub User Contributions (github.user_contributions).\n */\nexport interface GithubUserContributionsData {\n days: GithubUserContributionsDay[];\n total: number;\n username: string;\n year: number;\n}\n\n/**\n * Input for GitHub User Followers (github.user_followers).\n */\nexport interface GithubUserFollowersInput {\n /**\n * Pagination cursor from a previous response (page number, defaults to 1).\n */\n cursor?: string;\n /**\n * GitHub username.\n */\n handle: string;\n}\n\nexport interface GithubUserFollowersFollower {\n avatarUrl: string;\n id: number;\n login: string;\n siteAdmin: boolean;\n type: string;\n url: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of GitHub User Followers (github.user_followers).\n */\nexport interface GithubUserFollowersData {\n followers: GithubUserFollowersFollower[];\n nextCursor: string;\n}\n\n/**\n * Input for GitHub User Following (github.user_following).\n */\nexport interface GithubUserFollowingInput {\n /**\n * Pagination cursor from a previous response (page number, defaults to 1).\n */\n cursor?: string;\n /**\n * GitHub username.\n */\n handle: string;\n}\n\nexport interface GithubUserFollowingFollowing {\n avatarUrl: string;\n id: number;\n login: string;\n siteAdmin: boolean;\n type: string;\n url: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of GitHub User Following (github.user_following).\n */\nexport interface GithubUserFollowingData {\n following: GithubUserFollowingFollowing[];\n nextCursor: string;\n}\n\n/**\n * Input for GitHub User Pull Requests (github.user_pull_requests).\n */\nexport interface GithubUserPullRequestsInput {\n /**\n * Pagination cursor from a previous response (page number, defaults to 1).\n */\n cursor?: string;\n /**\n * GitHub username.\n */\n handle: string;\n /**\n * Only include pull requests created on or after this date (YYYY-MM-DD).\n */\n since?: string;\n /**\n * Only include pull requests created on or before this date (YYYY-MM-DD).\n */\n until?: string;\n}\n\nexport interface GithubUserPullRequestsPullRequest {\n createdAt: string;\n repo: string;\n state: string;\n title: string;\n url: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of GitHub User Pull Requests (github.user_pull_requests).\n */\nexport interface GithubUserPullRequestsData {\n hasMore: boolean;\n nextCursor: string;\n pullRequests: GithubUserPullRequestsPullRequest[];\n}\n\n/**\n * Input for GitHub User Repositories (github.user_repositories).\n */\nexport interface GithubUserRepositoriesInput {\n /**\n * 1-based results page. Use the output's nextCursor to paginate.\n * Range: minimum 1.\n * Default: 1.\n */\n cursor?: number;\n /**\n * GitHub username.\n */\n handle: string;\n /**\n * Repository ordering.\n * One of: created, updated, pushed, full_name.\n * Default: updated.\n */\n sort?: \"created\" | \"updated\" | \"pushed\" | \"full_name\";\n}\n\nexport interface GithubUserRepositoriesRepo {\n archived: boolean;\n description: string;\n fork: boolean;\n forks: number;\n fullName: string;\n language: string;\n name: string;\n pushedAt: string;\n stars: number;\n updatedAt: string;\n url: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of GitHub User Repositories (github.user_repositories).\n */\nexport interface GithubUserRepositoriesData {\n hasMore: boolean;\n nextCursor: number;\n repos: GithubUserRepositoriesRepo[];\n}\n\n/**\n * Typed methods for the github platform. Attached to the AnyAPI client as\n * `client.github`.\n */\nexport class GithubNamespace {\n constructor(private readonly _core: ClientCore) {}\n\n /**\n * GitHub Repository\n *\n * Fetch a GitHub repository's metadata by URL - stars, forks, language, topics, license, and timestamps - normalized across providers with transparent failover.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.github.repository({ url: \"https://github.com/facebook/react\" });\n */\n repository(\n input: GithubRepositoryInput,\n options?: RequestOptions,\n ): Promise<RunResult<GithubRepositoryData>> {\n return this._core.run(\"github.repository\", input, options);\n }\n\n /**\n * GitHub Trending Developers\n *\n * List trending GitHub developers - rank, username, name, avatar, and their most popular repository - optionally filtered by programming language and time range.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.github.trendingDevelopers({ language: \"go\", since: \"weekly\" });\n */\n trendingDevelopers(\n input: GithubTrendingDevelopersInput,\n options?: RequestOptions,\n ): Promise<RunResult<GithubTrendingDevelopersData>> {\n return this._core.run(\"github.trending_developers\", input, options);\n }\n\n /**\n * GitHub Trending Repositories\n *\n * List GitHub Trending repositories - rank, stars, stars gained today, language, and description - filterable by language and time window, normalized across providers.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.github.trendingRepositories({ language: \"python\", since: \"daily\" });\n */\n trendingRepositories(\n input: GithubTrendingRepositoriesInput,\n options?: RequestOptions,\n ): Promise<RunResult<GithubTrendingRepositoriesData>> {\n return this._core.run(\"github.trending_repositories\", input, options);\n }\n\n /**\n * GitHub User\n *\n * Fetch a GitHub user's public profile by handle - name, bio, company, location, followers, and repo counts - normalized across providers with transparent failover.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.github.user({ handle: \"torvalds\" });\n */\n user(\n input: GithubUserInput,\n options?: RequestOptions,\n ): Promise<RunResult<GithubUserData>> {\n return this._core.run(\"github.user\", input, options);\n }\n\n /**\n * GitHub User Activity\n *\n * List a GitHub user's public contribution activity by handle - grouped monthly summaries of commits, pull requests, and issues with repository links - for a given year.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.github.userActivity({ handle: \"kentcdodds\" });\n */\n userActivity(\n input: GithubUserActivityInput,\n options?: RequestOptions,\n ): Promise<RunResult<GithubUserActivityData>> {\n return this._core.run(\"github.user_activity\", input, options);\n }\n\n /**\n * Iterate every result of GitHub User Activity across pages.\n *\n * Yields items directly; call `.pages()` on the return value to walk whole\n * result pages instead (each carries its own costUsd).\n */\n iterUserActivity(\n input: GithubUserActivityInput,\n options?: RequestOptions,\n ): Paginator<GithubUserActivityActivity, RunResult<GithubUserActivityData>> {\n return paginate<\n GithubUserActivityActivity,\n RunResult<GithubUserActivityData>\n >(\n this._core,\n \"github.user_activity\",\n input as unknown as Record<string, unknown>,\n \"activity\",\n false,\n options,\n );\n }\n\n /**\n * GitHub User Contributions\n *\n * Fetch a GitHub user's contribution graph for a year - total contributions plus per-day counts and heatmap intensity - normalized across providers with transparent failover.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.github.userContributions({ handle: \"torvalds\", year: 2024 });\n */\n userContributions(\n input: GithubUserContributionsInput,\n options?: RequestOptions,\n ): Promise<RunResult<GithubUserContributionsData>> {\n return this._core.run(\"github.user_contributions\", input, options);\n }\n\n /**\n * GitHub User Followers\n *\n * List a GitHub user's followers by handle - each follower's login, type, avatar, and profile URL - with pagination.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.github.userFollowers({ handle: \"torvalds\" });\n */\n userFollowers(\n input: GithubUserFollowersInput,\n options?: RequestOptions,\n ): Promise<RunResult<GithubUserFollowersData>> {\n return this._core.run(\"github.user_followers\", input, options);\n }\n\n /**\n * Iterate every result of GitHub User Followers across pages.\n *\n * Yields items directly; call `.pages()` on the return value to walk whole\n * result pages instead (each carries its own costUsd).\n */\n iterUserFollowers(\n input: GithubUserFollowersInput,\n options?: RequestOptions,\n ): Paginator<\n GithubUserFollowersFollower,\n RunResult<GithubUserFollowersData>\n > {\n return paginate<\n GithubUserFollowersFollower,\n RunResult<GithubUserFollowersData>\n >(\n this._core,\n \"github.user_followers\",\n input as unknown as Record<string, unknown>,\n \"followers\",\n false,\n options,\n );\n }\n\n /**\n * GitHub User Following\n *\n * List the GitHub users a given user follows by handle - each account's login, type, avatar, and profile URL - with pagination.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.github.userFollowing({ handle: \"kentcdodds\" });\n */\n userFollowing(\n input: GithubUserFollowingInput,\n options?: RequestOptions,\n ): Promise<RunResult<GithubUserFollowingData>> {\n return this._core.run(\"github.user_following\", input, options);\n }\n\n /**\n * Iterate every result of GitHub User Following across pages.\n *\n * Yields items directly; call `.pages()` on the return value to walk whole\n * result pages instead (each carries its own costUsd).\n */\n iterUserFollowing(\n input: GithubUserFollowingInput,\n options?: RequestOptions,\n ): Paginator<\n GithubUserFollowingFollowing,\n RunResult<GithubUserFollowingData>\n > {\n return paginate<\n GithubUserFollowingFollowing,\n RunResult<GithubUserFollowingData>\n >(\n this._core,\n \"github.user_following\",\n input as unknown as Record<string, unknown>,\n \"following\",\n false,\n options,\n );\n }\n\n /**\n * GitHub User Pull Requests\n *\n * List a GitHub user's public pull requests by handle - title, repository, state, creation date, and URL - with optional date filtering and pagination.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.github.userPullRequests({ handle: \"torvalds\" });\n */\n userPullRequests(\n input: GithubUserPullRequestsInput,\n options?: RequestOptions,\n ): Promise<RunResult<GithubUserPullRequestsData>> {\n return this._core.run(\"github.user_pull_requests\", input, options);\n }\n\n /**\n * Iterate every result of GitHub User Pull Requests across pages.\n *\n * Yields items directly; call `.pages()` on the return value to walk whole\n * result pages instead (each carries its own costUsd).\n */\n iterUserPullRequests(\n input: GithubUserPullRequestsInput,\n options?: RequestOptions,\n ): Paginator<\n GithubUserPullRequestsPullRequest,\n RunResult<GithubUserPullRequestsData>\n > {\n return paginate<\n GithubUserPullRequestsPullRequest,\n RunResult<GithubUserPullRequestsData>\n >(\n this._core,\n \"github.user_pull_requests\",\n input as unknown as Record<string, unknown>,\n \"pullRequests\",\n false,\n options,\n );\n }\n\n /**\n * GitHub User Repositories\n *\n * List a GitHub user's public repositories - name, description, language, stars, and forks - with sorting and cursor pagination, normalized across providers.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.github.userRepositories({ handle: \"torvalds\" });\n */\n userRepositories(\n input: GithubUserRepositoriesInput,\n options?: RequestOptions,\n ): Promise<RunResult<GithubUserRepositoriesData>> {\n return this._core.run(\"github.user_repositories\", input, options);\n }\n}\n","// Generated - do not edit. Regenerate with: pnpm generate\n\nimport type {\n ClientCore,\n RequestOptions,\n RunResult,\n} from \"../../core/index.js\";\n\n/**\n * Input for Glassdoor Jobs (glassdoor.jobs).\n */\nexport interface GlassdoorJobsInput {\n /**\n * Maximum number of results to return (1-20, default 20). You are billed per result returned, so a lower limit costs less.\n * Range: minimum 1, maximum 20.\n */\n limit?: number;\n /**\n * A Glassdoor company or job search page URL (e.g. https://www.glassdoor.com/Jobs/Google-Jobs-E9079.htm).\n */\n url: string;\n}\n\nexport interface GlassdoorJobsItem {\n title: string;\n url: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Glassdoor Jobs (glassdoor.jobs).\n */\nexport interface GlassdoorJobsData {\n /**\n * Job listing records: title, employer, location, salary estimate, rating, and posting details.\n */\n items: GlassdoorJobsItem[];\n}\n\n/**\n * Typed methods for the glassdoor platform. Attached to the AnyAPI client as\n * `client.glassdoor`.\n */\nexport class GlassdoorNamespace {\n constructor(private readonly _core: ClientCore) {}\n\n /**\n * Glassdoor Jobs\n *\n * Fetch job listings from any Glassdoor company or job search page URL - up to 20 normalized job records per request at a flat USD price.\n *\n * Price: $0.005 per request plus $0.00475 per result.\n *\n * @example\n * const res = await client.glassdoor.jobs({ url: \"https://www.glassdoor.com/Job/software-engineer-jobs-SRCH_KO0,17.htm\", limit: 3 });\n */\n jobs(\n input: GlassdoorJobsInput,\n options?: RequestOptions,\n ): Promise<RunResult<GlassdoorJobsData>> {\n return this._core.run(\"glassdoor.jobs\", input, options);\n }\n}\n","// Generated - do not edit. Regenerate with: pnpm generate\n\nimport type {\n ClientCore,\n RequestOptions,\n RunResult,\n} from \"../../core/index.js\";\n\n/**\n * Input for Google Images (google.images).\n */\nexport interface GoogleImagesInput {\n /**\n * Maximum number of results to return (1-20, default 20). You are billed per result returned, so a lower limit costs less.\n * Range: minimum 1, maximum 20.\n */\n limit?: number;\n /**\n * Image search query (e.g. golden gate bridge at sunset).\n */\n query: string;\n}\n\nexport interface GoogleImagesItem {\n title: string;\n url: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Google Images (google.images).\n */\nexport interface GoogleImagesData {\n /**\n * Image result records: image URL, dimensions, title, and the source page it appears on.\n */\n items: GoogleImagesItem[];\n}\n\n/**\n * Input for Google News (google.news).\n */\nexport interface GoogleNewsInput {\n /**\n * Maximum number of results to return (1-20, default 20). You are billed per result returned, so a lower limit costs less.\n * Range: minimum 1, maximum 20.\n */\n limit?: number;\n /**\n * News search query; supports operators like '-', 'OR', and 'site:' (e.g. bitcoin site:cnn.com).\n */\n query: string;\n /**\n * Region and language for the search as COUNTRY:lang (e.g. US:en).\n * Default: US:en.\n */\n region?: string;\n /**\n * Time window for results: 1h, 1d, 7d, 1y, or all (e.g. 1d).\n * Default: 7d.\n */\n timeframe?: string;\n}\n\nexport interface GoogleNewsItem {\n /**\n * Publish time.\n * Present whenever the upstream returns this record.\n */\n publishedAt?: string;\n /**\n * Article snippet when available.\n */\n snippet?: string;\n /**\n * Publisher name.\n * Present whenever the upstream returns this record.\n */\n source?: string;\n title: string;\n /**\n * Article link.\n */\n url: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Google News (google.news).\n */\nexport interface GoogleNewsData {\n /**\n * Article records: headline, source name, article link, and publish time.\n */\n items: GoogleNewsItem[];\n}\n\n/**\n * Input for Google Search (google.search).\n */\nexport interface GoogleSearchInput {\n /**\n * Two-letter country code for result localization (e.g. us, gb, de).\n * Default: us.\n */\n gl?: string;\n /**\n * The Google search query.\n */\n query: string;\n}\n\nexport interface GoogleSearchResult {\n link: string;\n position: number;\n snippet: string;\n title: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Google Search (google.search).\n */\nexport interface GoogleSearchData {\n query: string;\n results: GoogleSearchResult[];\n}\n\n/**\n * Typed methods for the google platform. Attached to the AnyAPI client as\n * `client.google`.\n */\nexport class GoogleNamespace {\n constructor(private readonly _core: ClientCore) {}\n\n /**\n * Google Images\n *\n * Run a Google Images search and get structured results - image URLs, dimensions, titles, and source pages - with flat per-request USD pricing.\n *\n * Price: $0.00005 per request plus $0.0024 per result.\n *\n * @example\n * const res = await client.google.images({ query: \"golden retriever\", limit: 5 });\n */\n images(\n input: GoogleImagesInput,\n options?: RequestOptions,\n ): Promise<RunResult<GoogleImagesData>> {\n return this._core.run(\"google.images\", input, options);\n }\n\n /**\n * Google News\n *\n * Search Google News by keyword and get fresh articles - headlines, sources, links, and publish times - as clean JSON, billed per request in USD.\n *\n * Price: $0.00325 per request.\n *\n * @example\n * const res = await client.google.news({ query: \"openai\", limit: 5 });\n */\n news(\n input: GoogleNewsInput,\n options?: RequestOptions,\n ): Promise<RunResult<GoogleNewsData>> {\n return this._core.run(\"google.news\", input, options);\n }\n\n /**\n * Google Search\n *\n * Run a Google web search and get the organic results (title, link, snippet, position) as clean JSON. One call, billed per request in real dollars.\n *\n * Price: $0.00099 per request.\n *\n * @example\n * const res = await client.google.search({ query: \"best coffee maker\" });\n */\n search(\n input: GoogleSearchInput,\n options?: RequestOptions,\n ): Promise<RunResult<GoogleSearchData>> {\n return this._core.run(\"google.search\", input, options);\n }\n}\n","// Generated - do not edit. Regenerate with: pnpm generate\n\nimport type {\n ClientCore,\n Paginator,\n RequestOptions,\n RunResult,\n} from \"../../core/index.js\";\nimport { paginate } from \"../../core/index.js\";\n\n/**\n * Input for Google Ads Ad Details (google_ads.ad_details).\n */\nexport interface GoogleAdsAdDetailsInput {\n /**\n * Google Ads Transparency Center creative URL (e.g. \"https://adstransparency.google.com/advertiser/AR.../creative/CR...\").\n */\n url: string;\n}\n\nexport interface GoogleAdsAdDetailsVariation {\n allText: string;\n description: string;\n destinationUrl: string;\n headline: string;\n imageUrl: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Google Ads Ad Details (google_ads.ad_details).\n */\nexport interface GoogleAdsAdDetailsData {\n advertiserId: string;\n creativeId: string;\n /**\n * ISO 8601 date.\n */\n firstShown: string;\n format: string;\n impressionsMax: number;\n impressionsMin: number;\n /**\n * ISO 8601 date.\n */\n lastShown: string;\n variations: GoogleAdsAdDetailsVariation[];\n}\n\n/**\n * Input for Google Ads Advertiser Search (google_ads.advertiser_search).\n */\nexport interface GoogleAdsAdvertiserSearchInput {\n /**\n * Advertiser name or keyword to search for (e.g. \"lululemon\").\n */\n query: string;\n /**\n * Two-letter country code to scope results (e.g. \"AU\", \"CA\"). Defaults to US.\n */\n region?: string;\n}\n\nexport interface GoogleAdsAdvertiserSearchAdvertiser {\n /**\n * Estimated number of ads for this advertiser/region.\n */\n adsEstimate: number;\n advertiserId: string;\n name: string;\n region: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Google Ads Advertiser Search (google_ads.advertiser_search).\n */\nexport interface GoogleAdsAdvertiserSearchData {\n advertisers: GoogleAdsAdvertiserSearchAdvertiser[];\n}\n\n/**\n * Input for Google Ads Company Ads (google_ads.company_ads).\n */\nexport interface GoogleAdsCompanyAdsInput {\n /**\n * Advertiser ID. Provide either domain or advertiserId.\n */\n advertiserId?: string;\n /**\n * Opaque pagination cursor from a previous response's nextCursor.\n */\n cursor?: string;\n /**\n * Company domain (e.g. \"lululemon.com\"). Provide either domain or advertiserId.\n */\n domain?: string;\n /**\n * Ad format filter.\n * One of: text, image, video.\n */\n format?: \"text\" | \"image\" | \"video\";\n /**\n * Platform filter.\n * One of: google_maps, google_play, google_search, google_shopping, youtube.\n */\n platform?:\n | \"google_maps\"\n | \"google_play\"\n | \"google_search\"\n | \"google_shopping\"\n | \"youtube\";\n /**\n * Two-letter country code to scope results (e.g. \"US\", \"AU\").\n */\n region?: string;\n /**\n * Search topic. \"political\" requires a region.\n * One of: all, political.\n */\n topic?: \"all\" | \"political\";\n}\n\nexport interface GoogleAdsCompanyAdsAd {\n adUrl: string;\n advertiserId: string;\n advertiserName: string;\n creativeId: string;\n /**\n * ISO 8601 date.\n */\n firstShown: string;\n format: string;\n imageUrl: string;\n /**\n * ISO 8601 date.\n */\n lastShown: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Google Ads Company Ads (google_ads.company_ads).\n */\nexport interface GoogleAdsCompanyAdsData {\n ads: GoogleAdsCompanyAdsAd[];\n /**\n * Estimated total number of ads.\n */\n adsEstimate: number;\n nextCursor: string;\n}\n\n/**\n * Input for Google Ads Transparency (google_ads.search).\n */\nexport interface GoogleAdsSearchInput {\n /**\n * Maximum number of results to return (1-20, default 20). You are billed per result returned, so a lower limit costs less.\n * Range: minimum 1, maximum 20.\n */\n limit?: number;\n /**\n * A Google Ads Transparency Center URL for a selected advertiser or domain (e.g. https://adstransparency.google.com/advertiser/AR01614014350098432001?region=US).\n */\n url: string;\n}\n\nexport interface GoogleAdsSearchItem {\n id: string;\n url: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Google Ads Transparency (google_ads.search).\n */\nexport interface GoogleAdsSearchData {\n /**\n * Ad records from the Transparency Center: advertiser, ad format, creative details, preview URL, and first/last shown dates.\n */\n items: GoogleAdsSearchItem[];\n}\n\n/**\n * Typed methods for the google_ads platform. Attached to the AnyAPI client as\n * `client.googleAds`.\n */\nexport class GoogleAdsNamespace {\n constructor(private readonly _core: ClientCore) {}\n\n /**\n * Google Ads Ad Details\n *\n * Look up a single Google Ads Transparency Center creative by URL and get its format, run dates, impression range, regions, and creative variations as clean JSON, billed per request in USD.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.googleAds.adDetails({ url: \"https://adstransparency.google.com/advertiser/AR01614014350098432001/creative/CR10449491775734153217\" });\n */\n adDetails(\n input: GoogleAdsAdDetailsInput,\n options?: RequestOptions,\n ): Promise<RunResult<GoogleAdsAdDetailsData>> {\n return this._core.run(\"google_ads.ad_details\", input, options);\n }\n\n /**\n * Google Ads Advertiser Search\n *\n * Search the Google Ads Transparency Center for advertisers by keyword and get matching advertiser IDs, regions, and estimated ad counts as clean JSON, billed per request in USD.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.googleAds.advertiserSearch({ query: \"lululemon\" });\n */\n advertiserSearch(\n input: GoogleAdsAdvertiserSearchInput,\n options?: RequestOptions,\n ): Promise<RunResult<GoogleAdsAdvertiserSearchData>> {\n return this._core.run(\"google_ads.advertiser_search\", input, options);\n }\n\n /**\n * Google Ads Company Ads\n *\n * List the ads a company is running from the Google Ads Transparency Center by domain or advertiser ID - creative ID, format, ad URL, and first/last shown dates - with cursor pagination, billed per request in USD.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.googleAds.companyAds({ domain: \"lululemon.com\" });\n */\n companyAds(\n input: GoogleAdsCompanyAdsInput,\n options?: RequestOptions,\n ): Promise<RunResult<GoogleAdsCompanyAdsData>> {\n return this._core.run(\"google_ads.company_ads\", input, options);\n }\n\n /**\n * Iterate every result of Google Ads Company Ads across pages.\n *\n * Yields items directly; call `.pages()` on the return value to walk whole\n * result pages instead (each carries its own costUsd).\n */\n iterCompanyAds(\n input: GoogleAdsCompanyAdsInput,\n options?: RequestOptions,\n ): Paginator<GoogleAdsCompanyAdsAd, RunResult<GoogleAdsCompanyAdsData>> {\n return paginate<GoogleAdsCompanyAdsAd, RunResult<GoogleAdsCompanyAdsData>>(\n this._core,\n \"google_ads.company_ads\",\n input as unknown as Record<string, unknown>,\n \"ads\",\n false,\n options,\n );\n }\n\n /**\n * Google Ads Transparency\n *\n * Pull the ads an advertiser is currently running from the Google Ads Transparency Center - creative details, formats, and run dates - as clean JSON, billed per request in USD.\n *\n * Price: $0.00005 per request plus $0.0013 per result.\n *\n * @example\n * const res = await client.googleAds.search({ url: \"https://adstransparency.google.com/?region=US&domain=nike.com\", limit: 3 });\n */\n search(\n input: GoogleAdsSearchInput,\n options?: RequestOptions,\n ): Promise<RunResult<GoogleAdsSearchData>> {\n return this._core.run(\"google_ads.search\", input, options);\n }\n}\n","// Generated - do not edit. Regenerate with: pnpm generate\n\nimport type {\n ClientCore,\n RequestOptions,\n RunResult,\n} from \"../../core/index.js\";\n\n/**\n * Input for Google Finance Quote (google_finance.quote).\n */\nexport interface GoogleFinanceQuoteInput {\n /**\n * The symbol to quote. US stocks use a plain ticker (e.g. AAPL, TSLA); non-US stocks add a market suffix (e.g. VOW3.DE, BABA.HK, BARC.L); indices use a caret (e.g. ^GSPC, ^DJI); crypto and currencies use pair form (e.g. BTC-USD, EURUSD=X); mutual funds and futures use their symbol (e.g. VFIAX, ES=F). Common alternate forms are accepted and normalized (e.g. AAPL:NASDAQ, .DJI, BTC/USD). Exact symbols only, not a company-name search.\n */\n symbol: string;\n}\n\nexport interface GoogleFinanceQuoteItem {\n /**\n * Current ask price.\n */\n ask?: number;\n /**\n * Instrument class (e.g. EQUITY, ETF, CRYPTOCURRENCY, CURRENCY, INDEX, MUTUALFUND, FUTURE).\n */\n assetType?: string;\n /**\n * Average daily trading volume.\n */\n averageVolume?: number;\n /**\n * Current bid price.\n */\n bid?: number;\n /**\n * Absolute price change on the day, in the quote currency.\n */\n change?: number;\n /**\n * Percent price change on the day.\n */\n changePercent?: number;\n /**\n * ISO currency the quote is priced in (e.g. USD).\n * Present whenever the upstream returns this record.\n */\n currency?: string;\n /**\n * Highest price so far in the current session.\n */\n dayHigh?: number;\n /**\n * Lowest price so far in the current session.\n */\n dayLow?: number;\n /**\n * Exchange the instrument trades on (e.g. NasdaqGS).\n * Present whenever the upstream returns this record.\n */\n exchange?: string;\n /**\n * Highest price over the trailing 52 weeks.\n */\n fiftyTwoWeekHigh?: number;\n /**\n * Lowest price over the trailing 52 weeks.\n */\n fiftyTwoWeekLow?: number;\n /**\n * Market capitalization in the quote currency.\n */\n marketCap?: number;\n /**\n * Current market state (e.g. REGULAR, PRE, POST, CLOSED).\n */\n marketState?: string;\n /**\n * Instrument or company name.\n * Present whenever the upstream returns this record.\n */\n name?: string;\n /**\n * Opening price for the current session.\n */\n open?: number;\n /**\n * Previous session close price.\n */\n previousClose?: number;\n /**\n * Current price in the quote currency.\n */\n price: number;\n /**\n * Resolved ticker symbol for the quote.\n */\n symbol: string;\n /**\n * Timestamp of the quote (ISO 8601).\n */\n timestamp?: string;\n /**\n * Traded volume for the current session.\n */\n volume?: number;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Google Finance Quote (google_finance.quote).\n */\nexport interface GoogleFinanceQuoteData {\n /**\n * The quote for the requested symbol: name, current price, day change (absolute and percent), quote currency, exchange and market state, plus intraday and reference figures. Up to one element (empty when the symbol did not resolve).\n */\n items: GoogleFinanceQuoteItem[];\n}\n\n/**\n * Typed methods for the google_finance platform. Attached to the AnyAPI client as\n * `client.googleFinance`.\n */\nexport class GoogleFinanceNamespace {\n constructor(private readonly _core: ClientCore) {}\n\n /**\n * Google Finance Quote\n *\n * Fetch a live quote for any stock, index, ETF, mutual fund, currency pair, or crypto symbol: name, current price, the absolute and percent change on the day, quote currency, exchange and market state, plus intraday and reference figures (open, day high/low, previous close, volume, market cap, and the 52-week range) with transparent per-request USD pricing.\n *\n * Price: $0.0005 per request plus $0.0015 per result.\n *\n * @example\n * const res = await client.googleFinance.quote({ symbol: \"AAPL:NASDAQ\" });\n */\n quote(\n input: GoogleFinanceQuoteInput,\n options?: RequestOptions,\n ): Promise<RunResult<GoogleFinanceQuoteData>> {\n return this._core.run(\"google_finance.quote\", input, options);\n }\n}\n","// Generated - do not edit. Regenerate with: pnpm generate\n\nimport type {\n ClientCore,\n RequestOptions,\n RunResult,\n} from \"../../core/index.js\";\n\n/**\n * Input for Google Shopping Search (google_shopping.search).\n */\nexport interface GoogleShoppingSearchInput {\n /**\n * ISO 3166-1 alpha-2 country code for localized results (e.g. \"us\", \"gb\", \"de\").\n * Default: us.\n */\n country?: string;\n /**\n * ISO 639-1 language code for results (e.g. \"en\", \"es\", \"fr\").\n * Default: en.\n */\n language?: string;\n /**\n * Maximum number of results to return (1-10, default 10). You are billed per result returned, so a lower limit costs less.\n * Range: minimum 1, maximum 10.\n */\n limit?: number;\n /**\n * Product name, brand, or keywords to search for (e.g. \"Nike running shoes\").\n */\n query: string;\n /**\n * Sort order for results (e.g. \"LOWEST_PRICE\"); defaults to relevance.\n * One of: BEST_MATCH, LOWEST_PRICE, HIGHEST_PRICE, TOP_RATED.\n */\n sortBy?: \"BEST_MATCH\" | \"LOWEST_PRICE\" | \"HIGHEST_PRICE\" | \"TOP_RATED\";\n}\n\nexport interface GoogleShoppingSearchItem {\n title: string;\n url: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Google Shopping Search (google_shopping.search).\n */\nexport interface GoogleShoppingSearchData {\n /**\n * Matching product offers: title, price, store name, rating, shipping info, and product link.\n */\n items: GoogleShoppingSearchItem[];\n}\n\n/**\n * Typed methods for the google_shopping platform. Attached to the AnyAPI client as\n * `client.googleShopping`.\n */\nexport class GoogleShoppingNamespace {\n constructor(private readonly _core: ClientCore) {}\n\n /**\n * Google Shopping Search\n *\n * Search Google Shopping by keyword and get up to 10 product offers - title, price, store, rating, and link - localized by country and language, at a flat per-request USD price.\n *\n * Price: $0.01625 per request.\n *\n * @example\n * const res = await client.googleShopping.search({ query: \"airpods\", limit: 10 });\n */\n search(\n input: GoogleShoppingSearchInput,\n options?: RequestOptions,\n ): Promise<RunResult<GoogleShoppingSearchData>> {\n return this._core.run(\"google_shopping.search\", input, options);\n }\n}\n","// Generated - do not edit. Regenerate with: pnpm generate\n\nimport type {\n ClientCore,\n RequestOptions,\n RunResult,\n} from \"../../core/index.js\";\n\n/**\n * Input for Hacker News Profile (hackernews.profile).\n */\nexport interface HackernewsProfileInput {\n /**\n * Hacker News username, e.g. \"pg\".\n */\n handle: string;\n}\n\n/**\n * The `data` payload of Hacker News Profile (hackernews.profile).\n */\nexport interface HackernewsProfileData {\n bio: string;\n karma: number;\n username: string;\n [extra: string]: unknown;\n}\n\n/**\n * Input for Hacker News Search (hackernews.search).\n */\nexport interface HackernewsSearchInput {\n /**\n * Search keyword, e.g. \"ai\".\n */\n query: string;\n /**\n * Optional result filter, e.g. \"story\" or \"comment\".\n */\n tags?: string;\n}\n\nexport interface HackernewsSearchResult {\n author: string;\n comments: number;\n id: string;\n points: number;\n publishedAt: string;\n title: string;\n url: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Hacker News Search (hackernews.search).\n */\nexport interface HackernewsSearchData {\n results: HackernewsSearchResult[];\n}\n\n/**\n * Input for Hacker News Story (hackernews.story).\n */\nexport interface HackernewsStoryInput {\n /**\n * Hacker News story id, e.g. \"47340079\".\n */\n id: string;\n}\n\n/**\n * The `data` payload of Hacker News Story (hackernews.story).\n */\nexport interface HackernewsStoryData {\n author: string;\n comments: number;\n points: number;\n publishedAt: string;\n title: string;\n url: string;\n [extra: string]: unknown;\n}\n\n/**\n * Input for Hacker News Story Comments (hackernews.story_comments).\n */\nexport interface HackernewsStoryCommentsInput {\n /**\n * Hacker News story id, e.g. \"47340079\".\n */\n id: string;\n}\n\nexport interface HackernewsStoryCommentsComment {\n author: string;\n id: string;\n parentId: string;\n publishedAt: string;\n text: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Hacker News Story Comments (hackernews.story_comments).\n */\nexport interface HackernewsStoryCommentsData {\n comments: HackernewsStoryCommentsComment[];\n}\n\n/**\n * Typed methods for the hackernews platform. Attached to the AnyAPI client as\n * `client.hackernews`.\n */\nexport class HackernewsNamespace {\n constructor(private readonly _core: ClientCore) {}\n\n /**\n * Hacker News Profile\n *\n * Get a Hacker News user's public profile by username - karma, bio, and account details as clean JSON, billed per request in USD.\n *\n * Price: $0.00325 per request.\n *\n * @example\n * const res = await client.hackernews.profile({ handle: \"pg\" });\n */\n profile(\n input: HackernewsProfileInput,\n options?: RequestOptions,\n ): Promise<RunResult<HackernewsProfileData>> {\n return this._core.run(\"hackernews.profile\", input, options);\n }\n\n /**\n * Hacker News Search\n *\n * Search Hacker News by keyword - matching stories with title, link, author, points, and comment count as clean JSON, billed per request in USD.\n *\n * Price: $0.00325 per request.\n *\n * @example\n * const res = await client.hackernews.search({ query: \"ai\" });\n */\n search(\n input: HackernewsSearchInput,\n options?: RequestOptions,\n ): Promise<RunResult<HackernewsSearchData>> {\n return this._core.run(\"hackernews.search\", input, options);\n }\n\n /**\n * Hacker News Story\n *\n * Get a Hacker News story by id - title, link, author, points, and comment count as clean JSON, billed per request in USD.\n *\n * Price: $0.00325 per request.\n *\n * @example\n * const res = await client.hackernews.story({ id: \"47340079\" });\n */\n story(\n input: HackernewsStoryInput,\n options?: RequestOptions,\n ): Promise<RunResult<HackernewsStoryData>> {\n return this._core.run(\"hackernews.story\", input, options);\n }\n\n /**\n * Hacker News Story Comments\n *\n * List the comments on a Hacker News story by id - text, author, and timestamp as clean JSON, billed per request in USD.\n *\n * Price: $0.00325 per request.\n *\n * @example\n * const res = await client.hackernews.storyComments({ id: \"47340079\" });\n */\n storyComments(\n input: HackernewsStoryCommentsInput,\n options?: RequestOptions,\n ): Promise<RunResult<HackernewsStoryCommentsData>> {\n return this._core.run(\"hackernews.story_comments\", input, options);\n }\n}\n","// Generated - do not edit. Regenerate with: pnpm generate\n\nimport type {\n ClientCore,\n RequestOptions,\n RunResult,\n} from \"../../core/index.js\";\n\n/**\n * Input for Indeed Jobs (indeed.jobs).\n */\nexport interface IndeedJobsInput {\n /**\n * Two-letter country site code (e.g. us, uk, de).\n * Default: us.\n */\n country?: string;\n /**\n * Maximum number of results to return (1-20, default 20). You are billed per result returned, so a lower limit costs less.\n * Range: minimum 1, maximum 20.\n */\n limit?: number;\n /**\n * City, state, zip, or 'remote'.\n */\n location?: string;\n /**\n * Job search keywords (e.g. software engineer).\n */\n query: string;\n}\n\nexport interface IndeedJobsItem {\n city?: string;\n /**\n * Present whenever the upstream returns this record.\n */\n company?: string;\n country?: string;\n /**\n * ISO 8601 publish date.\n */\n datePublished?: string;\n /**\n * Plain-text job description.\n */\n description?: string;\n expired?: boolean;\n /**\n * Indeed job key.\n */\n jobId: string;\n postalCode?: string;\n salaryCurrency?: string;\n salaryMax?: number;\n salaryMin?: number;\n /**\n * Salary period, e.g. YEAR or HOUR.\n */\n salaryUnit?: string;\n state?: string;\n title: string;\n /**\n * Indeed job posting URL.\n */\n url: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Indeed Jobs (indeed.jobs).\n */\nexport interface IndeedJobsData {\n /**\n * Job listing records: title, employer, location, salary when available, job type, posting date, and description.\n */\n items: IndeedJobsItem[];\n}\n\n/**\n * Typed methods for the indeed platform. Attached to the AnyAPI client as\n * `client.indeed`.\n */\nexport class IndeedNamespace {\n constructor(private readonly _core: ClientCore) {}\n\n /**\n * Indeed Jobs\n *\n * Search Indeed job listings by keyword, location, and country - up to 20 normalized job records per request at a flat USD price.\n *\n * Price: $0.0008 per request plus $0.00008 per result.\n *\n * @example\n * const res = await client.indeed.jobs({ query: \"data analyst\", limit: 3, location: \"Austin, TX\" });\n */\n jobs(\n input: IndeedJobsInput,\n options?: RequestOptions,\n ): Promise<RunResult<IndeedJobsData>> {\n return this._core.run(\"indeed.jobs\", input, options);\n }\n}\n","// Generated - do not edit. Regenerate with: pnpm generate\n\nimport type {\n ClientCore,\n Paginator,\n RequestOptions,\n RunResult,\n} from \"../../core/index.js\";\nimport { paginate } from \"../../core/index.js\";\n\n/**\n * Input for Instagram Reels by Audio (instagram.audio_reels).\n */\nexport interface InstagramAudioReelsInput {\n /**\n * Audio identifier from the Instagram audio page URL.\n */\n audioId: string;\n /**\n * Pagination cursor returned by a previous response.\n */\n cursor?: string;\n}\n\nexport interface InstagramAudioReelsReel {\n code: string;\n comments: number;\n handle: string;\n id: string;\n likes: number;\n plays: number;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Instagram Reels by Audio (instagram.audio_reels).\n */\nexport interface InstagramAudioReelsData {\n hasMore: boolean;\n nextCursor: string;\n reels: InstagramAudioReelsReel[];\n}\n\n/**\n * Input for Instagram Basic Profile (instagram.basic_profile).\n */\nexport interface InstagramBasicProfileInput {\n /**\n * Instagram numeric user id.\n */\n userId: string;\n}\n\n/**\n * The `data` payload of Instagram Basic Profile (instagram.basic_profile).\n */\nexport interface InstagramBasicProfileData {\n avatarUrl: string;\n bio: string;\n displayName: string;\n externalUrl: string;\n followers: number;\n following: number;\n handle: string;\n private: boolean;\n userId: string;\n verified: boolean;\n [extra: string]: unknown;\n}\n\n/**\n * Input for Instagram Profile Embed (instagram.embed).\n */\nexport interface InstagramEmbedInput {\n /**\n * Instagram username without the leading @.\n */\n handle: string;\n}\n\n/**\n * The `data` payload of Instagram Profile Embed (instagram.embed).\n */\nexport interface InstagramEmbedData {\n html: string;\n [extra: string]: unknown;\n}\n\n/**\n * Input for Instagram Followers (instagram.followers).\n */\nexport interface InstagramFollowersInput {\n /**\n * Opaque pagination cursor from a previous response's nextCursor. Omit for the first page; pass it to fetch the next page of followers.\n */\n cursor?: string;\n /**\n * How many followers you want (50-1000). By default results come back in cheap pages of up to ~50: follow the response's nextCursor for more. With requireSinglePage true, up to this many are returned in one (pricier) call.\n * Range: minimum 50, maximum 1000.\n */\n limit?: number;\n /**\n * Set true to get up to limit followers in a single response instead of cheap pages, served by a bulk provider at a higher price.\n */\n requireSinglePage?: boolean;\n /**\n * The Instagram username, user ID, or profile URL whose followers to list (e.g. natgeo).\n */\n username: string;\n}\n\nexport interface InstagramFollowersItem {\n /**\n * Follower's display name (may be empty).\n * Present whenever the upstream returns this record.\n */\n fullName?: string;\n handle: string;\n id: string;\n /**\n * Whether the follower's account is private.\n */\n private?: boolean;\n /**\n * URL of the follower's profile picture.\n * Present whenever the upstream returns this record.\n */\n profilePicUrl?: string;\n /**\n * Whether the follower's account is verified.\n */\n verified?: boolean;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Instagram Followers (instagram.followers).\n */\nexport interface InstagramFollowersData {\n /**\n * Follower records: id, handle, full name, profile picture URL, and verification/privacy flags.\n */\n items: InstagramFollowersItem[];\n /**\n * Opaque cursor for the next page of followers, or null when this lane has no more. Pass it back as cursor to continue.\n */\n nextCursor?: string;\n}\n\n/**\n * Input for Instagram Following (instagram.following).\n */\nexport interface InstagramFollowingInput {\n /**\n * Opaque pagination cursor from a previous response's nextCursor. Omit for the first page; pass it to fetch the next page.\n */\n cursor?: string;\n /**\n * How many accounts you want (50-1000). By default results come back in cheap pages of up to ~50: follow the response's nextCursor for more. With requireSinglePage true, up to this many are returned in one (pricier) call.\n * Range: minimum 50, maximum 1000.\n */\n limit?: number;\n /**\n * Set true to get up to limit accounts in a single response instead of cheap pages, served by a bulk provider at a higher price.\n */\n requireSinglePage?: boolean;\n /**\n * The Instagram username, user ID, or profile URL whose following list to fetch (e.g. natgeo).\n */\n username: string;\n}\n\nexport interface InstagramFollowingItem {\n /**\n * Account display name.\n * Present whenever the upstream returns this record.\n */\n fullName?: string;\n handle: string;\n id: string;\n /**\n * Whether the account is private.\n */\n private?: boolean;\n /**\n * URL of the account's profile picture.\n * Present whenever the upstream returns this record.\n */\n profilePicUrl?: string;\n /**\n * Whether the account has a verified badge.\n */\n verified?: boolean;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Instagram Following (instagram.following).\n */\nexport interface InstagramFollowingData {\n /**\n * Followed-account records: numeric id, handle, full name, profile picture URL, and verified/private flags.\n */\n items: InstagramFollowingItem[];\n /**\n * Opaque cursor for the next page of accounts, or null when this lane has no more. Pass it back as cursor to continue.\n */\n nextCursor?: string;\n}\n\n/**\n * Input for Instagram Hashtag Analytics (instagram.hashtag_analytics).\n */\nexport interface InstagramHashtagAnalyticsInput {\n /**\n * The Instagram hashtag to analyze, with or without the # symbol (e.g. streetphotography).\n */\n hashtag: string;\n /**\n * Maximum number of results to return (1-20, default 20). You are billed per result returned, so a lower limit costs less.\n * Range: minimum 1, maximum 20.\n */\n limit?: number;\n}\n\nexport interface InstagramHashtagAnalyticsItem {\n difficulty?: string;\n /**\n * Present whenever the upstream returns this record.\n */\n id?: string;\n /**\n * Hashtag (without #).\n */\n name: string;\n /**\n * Total posts using the hashtag.\n */\n postsCount?: number;\n /**\n * Human-formatted post count (e.g. 793.54 M).\n * Present whenever the upstream returns this record.\n */\n postsFormatted?: string;\n url: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Instagram Hashtag Analytics (instagram.hashtag_analytics).\n */\nexport interface InstagramHashtagAnalyticsData {\n /**\n * Hashtag analytics records: hashtag name, total post count, and related hashtag suggestions.\n */\n items: InstagramHashtagAnalyticsItem[];\n}\n\n/**\n * Input for Instagram Highlight Detail (instagram.highlight_detail).\n */\nexport interface InstagramHighlightDetailInput {\n /**\n * The id of the highlight to retrieve details for.\n */\n id: string;\n}\n\n/**\n * The `data` payload of Instagram Highlight Detail (instagram.highlight_detail).\n */\nexport interface InstagramHighlightDetailData {\n coverUrl: string;\n createdAt: number;\n id: string;\n mediaCount: number;\n ownerHandle: string;\n title: string;\n [extra: string]: unknown;\n}\n\n/**\n * Input for Instagram Media Transcript (instagram.media_transcript).\n */\nexport interface InstagramMediaTranscriptInput {\n /**\n * Instagram post or reel URL.\n */\n url: string;\n}\n\nexport interface InstagramMediaTranscriptTranscript {\n id: string;\n shortcode: string;\n text: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Instagram Media Transcript (instagram.media_transcript).\n */\nexport interface InstagramMediaTranscriptData {\n transcripts: InstagramMediaTranscriptTranscript[];\n}\n\n/**\n * Input for Instagram Post (instagram.post).\n */\nexport interface InstagramPostInput {\n /**\n * Full Instagram post or reel URL.\n */\n url: string;\n}\n\n/**\n * The `data` payload of Instagram Post (instagram.post).\n */\nexport interface InstagramPostData {\n displayUrl: string;\n id: string;\n likes: number;\n owner: string;\n shortcode: string;\n type: string;\n videoUrl: string;\n [extra: string]: unknown;\n}\n\n/**\n * Input for Instagram Post Comments (instagram.post_comments).\n */\nexport interface InstagramPostCommentsInput {\n /**\n * Pagination cursor from a previous response's nextCursor.\n */\n cursor?: string;\n /**\n * Full Instagram post or reel URL.\n */\n url: string;\n}\n\nexport interface InstagramPostCommentsComment {\n author: string;\n createdAt: string;\n id: string;\n likes: number;\n text: string;\n verified: boolean;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Instagram Post Comments (instagram.post_comments).\n */\nexport interface InstagramPostCommentsData {\n comments: InstagramPostCommentsComment[];\n}\n\n/**\n * Input for Instagram Profile (instagram.profile).\n */\nexport interface InstagramProfileInput {\n /**\n * Instagram username without the leading @.\n */\n handle: string;\n}\n\n/**\n * The `data` payload of Instagram Profile (instagram.profile).\n */\nexport interface InstagramProfileData {\n avatarUrl: string;\n bio: string;\n displayName: string;\n followers: number;\n following: number;\n handle: string;\n posts: number;\n verified: boolean;\n [extra: string]: unknown;\n}\n\n/**\n * Input for Instagram Reel Transcript (instagram.reel_transcript).\n */\nexport interface InstagramReelTranscriptInput {\n /**\n * The URL of a public Instagram reel or video post with spoken audio (e.g. https://www.instagram.com/reel/C8yKXdRxKqK/).\n */\n url: string;\n /**\n * Set true to include a precise timestamp for every word in the transcript (e.g. true).\n * Default: false.\n */\n wordTimestamps?: boolean;\n}\n\nexport interface InstagramReelTranscriptItem {\n text: string;\n url: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Instagram Reel Transcript (instagram.reel_transcript).\n */\nexport interface InstagramReelTranscriptData {\n /**\n * Transcript records: full transcript text, timed segments, detected language, and source video metadata.\n */\n items: InstagramReelTranscriptItem[];\n}\n\n/**\n * Input for Instagram Reels Search (instagram.reels_search).\n */\nexport interface InstagramReelsSearchInput {\n /**\n * Restrict results to reels posted within this window.\n * One of: last-hour, last-day, last-week, last-month, last-year.\n */\n datePosted?:\n \"last-hour\" | \"last-day\" | \"last-week\" | \"last-month\" | \"last-year\";\n /**\n * 1-based results page.\n * Range: minimum 1.\n * Default: 1.\n */\n page?: number;\n /**\n * Search keyword (e.g. \"crossfit\").\n */\n query: string;\n}\n\nexport interface InstagramReelsSearchReel {\n caption: string;\n comments: number;\n durationSeconds: number;\n followers: number;\n likes: number;\n paidPartnership: boolean;\n plays: number;\n shortcode: string;\n takenAt: string;\n thumbnail: string;\n url: string;\n username: string;\n verified: boolean;\n views: number;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Instagram Reels Search (instagram.reels_search).\n */\nexport interface InstagramReelsSearchData {\n reels: InstagramReelsSearchReel[];\n}\n\n/**\n * Input for Instagram Search (instagram.search).\n */\nexport interface InstagramSearchInput {\n /**\n * Maximum number of results to return (1-20, default 20). You are billed per result returned, so a lower limit costs less.\n * Range: minimum 1, maximum 20.\n */\n limit?: number;\n /**\n * Keyword to search Instagram for; one or more words without special punctuation (e.g. coffee roastery).\n */\n query: string;\n /**\n * What to search for: user profiles, hashtags, or places (e.g. hashtag).\n * One of: user, hashtag, place.\n * Default: user.\n */\n type?: \"user\" | \"hashtag\" | \"place\";\n}\n\nexport interface InstagramSearchItem {\n handle: string;\n url: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Instagram Search (instagram.search).\n */\nexport interface InstagramSearchData {\n /**\n * Matching search results: user profiles, hashtags, or places with names, follower/post counts, and profile links.\n */\n items: InstagramSearchItem[];\n}\n\n/**\n * Input for Instagram Hashtag Search (instagram.search_hashtag).\n */\nexport interface InstagramSearchHashtagInput {\n /**\n * Pagination cursor from a previous response.\n */\n cursor?: string;\n /**\n * Hashtag to search, without the leading #.\n */\n hashtag: string;\n /**\n * Filter by media type (e.g. all, photo, video, reel).\n */\n mediaType?: string;\n}\n\nexport interface InstagramSearchHashtagPost {\n caption: string;\n displayUrl: string;\n id: string;\n shortcode: string;\n type: string;\n url: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Instagram Hashtag Search (instagram.search_hashtag).\n */\nexport interface InstagramSearchHashtagData {\n posts: InstagramSearchHashtagPost[];\n}\n\n/**\n * Input for Instagram Profile Search (instagram.search_profiles).\n */\nexport interface InstagramSearchProfilesInput {\n /**\n * Pagination cursor returned by a previous response.\n */\n cursor?: string;\n /**\n * Bio or caption keyword/phrase to search for.\n */\n query: string;\n}\n\nexport interface InstagramSearchProfilesProfile {\n avatarUrl: string;\n bio: string;\n displayName: string;\n followers: number;\n following: number;\n handle: string;\n id: string;\n posts: number;\n private: boolean;\n verified: boolean;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Instagram Profile Search (instagram.search_profiles).\n */\nexport interface InstagramSearchProfilesData {\n nextCursor: string;\n profiles: InstagramSearchProfilesProfile[];\n}\n\n/**\n * Input for Instagram Stories (full) (instagram.stories_full).\n */\nexport interface InstagramStoriesFullInput {\n /**\n * Instagram usernames/handles (without the @). A flat run fee is shared across the batch, so request several at once to lower the cost per account. Up to 100 usernames per request.\n */\n usernames: string[];\n}\n\nexport interface InstagramStoriesFullItem {\n /**\n * Story caption text, when present.\n */\n caption?: string;\n /**\n * Instagram media shortcode.\n */\n code?: string;\n /**\n * Expiry time, 24h after posting (Unix seconds).\n */\n expiresAt?: number;\n /**\n * Media pixel height.\n */\n height?: number;\n /**\n * Story identifier.\n */\n id: string;\n /**\n * Direct URL to the story image (highest resolution).\n */\n imageUrl?: string;\n /**\n * Media type: 1 = image, 2 = video.\n */\n mediaType?: number;\n /**\n * Posting time (Unix seconds).\n */\n postedAt?: number;\n /**\n * Owner username.\n * Present whenever the upstream returns this record.\n */\n username?: string;\n /**\n * Direct URL to the story video, when the story is a video.\n */\n videoUrl?: string;\n /**\n * Media pixel width.\n */\n width?: number;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Instagram Stories (full) (instagram.stories_full).\n */\nexport interface InstagramStoriesFullData {\n /**\n * Story records across the requested accounts, each with full media, type, dimensions, posting + expiry time, and caption.\n */\n items: InstagramStoriesFullItem[];\n}\n\n/**\n * Input for Instagram Stories (basic) (instagram.stories_thin).\n */\nexport interface InstagramStoriesThinInput {\n /**\n * Instagram username/handle to fetch currently live stories for (without the @).\n */\n username: string;\n}\n\nexport interface InstagramStoriesThinItem {\n /**\n * Story identifier.\n */\n id: string;\n /**\n * Direct URL to the story image or video.\n * Present whenever the upstream returns this record.\n */\n mediaUrl?: string;\n /**\n * Public link to the story.\n * Present whenever the upstream returns this record.\n */\n permalink?: string;\n /**\n * Posting time (Unix seconds).\n */\n postedAt?: number;\n /**\n * Owner username.\n * Present whenever the upstream returns this record.\n */\n username?: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Instagram Stories (basic) (instagram.stories_thin).\n */\nexport interface InstagramStoriesThinData {\n /**\n * The account's currently live stories, each with its media URL, owner, posting time, and permalink.\n */\n items: InstagramStoriesThinItem[];\n}\n\n/**\n * Input for Instagram Trending Reels (instagram.trending_reels).\n */\nexport interface InstagramTrendingReelsInput {}\n\nexport interface InstagramTrendingReelsReel {\n caption: string;\n comments: number;\n handle: string;\n id: string;\n likes: number;\n plays: number;\n shortcode: string;\n url: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Instagram Trending Reels (instagram.trending_reels).\n */\nexport interface InstagramTrendingReelsData {\n reels: InstagramTrendingReelsReel[];\n}\n\n/**\n * Input for Instagram User Highlights (instagram.user_highlights).\n */\nexport interface InstagramUserHighlightsInput {\n /**\n * Instagram username without the leading @.\n */\n handle: string;\n /**\n * Instagram numeric user id (optional, faster than handle).\n */\n userId?: string;\n}\n\nexport interface InstagramUserHighlightsHighlight {\n coverUrl: string;\n id: string;\n ownerHandle: string;\n title: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Instagram User Highlights (instagram.user_highlights).\n */\nexport interface InstagramUserHighlightsData {\n highlights: InstagramUserHighlightsHighlight[];\n}\n\n/**\n * Input for Instagram User Posts (instagram.user_posts).\n */\nexport interface InstagramUserPostsInput {\n /**\n * Pagination cursor from a previous response's nextCursor.\n */\n cursor?: string;\n /**\n * Instagram username without the leading @.\n */\n handle: string;\n}\n\nexport interface InstagramUserPostsPost {\n caption: string;\n comments: number;\n createdAt: string;\n id: string;\n likes: number;\n url: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Instagram User Posts (instagram.user_posts).\n */\nexport interface InstagramUserPostsData {\n nextCursor: string;\n posts: InstagramUserPostsPost[];\n}\n\n/**\n * Input for Instagram User Reels (instagram.user_reels).\n */\nexport interface InstagramUserReelsInput {\n /**\n * Pagination cursor (max_id) from a previous response's nextCursor.\n */\n cursor?: string;\n /**\n * Instagram handle.\n */\n handle?: string;\n /**\n * Instagram user id (faster than handle when known).\n */\n userId?: string;\n}\n\nexport interface InstagramUserReelsReel {\n caption: string;\n comments: number;\n id: string;\n likes: number;\n shortcode: string;\n takenAt: number;\n views: number;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Instagram User Reels (instagram.user_reels).\n */\nexport interface InstagramUserReelsData {\n nextCursor: string;\n reels: InstagramUserReelsReel[];\n}\n\n/**\n * Typed methods for the instagram platform. Attached to the AnyAPI client as\n * `client.instagram`.\n */\nexport class InstagramNamespace {\n constructor(private readonly _core: ClientCore) {}\n\n /**\n * Instagram Reels by Audio\n *\n * List Instagram reels that use a given audio track by audio id, normalized across providers with transparent failover.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.instagram.audioReels({ audioId: \"1392969992841787\" });\n */\n audioReels(\n input: InstagramAudioReelsInput,\n options?: RequestOptions,\n ): Promise<RunResult<InstagramAudioReelsData>> {\n return this._core.run(\"instagram.audio_reels\", input, options);\n }\n\n /**\n * Iterate every result of Instagram Reels by Audio across pages.\n *\n * Yields items directly; call `.pages()` on the return value to walk whole\n * result pages instead (each carries its own costUsd).\n */\n iterAudioReels(\n input: InstagramAudioReelsInput,\n options?: RequestOptions,\n ): Paginator<InstagramAudioReelsReel, RunResult<InstagramAudioReelsData>> {\n return paginate<\n InstagramAudioReelsReel,\n RunResult<InstagramAudioReelsData>\n >(\n this._core,\n \"instagram.audio_reels\",\n input as unknown as Record<string, unknown>,\n \"reels\",\n false,\n options,\n );\n }\n\n /**\n * Instagram Basic Profile\n *\n * Fetch an Instagram account's core public profile fields (followers, posts, bio, verification) by user id, normalized across providers with transparent failover.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.instagram.basicProfile({ userId: \"314216\" });\n */\n basicProfile(\n input: InstagramBasicProfileInput,\n options?: RequestOptions,\n ): Promise<RunResult<InstagramBasicProfileData>> {\n return this._core.run(\"instagram.basic_profile\", input, options);\n }\n\n /**\n * Instagram Profile Embed\n *\n * Fetch the public embed HTML for an Instagram profile by handle, normalized across providers with transparent failover.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.instagram.embed({ handle: \"nasa\" });\n */\n embed(\n input: InstagramEmbedInput,\n options?: RequestOptions,\n ): Promise<RunResult<InstagramEmbedData>> {\n return this._core.run(\"instagram.embed\", input, options);\n }\n\n /**\n * Instagram Followers\n *\n * List the followers of any public Instagram account by username - follower usernames, names, and profile details - at a flat per-request USD price.\n *\n * Price: $0.01625 per request.\n *\n * @example\n * const res = await client.instagram.followers({ username: \"nasa\", limit: 50 });\n */\n followers(\n input: InstagramFollowersInput,\n options?: RequestOptions,\n ): Promise<RunResult<InstagramFollowersData>> {\n return this._core.run(\"instagram.followers\", input, options);\n }\n\n /**\n * Iterate every result of Instagram Followers across pages.\n *\n * Yields items directly; call `.pages()` on the return value to walk whole\n * result pages instead (each carries its own costUsd).\n */\n iterFollowers(\n input: InstagramFollowersInput,\n options?: RequestOptions,\n ): Paginator<InstagramFollowersItem, RunResult<InstagramFollowersData>> {\n return paginate<InstagramFollowersItem, RunResult<InstagramFollowersData>>(\n this._core,\n \"instagram.followers\",\n input as unknown as Record<string, unknown>,\n \"items\",\n false,\n options,\n );\n }\n\n /**\n * Instagram Following\n *\n * List the accounts a public Instagram user follows - usernames, names, and profile details - at a flat per-request USD price.\n *\n * Price: $0.01625 per request.\n *\n * @example\n * const res = await client.instagram.following({ username: \"nasa\", limit: 50 });\n */\n following(\n input: InstagramFollowingInput,\n options?: RequestOptions,\n ): Promise<RunResult<InstagramFollowingData>> {\n return this._core.run(\"instagram.following\", input, options);\n }\n\n /**\n * Iterate every result of Instagram Following across pages.\n *\n * Yields items directly; call `.pages()` on the return value to walk whole\n * result pages instead (each carries its own costUsd).\n */\n iterFollowing(\n input: InstagramFollowingInput,\n options?: RequestOptions,\n ): Paginator<InstagramFollowingItem, RunResult<InstagramFollowingData>> {\n return paginate<InstagramFollowingItem, RunResult<InstagramFollowingData>>(\n this._core,\n \"instagram.following\",\n input as unknown as Record<string, unknown>,\n \"items\",\n false,\n options,\n );\n }\n\n /**\n * Instagram Hashtag Analytics\n *\n * Get analytics for any Instagram hashtag - total post count, related hashtags, and usage signals - normalized and priced per request in USD.\n *\n * Price: $0.001 per request plus $0.0017 per result.\n *\n * @example\n * const res = await client.instagram.hashtagAnalytics({ hashtag: \"travel\", limit: 5 });\n */\n hashtagAnalytics(\n input: InstagramHashtagAnalyticsInput,\n options?: RequestOptions,\n ): Promise<RunResult<InstagramHashtagAnalyticsData>> {\n return this._core.run(\"instagram.hashtag_analytics\", input, options);\n }\n\n /**\n * Instagram Highlight Detail\n *\n * Fetch the details and media items of a single Instagram story highlight by id, normalized across providers with transparent failover.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.instagram.highlightDetail({ id: \"18201653992314974\" });\n */\n highlightDetail(\n input: InstagramHighlightDetailInput,\n options?: RequestOptions,\n ): Promise<RunResult<InstagramHighlightDetailData>> {\n return this._core.run(\"instagram.highlight_detail\", input, options);\n }\n\n /**\n * Instagram Media Transcript\n *\n * Get the spoken-audio transcript text for an Instagram post or reel by URL, normalized across providers with transparent failover.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.instagram.mediaTranscript({ url: \"https://www.instagram.com/reel/DHsD6HGqJhp/\" });\n */\n mediaTranscript(\n input: InstagramMediaTranscriptInput,\n options?: RequestOptions,\n ): Promise<RunResult<InstagramMediaTranscriptData>> {\n return this._core.run(\"instagram.media_transcript\", input, options);\n }\n\n /**\n * Instagram Post\n *\n * Fetch a single Instagram post or reel by URL (media URLs, like count, owner, type) as normalized JSON, across providers with transparent failover.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.instagram.post({ url: \"https://www.instagram.com/reel/DWzrfE2kaY8/\" });\n */\n post(\n input: InstagramPostInput,\n options?: RequestOptions,\n ): Promise<RunResult<InstagramPostData>> {\n return this._core.run(\"instagram.post\", input, options);\n }\n\n /**\n * Instagram Post Comments\n *\n * List the comments on an Instagram post or reel by URL with cursor pagination (text, author, likes), normalized across providers.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.instagram.postComments({ url: \"https://www.instagram.com/reel/DWzrfE2kaY8/\" });\n */\n postComments(\n input: InstagramPostCommentsInput,\n options?: RequestOptions,\n ): Promise<RunResult<InstagramPostCommentsData>> {\n return this._core.run(\"instagram.post_comments\", input, options);\n }\n\n /**\n * Instagram Profile\n *\n * Fetch an Instagram account's public profile (followers, posts, bio, verification) by handle, normalized across providers with transparent failover.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.instagram.profile({ handle: \"nasa\" });\n */\n profile(\n input: InstagramProfileInput,\n options?: RequestOptions,\n ): Promise<RunResult<InstagramProfileData>> {\n return this._core.run(\"instagram.profile\", input, options);\n }\n\n /**\n * Instagram Reel Transcript\n *\n * Turn any public Instagram reel or video post into a full speech transcript, with optional word-level timestamps - priced per request in USD.\n *\n * Price: $0.005 per request plus $0.02 per result.\n *\n * @example\n * const res = await client.instagram.reelTranscript({ url: \"https://www.instagram.com/reel/DWzrfE2kaY8/\", wordTimestamps: false });\n */\n reelTranscript(\n input: InstagramReelTranscriptInput,\n options?: RequestOptions,\n ): Promise<RunResult<InstagramReelTranscriptData>> {\n return this._core.run(\"instagram.reel_transcript\", input, options);\n }\n\n /**\n * Instagram Reels Search\n *\n * Search Instagram Reels by keyword and get matching reels - caption, views, likes, creator, and duration - normalized across providers with transparent failover.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.instagram.reelsSearch({ query: \"travel\" });\n */\n reelsSearch(\n input: InstagramReelsSearchInput,\n options?: RequestOptions,\n ): Promise<RunResult<InstagramReelsSearchData>> {\n return this._core.run(\"instagram.reels_search\", input, options);\n }\n\n /**\n * Instagram Search\n *\n * Search Instagram for users, hashtags, or places by keyword and get matching results with names, counts, and links - flat per-request USD pricing.\n *\n * Price: $0.00325 per request.\n *\n * @example\n * const res = await client.instagram.search({ query: \"nasa\" });\n */\n search(\n input: InstagramSearchInput,\n options?: RequestOptions,\n ): Promise<RunResult<InstagramSearchData>> {\n return this._core.run(\"instagram.search\", input, options);\n }\n\n /**\n * Instagram Hashtag Search\n *\n * List recent Instagram posts under a hashtag (caption, type, media URL), normalized across providers with transparent failover.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.instagram.searchHashtag({ hashtag: \"travel\" });\n */\n searchHashtag(\n input: InstagramSearchHashtagInput,\n options?: RequestOptions,\n ): Promise<RunResult<InstagramSearchHashtagData>> {\n return this._core.run(\"instagram.search_hashtag\", input, options);\n }\n\n /**\n * Instagram Profile Search\n *\n * Search public Instagram profiles by a bio or caption keyword, normalized across providers with transparent failover.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.instagram.searchProfiles({ query: \"coffee roaster\" });\n */\n searchProfiles(\n input: InstagramSearchProfilesInput,\n options?: RequestOptions,\n ): Promise<RunResult<InstagramSearchProfilesData>> {\n return this._core.run(\"instagram.search_profiles\", input, options);\n }\n\n /**\n * Iterate every result of Instagram Profile Search across pages.\n *\n * Yields items directly; call `.pages()` on the return value to walk whole\n * result pages instead (each carries its own costUsd).\n */\n iterSearchProfiles(\n input: InstagramSearchProfilesInput,\n options?: RequestOptions,\n ): Paginator<\n InstagramSearchProfilesProfile,\n RunResult<InstagramSearchProfilesData>\n > {\n return paginate<\n InstagramSearchProfilesProfile,\n RunResult<InstagramSearchProfilesData>\n >(\n this._core,\n \"instagram.search_profiles\",\n input as unknown as Record<string, unknown>,\n \"profiles\",\n false,\n options,\n );\n }\n\n /**\n * Instagram Stories (full)\n *\n * Fetch public Instagram accounts' currently live stories with the full record - media (image and video), type, dimensions, posting time, 24h expiry, and caption. Priced per username (a flat run fee is shared across the batch), so request several at once to lower the cost per account. Up to 100 usernames per request.\n *\n * Price: $0.099 per request plus $0.003 per username.\n *\n * @example\n * const res = await client.instagram.storiesFull({ usernames: [\"natgeo\"] });\n */\n storiesFull(\n input: InstagramStoriesFullInput,\n options?: RequestOptions,\n ): Promise<RunResult<InstagramStoriesFullData>> {\n return this._core.run(\"instagram.stories_full\", input, options);\n }\n\n /**\n * Instagram Stories (basic)\n *\n * Fetch a public Instagram account's currently live stories - media URL, owner, and posting time - by username. Lightweight projection; for media type, dimensions, and the 24h expiry time use instagram.stories_full.\n *\n * Price: $0.01625 per request.\n *\n * @example\n * const res = await client.instagram.storiesThin({ username: \"natgeo\" });\n */\n storiesThin(\n input: InstagramStoriesThinInput,\n options?: RequestOptions,\n ): Promise<RunResult<InstagramStoriesThinData>> {\n return this._core.run(\"instagram.stories_thin\", input, options);\n }\n\n /**\n * Instagram Trending Reels\n *\n * List currently trending Instagram reels, normalized across providers with transparent failover.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.instagram.trendingReels({});\n */\n trendingReels(\n input: InstagramTrendingReelsInput,\n options?: RequestOptions,\n ): Promise<RunResult<InstagramTrendingReelsData>> {\n return this._core.run(\"instagram.trending_reels\", input, options);\n }\n\n /**\n * Instagram User Highlights\n *\n * List an Instagram account's story highlight reels by handle, normalized across providers with transparent failover.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.instagram.userHighlights({ handle: \"nasa\" });\n */\n userHighlights(\n input: InstagramUserHighlightsInput,\n options?: RequestOptions,\n ): Promise<RunResult<InstagramUserHighlightsData>> {\n return this._core.run(\"instagram.user_highlights\", input, options);\n }\n\n /**\n * Instagram User Posts\n *\n * List an Instagram account's recent posts (likes, comments, captions) by handle with cursor pagination, normalized across providers.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.instagram.userPosts({ handle: \"nasa\" });\n */\n userPosts(\n input: InstagramUserPostsInput,\n options?: RequestOptions,\n ): Promise<RunResult<InstagramUserPostsData>> {\n return this._core.run(\"instagram.user_posts\", input, options);\n }\n\n /**\n * Iterate every result of Instagram User Posts across pages.\n *\n * Yields items directly; call `.pages()` on the return value to walk whole\n * result pages instead (each carries its own costUsd).\n */\n iterUserPosts(\n input: InstagramUserPostsInput,\n options?: RequestOptions,\n ): Paginator<InstagramUserPostsPost, RunResult<InstagramUserPostsData>> {\n return paginate<InstagramUserPostsPost, RunResult<InstagramUserPostsData>>(\n this._core,\n \"instagram.user_posts\",\n input as unknown as Record<string, unknown>,\n \"posts\",\n false,\n options,\n );\n }\n\n /**\n * Instagram User Reels\n *\n * List an Instagram account's reels by handle with cursor pagination (caption, plays, likes, comments), normalized across providers.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.instagram.userReels({ handle: \"nasa\" });\n */\n userReels(\n input: InstagramUserReelsInput,\n options?: RequestOptions,\n ): Promise<RunResult<InstagramUserReelsData>> {\n return this._core.run(\"instagram.user_reels\", input, options);\n }\n\n /**\n * Iterate every result of Instagram User Reels across pages.\n *\n * Yields items directly; call `.pages()` on the return value to walk whole\n * result pages instead (each carries its own costUsd).\n */\n iterUserReels(\n input: InstagramUserReelsInput,\n options?: RequestOptions,\n ): Paginator<InstagramUserReelsReel, RunResult<InstagramUserReelsData>> {\n return paginate<InstagramUserReelsReel, RunResult<InstagramUserReelsData>>(\n this._core,\n \"instagram.user_reels\",\n input as unknown as Record<string, unknown>,\n \"reels\",\n false,\n options,\n );\n }\n}\n","// Generated - do not edit. Regenerate with: pnpm generate\n\nimport type {\n ClientCore,\n RequestOptions,\n RunResult,\n} from \"../../core/index.js\";\n\n/**\n * Input for LinkedIn Ad Details (linkedin.ad).\n */\nexport interface LinkedinAdInput {\n /**\n * LinkedIn Ad Library ad URL (e.g. \"https://www.linkedin.com/ad-library/detail/666281156\").\n */\n url: string;\n}\n\n/**\n * The `data` payload of LinkedIn Ad Details (linkedin.ad).\n */\nexport interface LinkedinAdData {\n adType: string;\n advertiser: string;\n advertiserLinkedinPage: string;\n cta: string;\n description: string;\n destinationUrl: string;\n /**\n * ISO 8601 date.\n */\n endDate: string;\n headline: string;\n id: string;\n image: string;\n /**\n * ISO 8601 date.\n */\n startDate: string;\n totalImpressions: string;\n [extra: string]: unknown;\n}\n\n/**\n * Input for LinkedIn Ads Library (linkedin.ads).\n */\nexport interface LinkedinAdsInput {\n /**\n * Maximum number of results to return (1-20, default 20). You are billed per result returned, so a lower limit costs less.\n * Range: minimum 1, maximum 20.\n */\n limit?: number;\n /**\n * LinkedIn Ad Library search URL or a LinkedIn company URL (e.g. https://www.linkedin.com/ad-library/search?companyIds=1035).\n */\n url: string;\n}\n\nexport interface LinkedinAdsItem {\n id: string;\n /**\n * Present whenever the upstream returns this record.\n */\n text?: string;\n url: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of LinkedIn Ads Library (linkedin.ads).\n */\nexport interface LinkedinAdsData {\n /**\n * Ad records: advertiser name, ad creative text, format, and ad library URL.\n */\n items: LinkedinAdsItem[];\n}\n\n/**\n * Input for LinkedIn Ad Search (linkedin.ads_search).\n */\nexport interface LinkedinAdsSearchInput {\n /**\n * Company name to search (e.g. \"microsoft\").\n */\n company?: string;\n /**\n * LinkedIn company identifier.\n */\n companyId?: string;\n /**\n * Comma-separated two-letter country codes (e.g. \"US,CA,MX\").\n */\n countries?: string;\n /**\n * Search end date in YYYY-MM-DD format.\n */\n endDate?: string;\n /**\n * Keyword term for the ad search.\n */\n keyword?: string;\n /**\n * Opaque pagination token from a previous response's nextCursor.\n */\n paginationToken?: string;\n /**\n * Search start date in YYYY-MM-DD format.\n */\n startDate?: string;\n}\n\nexport interface LinkedinAdsSearchAd {\n adType: string;\n advertiser: string;\n advertiserLinkedinPage: string;\n cta: string;\n description: string;\n destinationUrl: string;\n endDate: string;\n headline: string;\n id: string;\n startDate: string;\n totalImpressions: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of LinkedIn Ad Search (linkedin.ads_search).\n */\nexport interface LinkedinAdsSearchData {\n ads: LinkedinAdsSearchAd[];\n nextCursor: string;\n totalAds: number;\n}\n\n/**\n * Input for LinkedIn Company (linkedin.company).\n */\nexport interface LinkedinCompanyInput {\n /**\n * Full LinkedIn company page URL.\n */\n url: string;\n}\n\n/**\n * The `data` payload of LinkedIn Company (linkedin.company).\n */\nexport interface LinkedinCompanyData {\n description: string;\n employeeCount: number;\n industry: string;\n logoUrl: string;\n name: string;\n tagline: string;\n website: string;\n [extra: string]: unknown;\n}\n\n/**\n * Input for LinkedIn Company Employees (linkedin.company_employees).\n */\nexport interface LinkedinCompanyEmployeesInput {\n /**\n * Company name or LinkedIn company URL (e.g. google or https://www.linkedin.com/company/google/).\n */\n company: string;\n /**\n * Optional job-title filter supporting boolean operators (e.g. CEO OR CTO).\n */\n jobTitle?: string;\n /**\n * Maximum number of results to return (1-10, default 10). You are billed per result returned, so a lower limit costs less.\n * Range: minimum 1, maximum 10.\n */\n limit?: number;\n}\n\n/**\n * An employee: name, job title (headline), location text, public handle, and LinkedIn profile URL.\n */\nexport interface LinkedinCompanyEmployeesItem {\n /**\n * Present whenever the upstream returns this record.\n */\n handle?: string;\n /**\n * The employee's current role or headline at the company.\n */\n jobTitle?: string;\n /**\n * The employee's location as a single string (city, region, country).\n */\n locationText?: string;\n /**\n * Present whenever the upstream returns this record.\n */\n name?: string;\n url: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of LinkedIn Company Employees (linkedin.company_employees).\n */\nexport interface LinkedinCompanyEmployeesData {\n /**\n * Employee records: name, job title, location text, and LinkedIn profile URL.\n */\n items: LinkedinCompanyEmployeesItem[];\n}\n\n/**\n * Input for LinkedIn Company Posts (linkedin.company_posts).\n */\nexport interface LinkedinCompanyPostsInput {\n /**\n * Page number for pagination.\n * Range: minimum 1.\n */\n page?: number;\n /**\n * Full LinkedIn company page URL.\n */\n url: string;\n}\n\nexport interface LinkedinCompanyPostsPost {\n id: string;\n publishedAt: string;\n text: string;\n url: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of LinkedIn Company Posts (linkedin.company_posts).\n */\nexport interface LinkedinCompanyPostsData {\n posts: LinkedinCompanyPostsPost[];\n}\n\n/**\n * Input for LinkedIn Email Finder (linkedin.email).\n */\nexport interface LinkedinEmailInput {\n /**\n * LinkedIn profile URL or public ID to find the work email for.\n */\n profileUrl: string;\n}\n\nexport interface LinkedinEmailItem {\n /**\n * Current company name.\n */\n company?: string;\n /**\n * Discovered work email address.\n */\n email: string;\n /**\n * Canonical LinkedIn profile URL.\n * Present whenever the upstream returns this record.\n */\n linkedinUrl?: string;\n /**\n * Full name on the LinkedIn profile.\n */\n name: string;\n /**\n * Current job title.\n */\n title?: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of LinkedIn Email Finder (linkedin.email).\n */\nexport interface LinkedinEmailData {\n /**\n * Email lookup records: the discovered work email for a LinkedIn profile, with the person's name, profile URL, title, and company.\n */\n items: LinkedinEmailItem[];\n}\n\n/**\n * Input for LinkedIn Jobs (linkedin.jobs).\n */\nexport interface LinkedinJobsInput {\n /**\n * Maximum number of results to return (1-25, default 25). You are billed per result returned, so a lower limit costs less.\n * Range: minimum 1, maximum 25.\n */\n limit?: number;\n /**\n * City, region, or country to search within.\n */\n location?: string;\n /**\n * Job title or keywords to search.\n */\n query: string;\n}\n\nexport interface LinkedinJobsItem {\n /**\n * Hiring company name.\n * Present whenever the upstream returns this record.\n */\n company?: string;\n /**\n * Full job description text.\n */\n description?: string;\n /**\n * Job location (city, region).\n * Present whenever the upstream returns this record.\n */\n location?: string;\n /**\n * When the job was posted, as an ISO 8601 timestamp.\n * Present whenever the upstream returns this record.\n */\n postedAt?: string;\n /**\n * Seniority / experience level (e.g. Entry level, Mid-Senior, Not Applicable).\n */\n seniority?: string;\n title: string;\n /**\n * Canonical LinkedIn job listing URL.\n */\n url: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of LinkedIn Jobs (linkedin.jobs).\n */\nexport interface LinkedinJobsData {\n /**\n * Job records: title and listing URL, plus (when present) company, location, posting date, description, and seniority.\n */\n items: LinkedinJobsItem[];\n}\n\n/**\n * Input for LinkedIn Post (linkedin.post).\n */\nexport interface LinkedinPostInput {\n /**\n * Full LinkedIn post or article URL.\n */\n url: string;\n}\n\n/**\n * The `data` payload of LinkedIn Post (linkedin.post).\n */\nexport interface LinkedinPostData {\n author: string;\n comments: number;\n likes: number;\n publishedAt: string;\n text: string;\n title: string;\n url: string;\n [extra: string]: unknown;\n}\n\n/**\n * Input for LinkedIn Post Transcript (linkedin.post_transcript).\n */\nexport interface LinkedinPostTranscriptInput {\n /**\n * The full URL of the LinkedIn post to get the video transcript from.\n */\n url: string;\n}\n\n/**\n * The `data` payload of LinkedIn Post Transcript (linkedin.post_transcript).\n */\nexport interface LinkedinPostTranscriptData {\n transcript: string;\n transcriptNotAvailable: boolean;\n url: string;\n [extra: string]: unknown;\n}\n\n/**\n * Input for LinkedIn Profile (linkedin.profile).\n */\nexport interface LinkedinProfileInput {\n /**\n * Full LinkedIn profile URL.\n */\n url: string;\n}\n\nexport interface LinkedinProfileArticle {\n headline: string;\n publishedAt?: string;\n url?: string;\n [extra: string]: unknown;\n}\n\nexport interface LinkedinProfileEducation {\n endDate?: string;\n school: string;\n schoolUrl?: string;\n startDate?: string;\n [extra: string]: unknown;\n}\n\nexport interface LinkedinProfileExperience {\n company: string;\n companyUrl?: string;\n endDate?: string;\n startDate?: string;\n [extra: string]: unknown;\n}\n\nexport interface LinkedinProfileRecentPost {\n activityType?: string;\n id: string;\n publishedAt?: string;\n text?: string;\n url?: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of LinkedIn Profile (linkedin.profile).\n */\nexport interface LinkedinProfileData {\n about: string;\n articles: LinkedinProfileArticle[];\n avatarUrl: string;\n education: LinkedinProfileEducation[];\n experience: LinkedinProfileExperience[];\n followers: number;\n location: string;\n name: string;\n recentPosts: LinkedinProfileRecentPost[];\n [extra: string]: unknown;\n}\n\n/**\n * Input for LinkedIn Company Search (linkedin.search_companies).\n */\nexport interface LinkedinSearchCompaniesInput {\n /**\n * Maximum number of results to return (1-20, default 20). You are billed per result returned, so a lower limit costs less.\n * Range: minimum 1, maximum 20.\n */\n limit?: number;\n /**\n * Optional location filter, written out in full (e.g. United Kingdom or San Francisco).\n */\n location?: string;\n /**\n * Keyword to search LinkedIn companies for (e.g. marketing agency).\n */\n query: string;\n}\n\nexport interface LinkedinSearchCompaniesItem {\n id: string;\n name: string;\n url: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of LinkedIn Company Search (linkedin.search_companies).\n */\nexport interface LinkedinSearchCompaniesData {\n /**\n * Matching company records: name, LinkedIn URL, industry, location, headcount range, and description.\n */\n items: LinkedinSearchCompaniesItem[];\n}\n\n/**\n * Input for LinkedIn Post Search (linkedin.search_posts).\n */\nexport interface LinkedinSearchPostsInput {\n /**\n * Pagination cursor from a previous response.\n */\n cursor?: string;\n /**\n * Filter by recency. One of last-hour, last-day, last-week, last-month, last-year.\n * One of: last-hour, last-day, last-week, last-month, last-year.\n */\n datePosted?:\n \"last-hour\" | \"last-day\" | \"last-week\" | \"last-month\" | \"last-year\";\n /**\n * The post search query.\n */\n query: string;\n}\n\nexport interface LinkedinSearchPostsPost {\n publishedAt: string;\n text: string;\n url: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of LinkedIn Post Search (linkedin.search_posts).\n */\nexport interface LinkedinSearchPostsData {\n posts: LinkedinSearchPostsPost[];\n}\n\n/**\n * Input for LinkedIn Profile Search (linkedin.search_profiles).\n */\nexport interface LinkedinSearchProfilesInput {\n /**\n * Optional current job title filter (e.g. 'Software Engineer').\n */\n jobTitle?: string;\n /**\n * Maximum number of results to return (1-10, default 10). You are billed per result returned, so a lower limit costs less.\n * Range: minimum 1, maximum 10.\n */\n limit?: number;\n /**\n * Optional location filter (e.g. 'San Francisco').\n */\n location?: string;\n /**\n * Search query for LinkedIn profiles - a role, name, or keywords (e.g. 'Marketing Manager').\n */\n query: string;\n}\n\nexport interface LinkedinSearchProfilesItem {\n /**\n * Current role(s), passed through from the upstream. Typically a list of objects with job title, company, dates, and description; shape can vary by profile.\n */\n currentPosition?: unknown;\n /**\n * Education history, passed through from the upstream. Typically a list of objects with school, degree, and field of study; shape can vary by profile.\n */\n education?: unknown;\n /**\n * Full work history, passed through from the upstream. Typically a list of objects with job title, company, dates, and description; shape can vary by profile.\n */\n experience?: unknown;\n /**\n * Member's first name.\n */\n firstName?: string;\n /**\n * Public profile identifier (the vanity slug in the URL).\n * Present whenever the upstream returns this record.\n */\n handle?: string;\n /**\n * Profile headline (the tagline under the name).\n * Present whenever the upstream returns this record.\n */\n headline?: string;\n /**\n * LinkedIn member URN id for the profile.\n */\n id: string;\n /**\n * Member's last name.\n */\n lastName?: string;\n /**\n * Member's location, passed through from the upstream. Typically an object with the displayed location text and country code; shape can vary by profile.\n */\n location?: unknown;\n /**\n * Canonical LinkedIn profile URL.\n */\n url: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of LinkedIn Profile Search (linkedin.search_profiles).\n */\nexport interface LinkedinSearchProfilesData {\n /**\n * Matched profile records. Each carries the profile URL, handle, and id. Depending on the match, records may also include first/last name, headline, location, current position, work experience, and education, plus upstream extras (about, skills, languages, certifications, connections, profile picture, and more) that pass through.\n */\n items: LinkedinSearchProfilesItem[];\n}\n\n/**\n * Typed methods for the linkedin platform. Attached to the AnyAPI client as\n * `client.linkedin`.\n */\nexport class LinkedinNamespace {\n constructor(private readonly _core: ClientCore) {}\n\n /**\n * LinkedIn Ad Details\n *\n * Look up a single LinkedIn Ad Library ad by URL and get the advertiser, headline, creative text, format, CTA, targeting, run dates, and impressions as clean JSON, billed per request in USD.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.linkedin.ad({ url: \"https://www.linkedin.com/ad-library/detail/1487405616\" });\n */\n ad(\n input: LinkedinAdInput,\n options?: RequestOptions,\n ): Promise<RunResult<LinkedinAdData>> {\n return this._core.run(\"linkedin.ad\", input, options);\n }\n\n /**\n * LinkedIn Ads Library\n *\n * Search the LinkedIn Ad Library by search URL and list the matching ads (advertiser, creative text, format), priced per request in USD.\n *\n * Price: $0.00005 per request plus $0.0015 per result.\n *\n * @example\n * const res = await client.linkedin.ads({ url: \"https://www.linkedin.com/company/stripe\", limit: 3 });\n */\n ads(\n input: LinkedinAdsInput,\n options?: RequestOptions,\n ): Promise<RunResult<LinkedinAdsData>> {\n return this._core.run(\"linkedin.ads\", input, options);\n }\n\n /**\n * LinkedIn Ad Search\n *\n * Search the LinkedIn Ad Library by company or keyword and list matching ads - advertiser, headline, creative text, format, CTA, and run dates - with pagination, billed per request in USD.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.linkedin.adsSearch({ company: \"microsoft\" });\n */\n adsSearch(\n input: LinkedinAdsSearchInput,\n options?: RequestOptions,\n ): Promise<RunResult<LinkedinAdsSearchData>> {\n return this._core.run(\"linkedin.ads_search\", input, options);\n }\n\n /**\n * LinkedIn Company\n *\n * Fetch a LinkedIn company page (description, employee count, industry, website, logo) by company URL, normalized across providers with transparent failover.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.linkedin.company({ url: \"https://www.linkedin.com/company/stripe\" });\n */\n company(\n input: LinkedinCompanyInput,\n options?: RequestOptions,\n ): Promise<RunResult<LinkedinCompanyData>> {\n return this._core.run(\"linkedin.company\", input, options);\n }\n\n /**\n * LinkedIn Company Employees\n *\n * List the employees of a LinkedIn company by name or company URL, with optional job-title filtering and transparent per-request USD pricing.\n *\n * Price: $0.01 per result.\n *\n * @example\n * const res = await client.linkedin.companyEmployees({ company: \"stripe\", limit: 3 });\n */\n companyEmployees(\n input: LinkedinCompanyEmployeesInput,\n options?: RequestOptions,\n ): Promise<RunResult<LinkedinCompanyEmployeesData>> {\n return this._core.run(\"linkedin.company_employees\", input, options);\n }\n\n /**\n * LinkedIn Company Posts\n *\n * List a LinkedIn company page's recent posts by URL with page pagination (text, link, publish date), normalized across providers.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.linkedin.companyPosts({ url: \"https://www.linkedin.com/company/stripe\" });\n */\n companyPosts(\n input: LinkedinCompanyPostsInput,\n options?: RequestOptions,\n ): Promise<RunResult<LinkedinCompanyPostsData>> {\n return this._core.run(\"linkedin.company_posts\", input, options);\n }\n\n /**\n * LinkedIn Email Finder\n *\n * Find the verified work email behind a LinkedIn profile URL or ID, with transparent per-request USD pricing.\n *\n * Price: $0.0007 per result.\n *\n * @example\n * const res = await client.linkedin.email({ profileUrl: \"https://www.linkedin.com/in/satyanadella\" });\n */\n email(\n input: LinkedinEmailInput,\n options?: RequestOptions,\n ): Promise<RunResult<LinkedinEmailData>> {\n return this._core.run(\"linkedin.email\", input, options);\n }\n\n /**\n * LinkedIn Jobs\n *\n * Search LinkedIn job listings by title and location - up to 25 normalized job records per request at a flat USD price.\n *\n * Price: $0.001 per request.\n *\n * @example\n * const res = await client.linkedin.jobs({ query: \"software engineer\", limit: 3, location: \"San Francisco\" });\n */\n jobs(\n input: LinkedinJobsInput,\n options?: RequestOptions,\n ): Promise<RunResult<LinkedinJobsData>> {\n return this._core.run(\"linkedin.jobs\", input, options);\n }\n\n /**\n * LinkedIn Post\n *\n * Fetch a single LinkedIn post or article by URL (title, text, author, like and comment counts, publish date), normalized across providers.\n *\n * Price: $0.001 per request.\n *\n * @example\n * const res = await client.linkedin.post({ url: \"https://www.linkedin.com/posts/stripe_last-week-agent-traffic-surpassed-human-activity-7470882737390940160-2Nxs\" });\n */\n post(\n input: LinkedinPostInput,\n options?: RequestOptions,\n ): Promise<RunResult<LinkedinPostData>> {\n return this._core.run(\"linkedin.post\", input, options);\n }\n\n /**\n * LinkedIn Post Transcript\n *\n * Get the spoken transcript of a LinkedIn video post by URL, with transparent per-request USD pricing.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.linkedin.postTranscript({ url: \"https://www.linkedin.com/posts/artificial-analysis_gemini-35-flash-is-a-step-forward-for-google-activity-7465082408409870337-4Pm-\" });\n */\n postTranscript(\n input: LinkedinPostTranscriptInput,\n options?: RequestOptions,\n ): Promise<RunResult<LinkedinPostTranscriptData>> {\n return this._core.run(\"linkedin.post_transcript\", input, options);\n }\n\n /**\n * LinkedIn Profile\n *\n * Fetch a LinkedIn member's public profile by URL: name, location, followers, about, plus experience, education, recent posts, and published articles.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.linkedin.profile({ url: \"https://www.linkedin.com/in/williamhgates\" });\n */\n profile(\n input: LinkedinProfileInput,\n options?: RequestOptions,\n ): Promise<RunResult<LinkedinProfileData>> {\n return this._core.run(\"linkedin.profile\", input, options);\n }\n\n /**\n * LinkedIn Company Search\n *\n * Search LinkedIn companies by keyword with optional location filtering, returning normalized company records with transparent per-request USD pricing.\n *\n * Price: $0.001 per request plus $0.004 per result.\n *\n * @example\n * const res = await client.linkedin.searchCompanies({ query: \"fintech\", limit: 3 });\n */\n searchCompanies(\n input: LinkedinSearchCompaniesInput,\n options?: RequestOptions,\n ): Promise<RunResult<LinkedinSearchCompaniesData>> {\n return this._core.run(\"linkedin.search_companies\", input, options);\n }\n\n /**\n * LinkedIn Post Search\n *\n * Search public LinkedIn posts by keyword (text, link, publish date), normalized across providers with transparent failover.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.linkedin.searchPosts({ query: \"hiring\", datePosted: \"last-week\" });\n */\n searchPosts(\n input: LinkedinSearchPostsInput,\n options?: RequestOptions,\n ): Promise<RunResult<LinkedinSearchPostsData>> {\n return this._core.run(\"linkedin.search_posts\", input, options);\n }\n\n /**\n * LinkedIn Profile Search\n *\n * Search LinkedIn profiles by keyword with optional location and job-title filters. Each match returns a full profile record: name, headline, location, current position, work experience, and education, plus the profile URL, handle, and id. Flat USD price per request.\n *\n * Price: $0.0325 per request.\n *\n * @example\n * const res = await client.linkedin.searchProfiles({ query: \"recruiter\", limit: 3 });\n */\n searchProfiles(\n input: LinkedinSearchProfilesInput,\n options?: RequestOptions,\n ): Promise<RunResult<LinkedinSearchProfilesData>> {\n return this._core.run(\"linkedin.search_profiles\", input, options);\n }\n}\n","// Generated - do not edit. Regenerate with: pnpm generate\n\nimport type {\n ClientCore,\n RequestOptions,\n RunResult,\n} from \"../../core/index.js\";\n\n/**\n * Input for Google Maps Contacts (maps.contacts).\n */\nexport interface MapsContactsInput {\n /**\n * Two-letter language code for the results (e.g. en).\n * Default: en.\n */\n language?: string;\n /**\n * Maximum number of results to return (1-20, default 20). You are billed per result returned, so a lower limit costs less.\n * Range: minimum 1, maximum 20.\n */\n limit?: number;\n /**\n * Free-text location to search in, ideally city plus country (e.g. Denver, USA).\n */\n location: string;\n /**\n * What you would type in the Google Maps search bar (e.g. dentist).\n */\n query: string;\n}\n\nexport interface MapsContactsItem {\n name: string;\n url: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Google Maps Contacts (maps.contacts).\n */\nexport interface MapsContactsData {\n /**\n * Business records: name, address, rating, plus enriched contact details such as emails, phone numbers, and social profiles.\n */\n items: MapsContactsItem[];\n}\n\n/**\n * Input for Google Maps Place Lookup (maps.place).\n */\nexport interface MapsPlaceInput {\n /**\n * Two-letter language code for the result details (e.g. en).\n * Default: en.\n */\n language?: string;\n /**\n * Optional free-text location to scope the search, ideally city plus state or country (e.g. San Francisco, CA). Narrows the query to the best match in that area.\n */\n location?: string;\n /**\n * The business name or search text to look up, as you would type it into the Google Maps search bar (e.g. Blue Bottle Coffee).\n */\n query: string;\n}\n\nexport interface MapsPlaceItem {\n /**\n * Full formatted street address.\n * Present whenever the upstream returns this record.\n */\n address?: string;\n /**\n * Primary Google Maps category (e.g. Coffee shop).\n * Present whenever the upstream returns this record.\n */\n category?: string;\n city?: string;\n /**\n * Two-letter country code.\n */\n countryCode?: string;\n /**\n * Opening hours by day: each element is an object with the day name and its hours.\n */\n hours?: MapsPlaceHour[];\n /**\n * URL of the primary place photo.\n */\n image?: string;\n /**\n * Present whenever the upstream returns this record.\n */\n latitude?: number;\n /**\n * Present whenever the upstream returns this record.\n */\n longitude?: number;\n /**\n * Business or place name.\n */\n name: string;\n neighborhood?: string;\n /**\n * Whether the place is permanently closed.\n */\n permanentlyClosed?: boolean;\n /**\n * Formatted phone number.\n */\n phone?: string;\n /**\n * Google Maps place id.\n * Present whenever the upstream returns this record.\n */\n placeId?: string;\n /**\n * Google Plus Code for the location.\n */\n plusCode?: string;\n postalCode?: string;\n /**\n * Price level indicator (e.g. a price range).\n */\n priceLevel?: string;\n /**\n * Average star rating.\n */\n rating?: number;\n /**\n * Total number of reviews.\n */\n reviewsCount?: number;\n /**\n * State or region name.\n */\n state?: string;\n /**\n * Street portion of the address.\n */\n street?: string;\n /**\n * Google Maps URL for the place.\n */\n url: string;\n /**\n * Business website URL.\n */\n website?: string;\n [extra: string]: unknown;\n}\n\nexport interface MapsPlaceHour {\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Google Maps Place Lookup (maps.place).\n */\nexport interface MapsPlaceData {\n /**\n * The best-matching place for the query, with full details: name, address, contact info, category, rating, opening hours, and coordinates. Up to one element (empty when nothing matched).\n */\n items: MapsPlaceItem[];\n}\n\n/**\n * Input for Google Maps Reviews (maps.reviews).\n */\nexport interface MapsReviewsInput {\n /**\n * Two-letter language code for the review details (e.g. en).\n * Default: en.\n */\n language?: string;\n /**\n * Maximum number of results to return (1-100, default 100). You are billed per result returned, so a lower limit costs less.\n * Range: minimum 1, maximum 100.\n */\n limit?: number;\n /**\n * The Google Maps place ID to fetch reviews for (e.g. ChIJj61dQgK6j4AR4GeTYWZsKWw).\n */\n placeId: string;\n /**\n * Order in which reviews are returned (e.g. newest).\n * One of: newest, mostRelevant, highestRanking, lowestRanking.\n * Default: newest.\n */\n sort?: \"newest\" | \"mostRelevant\" | \"highestRanking\" | \"lowestRanking\";\n}\n\nexport interface MapsReviewsItem {\n /**\n * Reviewer display name.\n * Present whenever the upstream returns this record.\n */\n author?: string;\n /**\n * Whether the reviewer is a Google Local Guide.\n */\n isLocalGuide?: boolean;\n /**\n * Number of likes on the review.\n */\n likes?: number;\n /**\n * Source of the review (e.g. Google).\n */\n origin?: string;\n /**\n * Owner's reply text; empty when there is none.\n */\n ownerResponse?: string;\n /**\n * ISO 8601 timestamp of the owner's reply; empty when there is none.\n */\n ownerResponseAt?: string;\n /**\n * Google Maps place id the review belongs to.\n * Present whenever the upstream returns this record.\n */\n placeId?: string;\n /**\n * Human-relative publish time (e.g. '7 hours ago').\n */\n publishedAgo?: string;\n /**\n * ISO 8601 timestamp the review was published.\n * Present whenever the upstream returns this record.\n */\n publishedAt?: string;\n /**\n * Star rating the reviewer gave (1-5).\n */\n rating?: number;\n /**\n * Stable Google review id.\n */\n reviewId: string;\n reviewerId?: string;\n /**\n * Total number of reviews the reviewer has written.\n */\n reviewerReviewsCount?: number;\n /**\n * Review text; empty string when the reviewer left only a star rating.\n */\n text?: string;\n /**\n * Direct URL to the review on Google Maps.\n * Present whenever the upstream returns this record.\n */\n url?: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Google Maps Reviews (maps.reviews).\n */\nexport interface MapsReviewsData {\n /**\n * Review records: reviewer, star rating, review text (empty when the reviewer left only a rating), publish date, likes, and owner response where present.\n */\n items: MapsReviewsItem[];\n}\n\n/**\n * Input for Google Maps Search (maps.search).\n */\nexport interface MapsSearchInput {\n /**\n * Two-letter language code for the results (e.g. en).\n * Default: en.\n */\n language?: string;\n /**\n * Maximum number of results to return (1-20, default 20). You are billed per result returned, so a lower limit costs less.\n * Range: minimum 1, maximum 20.\n */\n limit?: number;\n /**\n * Free-text location to search in, ideally city plus country (e.g. Austin, USA).\n */\n location: string;\n /**\n * What you would type in the Google Maps search bar (e.g. coffee shop).\n */\n query: string;\n}\n\nexport interface MapsSearchItem {\n name: string;\n url: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Google Maps Search (maps.search).\n */\nexport interface MapsSearchData {\n /**\n * Place records: name, category, address, coordinates, rating, review count, and contact basics.\n */\n items: MapsSearchItem[];\n}\n\n/**\n * Typed methods for the maps platform. Attached to the AnyAPI client as\n * `client.maps`.\n */\nexport class MapsNamespace {\n constructor(private readonly _core: ClientCore) {}\n\n /**\n * Google Maps Contacts\n *\n * Search Google Maps for businesses and enrich each result with contact details - emails, phones, and social profiles from their websites - up to 20 records per request.\n *\n * Price: $0.00005 per request plus $0.003 per result.\n *\n * @example\n * const res = await client.maps.contacts({ location: \"Austin, TX\", query: \"coffee shop\", limit: 3 });\n */\n contacts(\n input: MapsContactsInput,\n options?: RequestOptions,\n ): Promise<RunResult<MapsContactsData>> {\n return this._core.run(\"maps.contacts\", input, options);\n }\n\n /**\n * Google Maps Place Lookup\n *\n * Look up a place on Google Maps by name or search query (optionally scoped to a location) and get the best-matching place with full details - address, phone, website, rating, hours, and coordinates - as normalized JSON priced per request in USD.\n *\n * Price: $0.003 per request plus $0.005 per result.\n *\n * @example\n * const res = await client.maps.place({ query: \"Blue Bottle Coffee\", location: \"San Francisco, CA\" });\n */\n place(\n input: MapsPlaceInput,\n options?: RequestOptions,\n ): Promise<RunResult<MapsPlaceData>> {\n return this._core.run(\"maps.place\", input, options);\n }\n\n /**\n * Google Maps Reviews\n *\n * Fetch up to 100 Google Maps reviews for a place by place ID, sorted the way you need, in one flat-priced normalized response.\n *\n * Price: $0.00005 per request plus $0.0004 per result.\n *\n * @example\n * const res = await client.maps.reviews({ placeId: \"ChIJN1t_tDeuEmsRUsoyG83frY4\", limit: 3 });\n */\n reviews(\n input: MapsReviewsInput,\n options?: RequestOptions,\n ): Promise<RunResult<MapsReviewsData>> {\n return this._core.run(\"maps.reviews\", input, options);\n }\n\n /**\n * Google Maps Search\n *\n * Search Google Maps for places matching a query and location - up to 20 normalized place records with ratings, addresses, and contact basics per request.\n *\n * Price: $0.00005 per request plus $0.003 per result.\n *\n * @example\n * const res = await client.maps.search({ location: \"Austin, TX\", query: \"coffee\", limit: 3 });\n */\n search(\n input: MapsSearchInput,\n options?: RequestOptions,\n ): Promise<RunResult<MapsSearchData>> {\n return this._core.run(\"maps.search\", input, options);\n }\n}\n","// Generated - do not edit. Regenerate with: pnpm generate\n\nimport type {\n ClientCore,\n RequestOptions,\n RunResult,\n} from \"../../core/index.js\";\n\n/**\n * Input for Panda Express Locations (pandaexpress.locations).\n */\nexport interface PandaexpressLocationsInput {\n /**\n * Latitude of the search center.\n * Range: minimum -90, maximum 90.\n */\n latitude: number;\n /**\n * Maximum number of restaurants to return (1-50, default 10).\n * Range: minimum 1, maximum 50.\n */\n limit?: number;\n /**\n * Longitude of the search center.\n * Range: minimum -180, maximum 180.\n */\n longitude: number;\n /**\n * Search radius in miles (default 10).\n * Range: minimum 1, maximum 100.\n */\n radius?: number;\n}\n\nexport interface PandaexpressLocationsRestaurant {\n address: string;\n canDeliver: boolean;\n canPickup: boolean;\n city: string;\n distanceMiles: number;\n id: number;\n isOpen: boolean;\n latitude: number;\n longitude: number;\n name: string;\n phone: string;\n state: string;\n zip: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Panda Express Locations (pandaexpress.locations).\n */\nexport interface PandaexpressLocationsData {\n /**\n * Nearby Panda Express restaurants, nearest first.\n */\n restaurants: PandaexpressLocationsRestaurant[];\n}\n\n/**\n * Input for Panda Express Menu (pandaexpress.menu).\n */\nexport interface PandaexpressMenuInput {\n /**\n * Panda Express restaurant id (the `id` from Panda Express Locations).\n */\n restaurantId: string;\n}\n\nexport interface PandaexpressMenuCategorie {\n items: PandaexpressMenuItem[];\n name: string;\n [extra: string]: unknown;\n}\n\nexport interface PandaexpressMenuItem {\n /**\n * Base calories when published by the restaurant, else 0.\n */\n calories: number;\n description: string;\n name: string;\n /**\n * Item price in USD (0 for items priced only via size/option selection).\n */\n priceUsd: number;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Panda Express Menu (pandaexpress.menu).\n */\nexport interface PandaexpressMenuData {\n /**\n * Menu categories in display order.\n */\n categories: PandaexpressMenuCategorie[];\n}\n\n/**\n * Input for Panda Express Nutrition (pandaexpress.nutrition).\n */\nexport interface PandaexpressNutritionInput {\n /**\n * Menu item name (or substring) to look up, e.g. \"orange chicken\" or \"chow mein\".\n */\n query: string;\n}\n\nexport interface PandaexpressNutritionItem {\n calories: number;\n cholesterolMg: number;\n dietaryFiberG: number;\n name: string;\n proteinG: number;\n saturatedFatG: number;\n servingSizeOz: number;\n sodiumMg: number;\n sugarsG: number;\n totalCarbG: number;\n totalFatG: number;\n transFatG: number;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Panda Express Nutrition (pandaexpress.nutrition).\n */\nexport interface PandaexpressNutritionData {\n /**\n * Matching menu items with official nutrition facts.\n */\n items: PandaexpressNutritionItem[];\n}\n\n/**\n * Typed methods for the pandaexpress platform. Attached to the AnyAPI client as\n * `client.pandaexpress`.\n */\nexport class PandaexpressNamespace {\n constructor(private readonly _core: ClientCore) {}\n\n /**\n * Panda Express Locations\n *\n * Find Panda Express restaurants near a latitude/longitude, sorted by distance, with address, phone, hours availability, and pickup/delivery support. One call, billed per request in real dollars.\n *\n * Price: $0.0009 per request.\n *\n * @example\n * const res = await client.pandaexpress.locations({ latitude: 34.0522, longitude: -118.2437, limit: 5 });\n */\n locations(\n input: PandaexpressLocationsInput,\n options?: RequestOptions,\n ): Promise<RunResult<PandaexpressLocationsData>> {\n return this._core.run(\"pandaexpress.locations\", input, options);\n }\n\n /**\n * Panda Express Menu\n *\n * Get the live menu for a Panda Express restaurant by id: categories with item names, descriptions, and USD prices. Pair with Panda Express Locations to resolve a restaurant id. One call, billed per request in real dollars.\n *\n * Price: $0.0009 per request.\n *\n * @example\n * const res = await client.pandaexpress.menu({ restaurantId: \"112551\" });\n */\n menu(\n input: PandaexpressMenuInput,\n options?: RequestOptions,\n ): Promise<RunResult<PandaexpressMenuData>> {\n return this._core.run(\"pandaexpress.menu\", input, options);\n }\n\n /**\n * Panda Express Nutrition\n *\n * Look up official Panda Express nutrition facts by item name: serving size, calories, fat, cholesterol, sodium, carbs, fiber, sugars, and protein. One call, billed per request in real dollars.\n *\n * Price: $0.006 per request.\n *\n * @example\n * const res = await client.pandaexpress.nutrition({ query: \"orange chicken\" });\n */\n nutrition(\n input: PandaexpressNutritionInput,\n options?: RequestOptions,\n ): Promise<RunResult<PandaexpressNutritionData>> {\n return this._core.run(\"pandaexpress.nutrition\", input, options);\n }\n}\n","// Generated - do not edit. Regenerate with: pnpm generate\n\nimport type {\n ClientCore,\n RequestOptions,\n RunResult,\n} from \"../../core/index.js\";\n\n/**\n * Input for Skip Trace (person.skip_trace).\n */\nexport interface PersonSkipTraceInput {\n /**\n * Street address with city/state/zip.\n */\n address?: string;\n /**\n * Email address to reverse-trace (e.g. john.smith@example.com).\n */\n email?: string;\n /**\n * Full name of the person to trace. Provide at least one of name, address, phone, or email.\n */\n name?: string;\n /**\n * Phone number to reverse-trace (e.g. 415-555-2671).\n */\n phone?: string;\n}\n\nexport interface PersonSkipTraceItem {\n url: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Skip Trace (person.skip_trace).\n */\nexport interface PersonSkipTraceData {\n /**\n * Skip-trace records: the matched person with known names, ages, current and past addresses, phone numbers, and email addresses.\n */\n items: PersonSkipTraceItem[];\n}\n\n/**\n * Typed methods for the person platform. Attached to the AnyAPI client as\n * `client.person`.\n */\nexport class PersonNamespace {\n constructor(private readonly _core: ClientCore) {}\n\n /**\n * Skip Trace\n *\n * Skip-trace a person in the US by name, address, phone, or email and get back identity, address, and contact records in normalized JSON.\n *\n * Price: $0.007 per result.\n *\n * @example\n * const res = await client.person.skipTrace({ address: \"123 Main St, Austin, TX 78701\", name: \"John Smith\" });\n */\n skipTrace(\n input: PersonSkipTraceInput,\n options?: RequestOptions,\n ): Promise<RunResult<PersonSkipTraceData>> {\n return this._core.run(\"person.skip_trace\", input, options);\n }\n}\n","// Generated - do not edit. Regenerate with: pnpm generate\n\nimport type {\n ClientCore,\n RequestOptions,\n RunResult,\n} from \"../../core/index.js\";\n\n/**\n * Input for Pinterest Search (pinterest.search).\n */\nexport interface PinterestSearchInput {\n /**\n * Maximum number of results to return (1-20, default 20). You are billed per result returned, so a lower limit costs less.\n * Range: minimum 1, maximum 20.\n */\n limit?: number;\n /**\n * Keyword, topic, brand, or theme to search Pinterest for (e.g. mid-century living room).\n */\n query: string;\n /**\n * Kind of results to return: all pins, only video pins, boards, or profiles (e.g. videos).\n * One of: all-pins, videos, boards, profiles.\n * Default: all-pins.\n */\n type?: \"all-pins\" | \"videos\" | \"boards\" | \"profiles\";\n}\n\nexport interface PinterestSearchItem {\n id: string;\n title: string;\n url: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Pinterest Search (pinterest.search).\n */\nexport interface PinterestSearchData {\n /**\n * Matching Pinterest records: pin or board title, description, image/video URL, creator, and link.\n */\n items: PinterestSearchItem[];\n}\n\n/**\n * Typed methods for the pinterest platform. Attached to the AnyAPI client as\n * `client.pinterest`.\n */\nexport class PinterestNamespace {\n constructor(private readonly _core: ClientCore) {}\n\n /**\n * Pinterest Search\n *\n * Search Pinterest by keyword and get pin, video, board, or profile results with titles, images, and links - flat per-request USD pricing.\n *\n * Price: $0.00325 per request.\n *\n * @example\n * const res = await client.pinterest.search({ query: \"home decor\", limit: 3 });\n */\n search(\n input: PinterestSearchInput,\n options?: RequestOptions,\n ): Promise<RunResult<PinterestSearchData>> {\n return this._core.run(\"pinterest.search\", input, options);\n }\n}\n","// Generated - do not edit. Regenerate with: pnpm generate\n\nimport type {\n ClientCore,\n RequestOptions,\n RunResult,\n} from \"../../core/index.js\";\n\n/**\n * Input for Google Play Reviews (playstore.reviews).\n */\nexport interface PlaystoreReviewsInput {\n /**\n * Android app package name or full Google Play store URL (e.g. com.supercell.brawlstars).\n */\n appId: string;\n /**\n * Maximum number of results to return (1-100, default 100). You are billed per result returned, so a lower limit costs less.\n * Range: minimum 1, maximum 100.\n */\n limit?: number;\n /**\n * Only return reviews with this exact star rating from 1 to 5 (e.g. 1); omit for all ratings.\n */\n rating?: number;\n /**\n * Review ordering: mostRelevant, newest, or rating (e.g. newest).\n * Default: mostRelevant.\n */\n sortBy?: string;\n}\n\nexport interface PlaystoreReviewsItem {\n rating: number;\n text: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Google Play Reviews (playstore.reviews).\n */\nexport interface PlaystoreReviewsData {\n /**\n * Review records: star rating, review text, reviewer name, app version, helpfulness votes, and review date.\n */\n items: PlaystoreReviewsItem[];\n}\n\n/**\n * Typed methods for the playstore platform. Attached to the AnyAPI client as\n * `client.playstore`.\n */\nexport class PlaystoreNamespace {\n constructor(private readonly _core: ClientCore) {}\n\n /**\n * Google Play Reviews\n *\n * Fetch Google Play reviews for any Android app by package name or store URL - ratings, review text, dates, and helpfulness votes, billed per request in USD.\n *\n * Price: $0.00011 per result.\n *\n * @example\n * const res = await client.playstore.reviews({ appId: \"com.whatsapp\", limit: 3 });\n */\n reviews(\n input: PlaystoreReviewsInput,\n options?: RequestOptions,\n ): Promise<RunResult<PlaystoreReviewsData>> {\n return this._core.run(\"playstore.reviews\", input, options);\n }\n}\n","// Generated - do not edit. Regenerate with: pnpm generate\n\nimport type {\n ClientCore,\n RequestOptions,\n RunResult,\n} from \"../../core/index.js\";\n\n/**\n * Input for Polymarket Markets (polymarket.markets).\n */\nexport interface PolymarketMarketsInput {\n /**\n * Maximum number of results to return (1-25, default 25). You are billed per result returned, so a lower limit costs less.\n * Range: minimum 1, maximum 25.\n */\n limit?: number;\n /**\n * Search term for markets (e.g. election, bitcoin, super bowl).\n */\n query: string;\n /**\n * How discovered markets are ordered before results are returned (e.g. volume_24hr for recent momentum).\n * One of: volume_24hr, volume, liquidity, start_date, ending_soon, competitive.\n * Default: volume_24hr.\n */\n sortBy?:\n | \"volume_24hr\"\n | \"volume\"\n | \"liquidity\"\n | \"start_date\"\n | \"ending_soon\"\n | \"competitive\";\n /**\n * Return \"active\" markets for current prices and volume, or \"resolved\" markets for historical outcomes.\n * One of: active, resolved.\n * Default: active.\n */\n status?: \"active\" | \"resolved\";\n}\n\nexport interface PolymarketMarketsItem {\n id: string;\n title: string;\n url: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Polymarket Markets (polymarket.markets).\n */\nexport interface PolymarketMarketsData {\n /**\n * Prediction-market records: market question, outcomes with current prices, volume, liquidity, and end date.\n */\n items: PolymarketMarketsItem[];\n}\n\n/**\n * Typed methods for the polymarket platform. Attached to the AnyAPI client as\n * `client.polymarket`.\n */\nexport class PolymarketNamespace {\n constructor(private readonly _core: ClientCore) {}\n\n /**\n * Polymarket Markets\n *\n * Discover Polymarket prediction markets - question, outcome prices, volume, liquidity, and end dates - by keyword or sorted by activity, as normalized JSON billed per request in USD.\n *\n * Price: $0.105 per request plus $0.0006 per result.\n *\n * @example\n * const res = await client.polymarket.markets({ query: \"election\", limit: 10 });\n */\n markets(\n input: PolymarketMarketsInput,\n options?: RequestOptions,\n ): Promise<RunResult<PolymarketMarketsData>> {\n return this._core.run(\"polymarket.markets\", input, options);\n }\n}\n","// Generated - do not edit. Regenerate with: pnpm generate\n\nimport type {\n ClientCore,\n RequestOptions,\n RunResult,\n} from \"../../core/index.js\";\n\n/**\n * Input for Realtor.com Search (realtor.search).\n */\nexport interface RealtorSearchInput {\n /**\n * Maximum number of results to return (1-25, default 25). You are billed per result returned, so a lower limit costs less.\n * Range: minimum 1, maximum 25.\n */\n limit?: number;\n /**\n * City, ZIP code, neighborhood or state to search (e.g. Las Vegas, NV).\n */\n location: string;\n /**\n * Maximum listing price in USD (e.g. 750000).\n */\n priceMax?: number;\n /**\n * Minimum listing price in USD (e.g. 250000).\n */\n priceMin?: number;\n /**\n * Listing type to search: for_sale or sold (e.g. for_sale).\n * Default: for_sale.\n */\n searchMode?: string;\n}\n\nexport interface RealtorSearchItem {\n price?: number;\n /**\n * Present whenever the upstream returns this record.\n */\n title?: string;\n url: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Realtor.com Search (realtor.search).\n */\nexport interface RealtorSearchData {\n /**\n * Property listing records: address, price, beds, baths, square footage, status, and listing metadata.\n */\n items: RealtorSearchItem[];\n}\n\n/**\n * Typed methods for the realtor platform. Attached to the AnyAPI client as\n * `client.realtor`.\n */\nexport class RealtorNamespace {\n constructor(private readonly _core: ClientCore) {}\n\n /**\n * Realtor.com Search\n *\n * Search Realtor.com listings by location with optional price filters and get property records (price, address, beds, baths) as normalized JSON, priced per request in USD.\n *\n * Price: $0.005 per request plus $0.0015 per result.\n *\n * @example\n * const res = await client.realtor.search({ location: \"Austin, TX\", limit: 3 });\n */\n search(\n input: RealtorSearchInput,\n options?: RequestOptions,\n ): Promise<RunResult<RealtorSearchData>> {\n return this._core.run(\"realtor.search\", input, options);\n }\n}\n","// Generated - do not edit. Regenerate with: pnpm generate\n\nimport type {\n BareRunResult,\n ClientCore,\n Paginator,\n RequestOptions,\n RunResult,\n} from \"../../core/index.js\";\nimport { paginate } from \"../../core/index.js\";\n\n/**\n * Input for Reddit Post Comments (reddit.post_comments).\n */\nexport interface RedditPostCommentsInput {\n /**\n * Cursor from a previous response for more comments.\n */\n cursor?: string;\n /**\n * Full Reddit post URL.\n */\n url: string;\n}\n\nexport interface RedditPostCommentsComment {\n /**\n * Commenter username, without the u/ prefix.\n */\n author: string;\n /**\n * Comment text, as Markdown.\n */\n body: string;\n /**\n * Comment creation time as a UTC epoch timestamp in seconds (Unix time). Multiply by 1000 for a JS Date in milliseconds.\n */\n createdUtc: number;\n /**\n * Reddit comment ID (base-36, without the t1_ prefix).\n */\n id: string;\n /**\n * Permalink to the comment on reddit.com.\n */\n url: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Reddit Post Comments (reddit.post_comments).\n */\nexport interface RedditPostCommentsData {\n comments: RedditPostCommentsComment[];\n}\n\n/**\n * Input for Reddit Post Transcript (reddit.post_transcript).\n */\nexport interface RedditPostTranscriptInput {\n /**\n * Optional two-letter language code (defaults to en).\n */\n language?: string;\n /**\n * Reddit post URL or direct v.redd.it video URL to transcribe.\n */\n url: string;\n}\n\n/**\n * The `data` payload of Reddit Post Transcript (reddit.post_transcript).\n */\nexport interface RedditPostTranscriptData {\n language: string;\n postId: string;\n transcript: string;\n transcriptNotAvailable: boolean;\n [extra: string]: unknown;\n}\n\n/**\n * Input for Reddit Search (reddit.search).\n */\nexport interface RedditSearchInput {\n /**\n * Opaque pagination cursor from a previous response's nextCursor. Omit for the first page; pass it to fetch the next page of results.\n */\n cursor?: string;\n /**\n * Free-text search across all of Reddit. Reddit's field operators are supported inside the string: subreddit:<name> to scope to one subreddit, author:<user>, title:<text>, selftext:<text>, self:yes|no, nsfw:yes|no, and boolean AND/OR/NOT. To restrict to a single subreddit you can use subreddit:<name> here, or use the reddit.subreddit_posts SKU for a plain subreddit listing.\n */\n query: string;\n /**\n * Result sort order.\n * One of: relevance, hot, top, new, comments.\n */\n sort?: \"relevance\" | \"hot\" | \"top\" | \"new\" | \"comments\";\n /**\n * Time window for results.\n * One of: hour, day, week, month, year, all.\n */\n timeframe?: \"hour\" | \"day\" | \"week\" | \"month\" | \"year\" | \"all\";\n}\n\nexport interface RedditSearchPost {\n /**\n * Author username, without the u/ prefix.\n */\n author: string;\n /**\n * Post creation time as a UTC epoch timestamp in seconds (Unix time). Multiply by 1000 for a JS Date in milliseconds.\n */\n createdUtc: number;\n /**\n * Reddit post ID (base-36, without the t3_ prefix).\n */\n id: string;\n /**\n * Total number of comments on the post.\n */\n numComments: number;\n /**\n * Canonical reddit.com thread path for the post (e.g. \"/r/golang/comments/abc123/...\"). Differs from url, which is the destination link. Empty if the upstream omits it.\n */\n permalink: string;\n /**\n * Net score (upvotes minus downvotes) at fetch time.\n */\n score: number;\n /**\n * Subreddit name, without the r/ prefix.\n */\n subreddit: string;\n /**\n * Post title.\n */\n title: string;\n /**\n * The post's destination link (the external URL for link posts, or the thread URL for self posts).\n */\n url: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Reddit Search (reddit.search).\n */\nexport interface RedditSearchData {\n /**\n * Cursor for the next page of results; pass it back as the `cursor` input to fetch the following page. Empty string when there are no more results.\n */\n nextCursor: string;\n posts: RedditSearchPost[];\n}\n\n/**\n * Input for Reddit Subreddit Details (reddit.subreddit_details).\n */\nexport interface RedditSubredditDetailsInput {\n /**\n * Subreddit name without the r/ prefix. Case-sensitive (e.g. \"AskReddit\", not \"askreddit\").\n */\n subreddit: string;\n}\n\n/**\n * The `data` payload of Reddit Subreddit Details (reddit.subreddit_details).\n */\nexport interface RedditSubredditDetailsData {\n advertiserCategory: string;\n createdAt: string;\n description: string;\n iconUrl: string;\n /**\n * Reddit fullname, e.g. \"t5_2qh1i\".\n */\n id: string;\n name: string;\n weeklyActiveUsers: number;\n [extra: string]: unknown;\n}\n\n/**\n * Input for Reddit Subreddit Posts (reddit.subreddit_posts).\n */\nexport interface RedditSubredditPostsInput {\n /**\n * Pagination cursor from a previous response (its `nextCursor`). Fetches the page that follows; omit for the first page.\n */\n after?: string;\n /**\n * Requested number of posts. Note: the upstream returns one page (about 25 posts) per call; values larger than a page are not delivered in a single response. To fetch more, page with the `after` cursor returned as `nextCursor`.\n * Range: minimum 1, maximum 100.\n * Default: 25.\n */\n limit?: number;\n /**\n * Listing sort order.\n * One of: hot, new, top.\n * Default: hot.\n */\n sort?: \"hot\" | \"new\" | \"top\";\n /**\n * Subreddit name without the leading r/ (e.g. \"golang\").\n */\n subreddit: string;\n /**\n * Time window, applied when sort is \"top\" (e.g. \"year\" for the year's top posts). Ignored for hot/new. Omit to default to the current day for top.\n * One of: all, year, month, week, day, hour.\n */\n timeframe?: \"all\" | \"year\" | \"month\" | \"week\" | \"day\" | \"hour\";\n}\n\nexport interface RedditSubredditPostsPost {\n /**\n * Author username, without the u/ prefix.\n */\n author: string;\n /**\n * Post creation time as a UTC epoch timestamp in seconds (Unix time). Multiply by 1000 for a JS Date in milliseconds.\n */\n createdUtc: number;\n /**\n * Reddit post ID (base-36, without the t3_ prefix).\n */\n id: string;\n /**\n * Total number of comments on the post.\n */\n numComments: number;\n /**\n * Canonical reddit.com thread path for the post (e.g. \"/r/golang/comments/abc123/...\"). Differs from url, which is the destination link. Empty if the upstream omits it.\n */\n permalink: string;\n /**\n * Net score (upvotes minus downvotes) at fetch time.\n */\n score: number;\n /**\n * Subreddit name, without the r/ prefix.\n */\n subreddit: string;\n /**\n * Post title.\n */\n title: string;\n /**\n * The post's destination link (the external URL for link posts, or the thread URL for self posts).\n */\n url: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Reddit Subreddit Posts (reddit.subreddit_posts).\n */\nexport interface RedditSubredditPostsData {\n /**\n * Cursor for the next page of results; pass it back as the `after` input to fetch the following page. Empty string when there are no more results.\n */\n nextCursor: string;\n posts: RedditSubredditPostsPost[];\n}\n\n/**\n * Input for Reddit Subreddit Search (reddit.subreddit_search).\n */\nexport interface RedditSubredditSearchInput {\n /**\n * Optional pagination token from a previous response.\n */\n cursor?: string;\n /**\n * Optional search query to match posts (e.g. 'push ups').\n */\n query?: string;\n /**\n * Optional sort order: relevance, hot, top, new, comments.\n */\n sort?: string;\n /**\n * Subreddit name without the r/ prefix (e.g. 'Fitness').\n */\n subreddit: string;\n /**\n * Optional time filter: all, year, month, week, day, hour.\n */\n timeframe?: string;\n}\n\nexport interface RedditSubredditSearchPost {\n /**\n * Author username, without the u/ prefix.\n */\n author: string;\n /**\n * Post creation time as a UTC epoch timestamp in seconds (Unix time). Multiply by 1000 for a JS Date in milliseconds.\n */\n createdUtc: number;\n /**\n * Reddit post ID (base-36, without the t3_ prefix).\n */\n id: string;\n /**\n * Whether the post is marked NSFW (over 18).\n */\n nsfw: boolean;\n /**\n * Total number of comments on the post.\n */\n numComments: number;\n /**\n * Canonical reddit.com thread path for the post (e.g. \"/r/golang/comments/abc123/...\"). Differs from url, which is the destination link.\n */\n permalink: string;\n /**\n * Net score (upvotes minus downvotes) at fetch time.\n */\n score: number;\n /**\n * Subreddit name, without the r/ prefix.\n */\n subreddit: string;\n /**\n * Post title.\n */\n title: string;\n /**\n * The post's destination link (the external URL for link posts, or the thread URL for self posts).\n */\n url: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Reddit Subreddit Search (reddit.subreddit_search).\n */\nexport interface RedditSubredditSearchData {\n nextCursor: string;\n posts: RedditSubredditSearchPost[];\n}\n\n/**\n * Typed methods for the reddit platform. Attached to the AnyAPI client as\n * `client.reddit`.\n */\nexport class RedditNamespace {\n constructor(private readonly _core: ClientCore) {}\n\n /**\n * Reddit Post Comments\n *\n * List the top-level comments on a Reddit post by URL (author, body, score, timestamp), normalized across providers with transparent failover.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.reddit.postComments({ url: \"https://www.reddit.com/r/IAmA/comments/z1c9z/i_am_barack_obama_president_of_the_united_states/\" });\n */\n postComments(\n input: RedditPostCommentsInput,\n options?: RequestOptions,\n ): Promise<BareRunResult<RedditPostCommentsData>> {\n return this._core.run(\n \"reddit.post_comments\",\n input,\n options,\n ) as unknown as Promise<BareRunResult<RedditPostCommentsData>>;\n }\n\n /**\n * Reddit Post Transcript\n *\n * Extract the spoken transcript from a Reddit video post by URL, normalized across providers with transparent failover.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.reddit.postTranscript({ url: \"https://www.reddit.com/r/youseeingthisshit/comments/1oiu9xm/\" });\n */\n postTranscript(\n input: RedditPostTranscriptInput,\n options?: RequestOptions,\n ): Promise<RunResult<RedditPostTranscriptData>> {\n return this._core.run(\"reddit.post_transcript\", input, options);\n }\n\n /**\n * Reddit Search\n *\n * Search Reddit posts across all subreddits by query, normalized across providers with transparent failover.\n *\n * Price: $0.001 per request.\n *\n * @example\n * const res = await client.reddit.search({ query: \"mechanical keyboard\" });\n */\n search(\n input: RedditSearchInput,\n options?: RequestOptions,\n ): Promise<BareRunResult<RedditSearchData>> {\n return this._core.run(\n \"reddit.search\",\n input,\n options,\n ) as unknown as Promise<BareRunResult<RedditSearchData>>;\n }\n\n /**\n * Iterate every result of Reddit Search across pages.\n *\n * Yields items directly; call `.pages()` on the return value to walk whole\n * result pages instead (each carries its own costUsd).\n */\n iterSearch(\n input: RedditSearchInput,\n options?: RequestOptions,\n ): Paginator<RedditSearchPost, BareRunResult<RedditSearchData>> {\n return paginate<RedditSearchPost, BareRunResult<RedditSearchData>>(\n this._core,\n \"reddit.search\",\n input as unknown as Record<string, unknown>,\n \"posts\",\n true,\n options,\n );\n }\n\n /**\n * Reddit Subreddit Details\n *\n * Fetch a subreddit's metadata - weekly active users, description, and category - normalized across providers with transparent failover.\n *\n * Price: $0.001 per request.\n *\n * @example\n * const res = await client.reddit.subredditDetails({ subreddit: \"programming\" });\n */\n subredditDetails(\n input: RedditSubredditDetailsInput,\n options?: RequestOptions,\n ): Promise<RunResult<RedditSubredditDetailsData>> {\n return this._core.run(\"reddit.subreddit_details\", input, options);\n }\n\n /**\n * Reddit Subreddit Posts\n *\n * Fetch posts from a subreddit listing (hot, new, or top), normalized across providers with transparent failover.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.reddit.subredditPosts({ subreddit: \"programming\", limit: 5 });\n */\n subredditPosts(\n input: RedditSubredditPostsInput,\n options?: RequestOptions,\n ): Promise<BareRunResult<RedditSubredditPostsData>> {\n return this._core.run(\n \"reddit.subreddit_posts\",\n input,\n options,\n ) as unknown as Promise<BareRunResult<RedditSubredditPostsData>>;\n }\n\n /**\n * Reddit Subreddit Search\n *\n * Search posts within a single subreddit by query, sort, and timeframe, normalized across providers with transparent failover.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.reddit.subredditSearch({ subreddit: \"Fitness\", query: \"push ups\" });\n */\n subredditSearch(\n input: RedditSubredditSearchInput,\n options?: RequestOptions,\n ): Promise<RunResult<RedditSubredditSearchData>> {\n return this._core.run(\"reddit.subreddit_search\", input, options);\n }\n\n /**\n * Iterate every result of Reddit Subreddit Search across pages.\n *\n * Yields items directly; call `.pages()` on the return value to walk whole\n * result pages instead (each carries its own costUsd).\n */\n iterSubredditSearch(\n input: RedditSubredditSearchInput,\n options?: RequestOptions,\n ): Paginator<\n RedditSubredditSearchPost,\n RunResult<RedditSubredditSearchData>\n > {\n return paginate<\n RedditSubredditSearchPost,\n RunResult<RedditSubredditSearchData>\n >(\n this._core,\n \"reddit.subreddit_search\",\n input as unknown as Record<string, unknown>,\n \"posts\",\n false,\n options,\n );\n }\n}\n","// Generated - do not edit. Regenerate with: pnpm generate\n\nimport type {\n ClientCore,\n RequestOptions,\n RunResult,\n} from \"../../core/index.js\";\n\n/**\n * Input for Redfin Search (redfin.search).\n */\nexport interface RedfinSearchInput {\n /**\n * Maximum number of results to return (1-25, default 25). You are billed per result returned, so a lower limit costs less.\n * Range: minimum 1, maximum 25.\n */\n limit?: number;\n /**\n * Redfin search results URL for a city, ZIP or map area (e.g. https://www.redfin.com/city/30772/CA/San-Francisco).\n */\n url: string;\n}\n\nexport interface RedfinSearchItem {\n title?: string;\n url: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Redfin Search (redfin.search).\n */\nexport interface RedfinSearchData {\n /**\n * Home listing records: address, price, beds, baths, square footage, and listing status.\n */\n items: RedfinSearchItem[];\n}\n\n/**\n * Typed methods for the redfin platform. Attached to the AnyAPI client as\n * `client.redfin`.\n */\nexport class RedfinNamespace {\n constructor(private readonly _core: ClientCore) {}\n\n /**\n * Redfin Search\n *\n * Run a Redfin map search by URL and get matching home listings (price, address, beds, baths, status) as normalized JSON with flat per-request USD pricing.\n *\n * Price: $0.0027 per request plus $0.00043 per result.\n *\n * @example\n * const res = await client.redfin.search({ url: \"https://www.redfin.com/city/30818/TX/Austin\", limit: 3 });\n */\n search(\n input: RedfinSearchInput,\n options?: RequestOptions,\n ): Promise<RunResult<RedfinSearchData>> {\n return this._core.run(\"redfin.search\", input, options);\n }\n}\n","// Generated - do not edit. Regenerate with: pnpm generate\n\nimport type {\n ClientCore,\n Paginator,\n RequestOptions,\n RunResult,\n} from \"../../core/index.js\";\nimport { paginate } from \"../../core/index.js\";\n\n/**\n * Input for RedNote (Xiaohongshu) Note (rednote.note).\n */\nexport interface RednoteNoteInput {\n /**\n * RedNote (Xiaohongshu) note ID.\n */\n noteId: string;\n}\n\n/**\n * The `data` payload of RedNote (Xiaohongshu) Note (rednote.note).\n */\nexport interface RednoteNoteData {\n /**\n * Present whenever the upstream returns this record.\n */\n authorImage?: string;\n /**\n * Present whenever the upstream returns this record.\n */\n authorNickname?: string;\n /**\n * Present whenever the upstream returns this record.\n */\n authorRedId?: string;\n /**\n * Present whenever the upstream returns this record.\n */\n authorUserId?: string;\n collectCount?: number;\n commentCount?: number;\n /**\n * Present whenever the upstream returns this record.\n */\n createdAt?: number;\n /**\n * Present whenever the upstream returns this record.\n */\n description?: string;\n /**\n * Present whenever the upstream returns this record.\n */\n image?: string;\n /**\n * Present whenever the upstream returns this record.\n */\n language?: string;\n likeCount?: number;\n noteId: string;\n shareCount?: number;\n /**\n * Present whenever the upstream returns this record.\n */\n title?: string;\n /**\n * Present whenever the upstream returns this record.\n */\n type?: string;\n /**\n * Present whenever the upstream returns this record.\n */\n updatedAt?: number;\n /**\n * Present whenever the upstream returns this record.\n */\n url?: string;\n [extra: string]: unknown;\n}\n\n/**\n * Input for RedNote (Xiaohongshu) Note Comments (rednote.note_comments).\n */\nexport interface RednoteNoteCommentsInput {\n /**\n * Pagination cursor from the previous response.\n */\n cursor?: string;\n /**\n * RedNote (Xiaohongshu) note ID.\n */\n noteId: string;\n}\n\nexport interface RednoteNoteCommentsComment {\n commentId: string;\n /**\n * Present whenever the upstream returns this record.\n */\n createdAt?: number;\n /**\n * Present whenever the upstream returns this record.\n */\n image?: string;\n /**\n * Present whenever the upstream returns this record.\n */\n ipLocation?: string;\n likeCount?: number;\n /**\n * Present whenever the upstream returns this record.\n */\n nickname?: string;\n /**\n * Present whenever the upstream returns this record.\n */\n noteId?: string;\n /**\n * Present whenever the upstream returns this record.\n */\n redId?: string;\n replyCount?: number;\n /**\n * Present whenever the upstream returns this record.\n */\n text?: string;\n /**\n * Present whenever the upstream returns this record.\n */\n userId?: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of RedNote (Xiaohongshu) Note Comments (rednote.note_comments).\n */\nexport interface RednoteNoteCommentsData {\n comments: RednoteNoteCommentsComment[];\n nextCursor: string;\n [extra: string]: unknown;\n}\n\n/**\n * Input for RedNote (Xiaohongshu) Profile (rednote.profile).\n */\nexport interface RednoteProfileInput {\n /**\n * RedNote (Xiaohongshu) user ID.\n */\n userId: string;\n}\n\n/**\n * The `data` payload of RedNote (Xiaohongshu) Profile (rednote.profile).\n */\nexport interface RednoteProfileData {\n collectedCount?: number;\n /**\n * Present whenever the upstream returns this record.\n */\n description?: string;\n followers?: number;\n following?: number;\n gender?: number;\n /**\n * Present whenever the upstream returns this record.\n */\n image?: string;\n likedCount?: number;\n /**\n * Present whenever the upstream returns this record.\n */\n location?: string;\n /**\n * Present whenever the upstream returns this record.\n */\n nickname?: string;\n postedNotes?: number;\n /**\n * Present whenever the upstream returns this record.\n */\n redId?: string;\n /**\n * Present whenever the upstream returns this record.\n */\n shareUrl?: string;\n userId: string;\n verified?: boolean;\n verifyType?: number;\n [extra: string]: unknown;\n}\n\n/**\n * Input for RedNote (Xiaohongshu) Search (rednote.search).\n */\nexport interface RednoteSearchInput {\n /**\n * Pagination cursor from the previous response.\n */\n cursor?: string;\n /**\n * Keyword to search for on RedNote (Xiaohongshu).\n */\n query: string;\n /**\n * Sort order for matching notes.\n * One of: general, hot, time.\n * Default: general.\n */\n sort?: \"general\" | \"hot\" | \"time\";\n}\n\nexport interface RednoteSearchNote {\n /**\n * Present whenever the upstream returns this record.\n */\n authorImage?: string;\n /**\n * Present whenever the upstream returns this record.\n */\n authorNickname?: string;\n /**\n * Present whenever the upstream returns this record.\n */\n authorRedId?: string;\n /**\n * Present whenever the upstream returns this record.\n */\n authorUserId?: string;\n collectCount?: number;\n commentCount?: number;\n createdAt?: number;\n /**\n * Present whenever the upstream returns this record.\n */\n description?: string;\n /**\n * Present whenever the upstream returns this record.\n */\n image?: string;\n likeCount?: number;\n noteId: string;\n shareCount?: number;\n /**\n * Present whenever the upstream returns this record.\n */\n title?: string;\n /**\n * Present whenever the upstream returns this record.\n */\n type?: string;\n /**\n * Present whenever the upstream returns this record.\n */\n xsecToken?: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of RedNote (Xiaohongshu) Search (rednote.search).\n */\nexport interface RednoteSearchData {\n nextCursor: string;\n notes: RednoteSearchNote[];\n [extra: string]: unknown;\n}\n\n/**\n * Input for RedNote (Xiaohongshu) User Search (rednote.search_users).\n */\nexport interface RednoteSearchUsersInput {\n /**\n * Pagination cursor from the previous response.\n */\n cursor?: string;\n /**\n * Keyword to search for on RedNote (Xiaohongshu).\n */\n query: string;\n}\n\nexport interface RednoteSearchUsersUser {\n /**\n * Present whenever the upstream returns this record.\n */\n description?: string;\n /**\n * Present whenever the upstream returns this record.\n */\n image?: string;\n /**\n * Present whenever the upstream returns this record.\n */\n link?: string;\n /**\n * Present whenever the upstream returns this record.\n */\n name?: string;\n /**\n * Present whenever the upstream returns this record.\n */\n redId?: string;\n /**\n * Present whenever the upstream returns this record.\n */\n subtitle?: string;\n userId: string;\n verified?: boolean;\n verifyType?: number;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of RedNote (Xiaohongshu) User Search (rednote.search_users).\n */\nexport interface RednoteSearchUsersData {\n nextCursor: string;\n users: RednoteSearchUsersUser[];\n [extra: string]: unknown;\n}\n\n/**\n * Input for RedNote (Xiaohongshu) User Notes (rednote.user_notes).\n */\nexport interface RednoteUserNotesInput {\n /**\n * Pagination cursor from the previous response.\n */\n cursor?: string;\n /**\n * RedNote (Xiaohongshu) user ID.\n */\n userId: string;\n}\n\nexport interface RednoteUserNotesNote {\n /**\n * Present whenever the upstream returns this record.\n */\n authorImage?: string;\n /**\n * Present whenever the upstream returns this record.\n */\n authorNickname?: string;\n /**\n * Present whenever the upstream returns this record.\n */\n authorUserId?: string;\n collectCount?: number;\n commentCount?: number;\n createdAt?: number;\n /**\n * Present whenever the upstream returns this record.\n */\n description?: string;\n /**\n * Present whenever the upstream returns this record.\n */\n image?: string;\n likeCount?: number;\n noteId: string;\n shareCount?: number;\n /**\n * Present whenever the upstream returns this record.\n */\n title?: string;\n /**\n * Present whenever the upstream returns this record.\n */\n type?: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of RedNote (Xiaohongshu) User Notes (rednote.user_notes).\n */\nexport interface RednoteUserNotesData {\n nextCursor: string;\n notes: RednoteUserNotesNote[];\n [extra: string]: unknown;\n}\n\n/**\n * Typed methods for the rednote platform. Attached to the AnyAPI client as\n * `client.rednote`.\n */\nexport class RednoteNamespace {\n constructor(private readonly _core: ClientCore) {}\n\n /**\n * RedNote (Xiaohongshu) Note\n *\n * Look up a RedNote (Xiaohongshu) note by note ID and return normalized note details.\n *\n * Price: $0.01 per request.\n *\n * @example\n * const res = await client.rednote.note({ noteId: \"66f2a24f000000002c02cf57\" });\n */\n note(\n input: RednoteNoteInput,\n options?: RequestOptions,\n ): Promise<RunResult<RednoteNoteData>> {\n return this._core.run(\"rednote.note\", input, options);\n }\n\n /**\n * RedNote (Xiaohongshu) Note Comments\n *\n * List comments on a RedNote (Xiaohongshu) note and return normalized comment records with pagination.\n *\n * Price: $0.01 per request.\n *\n * @example\n * const res = await client.rednote.noteComments({ noteId: \"68dd422c0000000203019829\" });\n */\n noteComments(\n input: RednoteNoteCommentsInput,\n options?: RequestOptions,\n ): Promise<RunResult<RednoteNoteCommentsData>> {\n return this._core.run(\"rednote.note_comments\", input, options);\n }\n\n /**\n * Iterate every result of RedNote (Xiaohongshu) Note Comments across pages.\n *\n * Yields items directly; call `.pages()` on the return value to walk whole\n * result pages instead (each carries its own costUsd).\n */\n iterNoteComments(\n input: RednoteNoteCommentsInput,\n options?: RequestOptions,\n ): Paginator<RednoteNoteCommentsComment, RunResult<RednoteNoteCommentsData>> {\n return paginate<\n RednoteNoteCommentsComment,\n RunResult<RednoteNoteCommentsData>\n >(\n this._core,\n \"rednote.note_comments\",\n input as unknown as Record<string, unknown>,\n \"comments\",\n false,\n options,\n );\n }\n\n /**\n * RedNote (Xiaohongshu) Profile\n *\n * Look up a RedNote (Xiaohongshu) profile by user ID and return normalized profile details.\n *\n * Price: $0.01 per request.\n *\n * @example\n * const res = await client.rednote.profile({ userId: \"56b0a4491c07df6365277af7\" });\n */\n profile(\n input: RednoteProfileInput,\n options?: RequestOptions,\n ): Promise<RunResult<RednoteProfileData>> {\n return this._core.run(\"rednote.profile\", input, options);\n }\n\n /**\n * RedNote (Xiaohongshu) Search\n *\n * Search RedNote (Xiaohongshu) notes by keyword and return normalized note records with pagination.\n *\n * Price: $0.01 per request.\n *\n * @example\n * const res = await client.rednote.search({ query: \"coffee\", sort: \"general\" });\n */\n search(\n input: RednoteSearchInput,\n options?: RequestOptions,\n ): Promise<RunResult<RednoteSearchData>> {\n return this._core.run(\"rednote.search\", input, options);\n }\n\n /**\n * Iterate every result of RedNote (Xiaohongshu) Search across pages.\n *\n * Yields items directly; call `.pages()` on the return value to walk whole\n * result pages instead (each carries its own costUsd).\n */\n iterSearch(\n input: RednoteSearchInput,\n options?: RequestOptions,\n ): Paginator<RednoteSearchNote, RunResult<RednoteSearchData>> {\n return paginate<RednoteSearchNote, RunResult<RednoteSearchData>>(\n this._core,\n \"rednote.search\",\n input as unknown as Record<string, unknown>,\n \"notes\",\n false,\n options,\n );\n }\n\n /**\n * RedNote (Xiaohongshu) User Search\n *\n * Search RedNote (Xiaohongshu) users by keyword and return normalized user records with pagination.\n *\n * Price: $0.01 per request.\n *\n * @example\n * const res = await client.rednote.searchUsers({ query: \"coffee\" });\n */\n searchUsers(\n input: RednoteSearchUsersInput,\n options?: RequestOptions,\n ): Promise<RunResult<RednoteSearchUsersData>> {\n return this._core.run(\"rednote.search_users\", input, options);\n }\n\n /**\n * Iterate every result of RedNote (Xiaohongshu) User Search across pages.\n *\n * Yields items directly; call `.pages()` on the return value to walk whole\n * result pages instead (each carries its own costUsd).\n */\n iterSearchUsers(\n input: RednoteSearchUsersInput,\n options?: RequestOptions,\n ): Paginator<RednoteSearchUsersUser, RunResult<RednoteSearchUsersData>> {\n return paginate<RednoteSearchUsersUser, RunResult<RednoteSearchUsersData>>(\n this._core,\n \"rednote.search_users\",\n input as unknown as Record<string, unknown>,\n \"users\",\n false,\n options,\n );\n }\n\n /**\n * RedNote (Xiaohongshu) User Notes\n *\n * List notes posted by a RedNote (Xiaohongshu) user and return normalized note records with pagination.\n *\n * Price: $0.01 per request.\n *\n * @example\n * const res = await client.rednote.userNotes({ userId: \"56b0a4491c07df6365277af7\" });\n */\n userNotes(\n input: RednoteUserNotesInput,\n options?: RequestOptions,\n ): Promise<RunResult<RednoteUserNotesData>> {\n return this._core.run(\"rednote.user_notes\", input, options);\n }\n\n /**\n * Iterate every result of RedNote (Xiaohongshu) User Notes across pages.\n *\n * Yields items directly; call `.pages()` on the return value to walk whole\n * result pages instead (each carries its own costUsd).\n */\n iterUserNotes(\n input: RednoteUserNotesInput,\n options?: RequestOptions,\n ): Paginator<RednoteUserNotesNote, RunResult<RednoteUserNotesData>> {\n return paginate<RednoteUserNotesNote, RunResult<RednoteUserNotesData>>(\n this._core,\n \"rednote.user_notes\",\n input as unknown as Record<string, unknown>,\n \"notes\",\n false,\n options,\n );\n }\n}\n","// Generated - do not edit. Regenerate with: pnpm generate\n\nimport type {\n ClientCore,\n RequestOptions,\n RunResult,\n} from \"../../core/index.js\";\n\n/**\n * Input for SEC EDGAR Filings (sec.filings).\n */\nexport interface SecFilingsInput {\n /**\n * Only return filings filed on or after this date, in YYYY-MM-DD format (e.g. 2025-01-01).\n */\n dateFrom?: string;\n /**\n * Only return filings filed on or before this date, in YYYY-MM-DD format (e.g. 2026-06-01).\n */\n dateTo?: string;\n /**\n * Filter filings by SEC form type (e.g. 10-K, 10-Q, 8-K, 4, DEF 14A, S-1, 13F-HR); omit for all forms.\n */\n form?: string;\n /**\n * Maximum number of filings to return (1-25, default 25). You are billed per result returned, so a lower limit costs less.\n * Range: minimum 1, maximum 25.\n */\n limit?: number;\n /**\n * Company stock ticker symbol, e.g. AAPL, MSFT, or TSLA.\n */\n ticker: string;\n}\n\nexport interface SecFilingsItem {\n /**\n * SEC accession number uniquely identifying the filing.\n */\n accessionNumber: string;\n /**\n * SEC Central Index Key for the filer.\n * Present whenever the upstream returns this record.\n */\n cik?: string;\n /**\n * Present whenever the upstream returns this record.\n */\n companyName?: string;\n /**\n * Date the filing was filed, YYYY-MM-DD.\n * Present whenever the upstream returns this record.\n */\n filingDate?: string;\n /**\n * SEC form type, e.g. 10-K, 10-Q, 8-K.\n * Present whenever the upstream returns this record.\n */\n form?: string;\n /**\n * Direct link to the primary filing document on sec.gov.\n */\n url: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of SEC EDGAR Filings (sec.filings).\n */\nexport interface SecFilingsData {\n /**\n * Filing records: company and CIK, form type, filing date, accession number, and document links.\n */\n items: SecFilingsItem[];\n}\n\n/**\n * Typed methods for the sec platform. Attached to the AnyAPI client as\n * `client.sec`.\n */\nexport class SecNamespace {\n constructor(private readonly _core: ClientCore) {}\n\n /**\n * SEC EDGAR Filings\n *\n * List a public company's SEC EDGAR filings - form type, filing date, accession number, and document links - by ticker, company name, or CIK, with optional form-type and date filters, billed per request in USD.\n *\n * Price: $0.002 per request plus $0.0004 per result.\n *\n * @example\n * const res = await client.sec.filings({ ticker: \"AAPL\", limit: 3 });\n */\n filings(\n input: SecFilingsInput,\n options?: RequestOptions,\n ): Promise<RunResult<SecFilingsData>> {\n return this._core.run(\"sec.filings\", input, options);\n }\n}\n","// Generated - do not edit. Regenerate with: pnpm generate\n\nimport type {\n ClientCore,\n RequestOptions,\n RunResult,\n} from \"../../core/index.js\";\n\n/**\n * Input for Semrush Keyword Research (semrush.keywords).\n */\nexport interface SemrushKeywordsInput {\n /**\n * Two-letter Semrush regional database that scopes the metrics (e.g. us, uk, de).\n * Default: us.\n */\n database?: string;\n /**\n * The search term to research (e.g. \"best running shoes\").\n */\n keyword: string;\n}\n\nexport interface SemrushKeywordsItem {\n /**\n * Paid-search competition density, 0 to 1.\n */\n competition?: number;\n /**\n * Average cost per click in USD.\n */\n cpcUsd?: number;\n /**\n * Two-letter Semrush regional database the metrics are scoped to.\n */\n database?: string;\n /**\n * Search-intent labels for the keyword (e.g. commercial, informational).\n * Present whenever the upstream returns this record.\n */\n intents?: string[];\n /**\n * The researched search term.\n */\n keyword: string;\n /**\n * Semrush Keyword Difficulty, 0 to 100.\n */\n keywordDifficulty?: number;\n /**\n * Number of organic results Google returns for the keyword.\n */\n organicResultsCount?: number;\n /**\n * Question-phrased keyword variations with their own volume and difficulty.\n * Present whenever the upstream returns this record.\n */\n questions?: SemrushKeywordsQuestion[];\n /**\n * Median number of referring domains across the ranking pages.\n */\n referringDomainsMedian?: number;\n /**\n * Related keyword suggestions with their own volume and difficulty.\n * Present whenever the upstream returns this record.\n */\n relatedKeywords?: SemrushKeywordsRelatedKeyword[];\n /**\n * Average monthly search volume in the selected database.\n */\n searchVolume?: number;\n [extra: string]: unknown;\n}\n\nexport interface SemrushKeywordsQuestion {\n /**\n * The question keyword.\n */\n keyword: string;\n /**\n * Semrush Keyword Difficulty for the question keyword, 0 to 100.\n */\n keywordDifficulty?: number;\n /**\n * Average monthly search volume for the question keyword.\n */\n searchVolume?: number;\n [extra: string]: unknown;\n}\n\nexport interface SemrushKeywordsRelatedKeyword {\n /**\n * The related keyword.\n */\n keyword: string;\n /**\n * Semrush Keyword Difficulty for the related keyword, 0 to 100.\n */\n keywordDifficulty?: number;\n /**\n * Average monthly search volume for the related keyword.\n */\n searchVolume?: number;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Semrush Keyword Research (semrush.keywords).\n */\nexport interface SemrushKeywordsData {\n /**\n * Keyword-research records: search volume, CPC, competition, keyword difficulty, plus related keywords and question keywords for the researched term.\n */\n items: SemrushKeywordsItem[];\n}\n\n/**\n * Input for Semrush Domain Overview (semrush.overview).\n */\nexport interface SemrushOverviewInput {\n /**\n * Two-letter Semrush regional database that scopes the metrics (e.g. us, uk, de).\n * Default: us.\n */\n database?: string;\n /**\n * The domain to analyze (e.g. ahrefs.com).\n */\n domain: string;\n /**\n * Add Moz Domain Authority and Spam Score to the response.\n * Default: false.\n */\n includeMoz?: boolean;\n}\n\nexport interface SemrushOverviewItem {\n /**\n * Semrush AI visibility metric for the domain.\n */\n aiVisibility?: number;\n /**\n * Semrush Authority Score, 0-100.\n */\n authorityScore?: number;\n /**\n * Total number of backlinks pointing at the domain.\n */\n backlinks?: number;\n /**\n * Two-letter Semrush regional database the metrics are scoped to.\n */\n database?: string;\n /**\n * The analyzed domain.\n */\n domain: string;\n /**\n * Number of dofollow backlinks.\n */\n followBacklinks?: number;\n /**\n * Moz Domain Authority, 0-100 (only when includeMoz is true).\n */\n mozDomainAuthority?: number;\n /**\n * Moz Spam Score as a percentage string (only when includeMoz is true).\n */\n mozSpamScore?: string;\n /**\n * Number of nofollow backlinks.\n */\n nofollowBacklinks?: number;\n /**\n * Number of keywords the domain ranks for organically.\n */\n organicKeywords?: number;\n /**\n * Estimated monthly organic search traffic.\n */\n organicTraffic?: number;\n /**\n * Estimated USD value of the organic traffic.\n */\n organicTrafficCostUsd?: number;\n /**\n * Number of keywords the domain bids on.\n */\n paidKeywords?: number;\n /**\n * Estimated monthly paid search traffic.\n */\n paidTraffic?: number;\n /**\n * Estimated USD value of the paid traffic.\n */\n paidTrafficCostUsd?: number;\n /**\n * Number of unique domains linking to the domain.\n */\n referringDomains?: number;\n /**\n * Two-letter code of the country sending the most traffic.\n */\n topCountry?: string;\n /**\n * Estimated monthly traffic from the top country.\n */\n topCountryTraffic?: number;\n /**\n * The domain's top organic keywords with position, volume, and value.\n * Present whenever the upstream returns this record.\n */\n topKeywords?: SemrushOverviewTopKeyword[];\n /**\n * Estimated total monthly traffic across organic and paid.\n */\n totalTraffic?: number;\n [extra: string]: unknown;\n}\n\nexport interface SemrushOverviewTopKeyword {\n /**\n * Average cost per click in USD.\n */\n cpcUsd?: number;\n /**\n * Search intents associated with the keyword.\n */\n intents?: string[];\n /**\n * The organic keyword.\n */\n keyword: string;\n /**\n * Semrush Keyword Difficulty, 0-100.\n */\n keywordDifficulty?: number;\n /**\n * Current SERP position for this keyword.\n */\n position?: number;\n /**\n * Monthly search volume for this keyword.\n */\n searchVolume?: number;\n /**\n * Estimated monthly traffic this keyword drives to the domain.\n */\n traffic?: number;\n /**\n * The ranking URL on the domain.\n */\n url?: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Semrush Domain Overview (semrush.overview).\n */\nexport interface SemrushOverviewData {\n /**\n * Domain overview records: Authority Score, organic and paid traffic, keyword and backlink counts, top country, and the domain's top organic keywords.\n */\n items: SemrushOverviewItem[];\n}\n\n/**\n * Typed methods for the semrush platform. Attached to the AnyAPI client as\n * `client.semrush`.\n */\nexport class SemrushNamespace {\n constructor(private readonly _core: ClientCore) {}\n\n /**\n * Semrush Keyword Research\n *\n * Semrush keyword research for any term: monthly search volume, CPC, competition, keyword difficulty, plus related keywords and question keywords. Transparent per-request USD pricing.\n *\n * Price: $0.015 per result.\n *\n * @example\n * const res = await client.semrush.keywords({ keyword: \"best running shoes\", database: \"us\" });\n */\n keywords(\n input: SemrushKeywordsInput,\n options?: RequestOptions,\n ): Promise<RunResult<SemrushKeywordsData>> {\n return this._core.run(\"semrush.keywords\", input, options);\n }\n\n /**\n * Semrush Domain Overview\n *\n * a Semrush SEO overview for any domain: Authority Score, organic and paid traffic, keyword and backlink counts, top country, and the domain's top organic keywords. Transparent per-request USD pricing.\n *\n * Price: $0.015 per result.\n *\n * @example\n * const res = await client.semrush.overview({ domain: \"ahrefs.com\", database: \"us\" });\n */\n overview(\n input: SemrushOverviewInput,\n options?: RequestOptions,\n ): Promise<RunResult<SemrushOverviewData>> {\n return this._core.run(\"semrush.overview\", input, options);\n }\n}\n","// Generated - do not edit. Regenerate with: pnpm generate\n\nimport type {\n ClientCore,\n RequestOptions,\n RunResult,\n} from \"../../core/index.js\";\n\n/**\n * Input for Snapchat Profile (snapchat.profile).\n */\nexport interface SnapchatProfileInput {\n /**\n * The Snapchat username or profile URL to look up (e.g. fcbarcelona or https://www.snapchat.com/add/fcbarcelona).\n */\n username: string;\n}\n\n/**\n * A public Snapchat profile: url, handle, displayName, bio, subscribers, avatarUrl, and recent public stories.\n */\nexport interface SnapchatProfileItem {\n /**\n * URL of the profile avatar image.\n * Present whenever the upstream returns this record.\n */\n avatarUrl?: string;\n /**\n * The profile's public bio / description text.\n * Present whenever the upstream returns this record.\n */\n bio?: string;\n /**\n * The profile's public display name.\n * Present whenever the upstream returns this record.\n */\n displayName?: string;\n /**\n * Present whenever the upstream returns this record.\n */\n handle?: string;\n /**\n * Recent public stories, each with its snaps (media items).\n */\n stories?: SnapchatProfileStorie[];\n /**\n * Public subscriber count.\n */\n subscribers?: number;\n url: string;\n [extra: string]: unknown;\n}\n\nexport interface SnapchatProfileStorie {\n /**\n * Story identifier.\n */\n id?: string;\n /**\n * The snaps (media items) in this story.\n */\n snaps?: SnapchatProfileSnap[];\n /**\n * Story title.\n */\n storyTitle?: string;\n /**\n * Story thumbnail image URL.\n */\n thumbnailUrl?: string;\n [extra: string]: unknown;\n}\n\nexport interface SnapchatProfileSnap {\n /**\n * Snap identifier.\n */\n id?: string;\n /**\n * Full-resolution media URL.\n */\n mediaUrl?: string;\n /**\n * Preview/thumbnail media URL.\n */\n previewUrl?: string;\n /**\n * Snap timestamp (ISO 8601).\n */\n timestamp?: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Snapchat Profile (snapchat.profile).\n */\nexport interface SnapchatProfileData {\n /**\n * Profile records: public profile URL, handle, display name, bio, subscriber count, avatar, and recent public stories.\n */\n items: SnapchatProfileItem[];\n}\n\n/**\n * Typed methods for the snapchat platform. Attached to the AnyAPI client as\n * `client.snapchat`.\n */\nexport class SnapchatNamespace {\n constructor(private readonly _core: ClientCore) {}\n\n /**\n * Snapchat Profile\n *\n * Fetch a Snapchat user's public profile by username - display name, bio, subscriber count, and recent public content - with transparent per-request USD pricing.\n *\n * Price: $0.001 per request plus $0.002 per result.\n *\n * @example\n * const res = await client.snapchat.profile({ username: \"nasa\" });\n */\n profile(\n input: SnapchatProfileInput,\n options?: RequestOptions,\n ): Promise<RunResult<SnapchatProfileData>> {\n return this._core.run(\"snapchat.profile\", input, options);\n }\n}\n","// Generated - do not edit. Regenerate with: pnpm generate\n\nimport type {\n ClientCore,\n RequestOptions,\n RunResult,\n} from \"../../core/index.js\";\n\n/**\n * Input for Social Profile Finder (social.finder).\n */\nexport interface SocialFinderInput {\n /**\n * Maximum number of results to return (1-10, default 10). You are billed per result returned, so a lower limit costs less.\n * Range: minimum 1, maximum 10.\n */\n limit?: number;\n /**\n * The profile name or handle to search for across social networks (e.g. johndoe).\n */\n name: string;\n /**\n * Limit the search to one network: askfm, discord, facebook, github, instagram, linkedin, medium, pinterest, steam, threads, tiktok, twitch, or youtube (e.g. instagram); all networks are searched when omitted.\n */\n platform?: string;\n}\n\nexport interface SocialFinderItem {\n /**\n * The name that was searched for.\n * Present whenever the upstream returns this record.\n */\n inputProfileName?: string;\n /**\n * The social network checked (e.g. discord, facebook, github).\n */\n social: string;\n /**\n * URL of the matching profile, or null when no account was found on that network.\n */\n socialProfileUrl: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Social Profile Finder (social.finder).\n */\nexport interface SocialFinderData {\n /**\n * Profile match records: the queried profile name, the social network, and the matching profile URL when one was found.\n */\n items: SocialFinderItem[];\n}\n\n/**\n * Typed methods for the social platform. Attached to the AnyAPI client as\n * `client.social`.\n */\nexport class SocialNamespace {\n constructor(private readonly _core: ClientCore) {}\n\n /**\n * Social Profile Finder\n *\n * Find a person's or brand's profiles across major social networks from a single name, returned as normalized JSON with flat per-request USD pricing.\n *\n * Price: $0.001 per request plus $0.002 per result.\n *\n * @example\n * const res = await client.social.finder({ name: \"Elon Musk\", limit: 3 });\n */\n finder(\n input: SocialFinderInput,\n options?: RequestOptions,\n ): Promise<RunResult<SocialFinderData>> {\n return this._core.run(\"social.finder\", input, options);\n }\n}\n","// Generated - do not edit. Regenerate with: pnpm generate\n\nimport type {\n ClientCore,\n Paginator,\n RequestOptions,\n RunResult,\n} from \"../../core/index.js\";\nimport { paginate } from \"../../core/index.js\";\n\n/**\n * Input for Spotify Album (spotify.album).\n */\nexport interface SpotifyAlbumInput {\n /**\n * Spotify album ID (alternative to url).\n */\n id?: string;\n /**\n * Spotify album URL (e.g. https://open.spotify.com/album/0pgrg7phBbnwGJ2HBEl9EG).\n */\n url?: string;\n}\n\nexport interface SpotifyAlbumTrack {\n durationMs: number;\n name: string;\n playcount: number;\n uri: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Spotify Album (spotify.album).\n */\nexport interface SpotifyAlbumData {\n id: string;\n label: string;\n name: string;\n popularity: number;\n releaseDate: string;\n tracks: SpotifyAlbumTrack[];\n type: string;\n uri: string;\n}\n\n/**\n * Input for Spotify Artist (spotify.artist).\n */\nexport interface SpotifyArtistInput {\n /**\n * Spotify artist ID (alternative to url).\n */\n id?: string;\n /**\n * Spotify artist URL (e.g. https://open.spotify.com/artist/3DiDSECUqqY1AuBP8qtaIa).\n */\n url?: string;\n}\n\nexport interface SpotifyArtistAlbum {\n id: string;\n name: string;\n trackCount: number;\n type: string;\n uri: string;\n year: number;\n [extra: string]: unknown;\n}\n\nexport interface SpotifyArtistTopTrack {\n id: string;\n name: string;\n playcount: number;\n uri: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Spotify Artist (spotify.artist).\n */\nexport interface SpotifyArtistData {\n albums: SpotifyArtistAlbum[];\n topTracks: SpotifyArtistTopTrack[];\n}\n\n/**\n * Input for Spotify Play Count (spotify.play_count).\n */\nexport interface SpotifyPlayCountInput {\n /**\n * Spotify track, album, or artist URL to fetch stream counts for (e.g. https://open.spotify.com/track/3n3Ppam7vgaVa1iaRUc9Lp).\n */\n url: string;\n}\n\nexport interface SpotifyPlayCountItem {\n id: string;\n name: string;\n /**\n * Present whenever the upstream returns this record.\n */\n url?: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Spotify Play Count (spotify.play_count).\n */\nexport interface SpotifyPlayCountData {\n /**\n * Play-count records: track, album, or artist metadata with stream counts and statistics.\n */\n items: SpotifyPlayCountItem[];\n}\n\n/**\n * Input for Spotify Podcast (spotify.podcast).\n */\nexport interface SpotifyPodcastInput {\n /**\n * Spotify podcast show ID (alternative to url).\n */\n id?: string;\n /**\n * Spotify podcast show URL (e.g. https://open.spotify.com/show/3mliji9352UAk3XnWElnDV).\n */\n url?: string;\n}\n\n/**\n * The `data` payload of Spotify Podcast (spotify.podcast).\n */\nexport interface SpotifyPodcastData {\n averageRating: number;\n description: string;\n id: string;\n name: string;\n publisher: string;\n totalRatings: number;\n uri: string;\n [extra: string]: unknown;\n}\n\n/**\n * Input for Spotify Podcast Episodes (spotify.podcast_episodes).\n */\nexport interface SpotifyPodcastEpisodesInput {\n /**\n * Pagination cursor from a previous response for subsequent pages.\n */\n cursor?: string;\n /**\n * Spotify podcast show ID (alternative to url).\n */\n id?: string;\n /**\n * Spotify podcast show URL (e.g. https://open.spotify.com/show/4rOoJ6Egrf8K2IrywzwOMk).\n */\n url?: string;\n}\n\nexport interface SpotifyPodcastEpisodesEpisode {\n description: string;\n durationMs: number;\n id: string;\n name: string;\n releaseDate: string;\n uri: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Spotify Podcast Episodes (spotify.podcast_episodes).\n */\nexport interface SpotifyPodcastEpisodesData {\n episodes: SpotifyPodcastEpisodesEpisode[];\n nextCursor: string;\n totalCount: number;\n}\n\n/**\n * Input for Spotify Search (spotify.search).\n */\nexport interface SpotifySearchInput {\n /**\n * Search term (e.g. \"my first million\").\n */\n query: string;\n}\n\nexport interface SpotifySearchAlbum {\n id: string;\n name: string;\n uri: string;\n year: number;\n [extra: string]: unknown;\n}\n\nexport interface SpotifySearchArtist {\n id: string;\n name: string;\n uri: string;\n verified: boolean;\n [extra: string]: unknown;\n}\n\nexport interface SpotifySearchPodcast {\n id: string;\n name: string;\n publisher: string;\n [extra: string]: unknown;\n}\n\nexport interface SpotifySearchTrack {\n id: string;\n name: string;\n uri: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Spotify Search (spotify.search).\n */\nexport interface SpotifySearchData {\n albums: SpotifySearchAlbum[];\n artists: SpotifySearchArtist[];\n podcasts: SpotifySearchPodcast[];\n tracks: SpotifySearchTrack[];\n}\n\n/**\n * Input for Spotify Track (spotify.track).\n */\nexport interface SpotifyTrackInput {\n /**\n * Spotify track ID (alternative to url).\n */\n id?: string;\n /**\n * Spotify track URL (e.g. https://open.spotify.com/track/4cOdK2wGLETKBW3PvgPWqT).\n */\n url?: string;\n}\n\n/**\n * The `data` payload of Spotify Track (spotify.track).\n */\nexport interface SpotifyTrackData {\n durationMs: number;\n id: string;\n name: string;\n playcount: number;\n popularity: number;\n shareUrl: string;\n trackNumber: number;\n uri: string;\n [extra: string]: unknown;\n}\n\n/**\n * Typed methods for the spotify platform. Attached to the AnyAPI client as\n * `client.spotify`.\n */\nexport class SpotifyNamespace {\n constructor(private readonly _core: ClientCore) {}\n\n /**\n * Spotify Album\n *\n * Fetch a Spotify album's tracklist, play counts, label, and release details by album URL or ID, with transparent per-request USD pricing.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.spotify.album({ url: \"https://open.spotify.com/album/0pgrg7phBbnwGJ2HBEl9EG\" });\n */\n album(\n input: SpotifyAlbumInput,\n options?: RequestOptions,\n ): Promise<RunResult<SpotifyAlbumData>> {\n return this._core.run(\"spotify.album\", input, options);\n }\n\n /**\n * Spotify Artist\n *\n * Fetch a Spotify artist's discography (albums, singles, top tracks) and metadata by artist URL or ID, with transparent per-request USD pricing.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.spotify.artist({ url: \"https://open.spotify.com/artist/3DiDSECUqqY1AuBP8qtaIa\" });\n */\n artist(\n input: SpotifyArtistInput,\n options?: RequestOptions,\n ): Promise<RunResult<SpotifyArtistData>> {\n return this._core.run(\"spotify.artist\", input, options);\n }\n\n /**\n * Spotify Play Count\n *\n * Fetch stream counts and stats for a Spotify track, album, or artist URL, with transparent per-request USD pricing.\n *\n * Price: $0.003 per result.\n *\n * @example\n * const res = await client.spotify.playCount({ url: \"https://open.spotify.com/track/4cOdK2wGLETKBW3PvgPWqT\" });\n */\n playCount(\n input: SpotifyPlayCountInput,\n options?: RequestOptions,\n ): Promise<RunResult<SpotifyPlayCountData>> {\n return this._core.run(\"spotify.play_count\", input, options);\n }\n\n /**\n * Spotify Podcast\n *\n * Fetch a Spotify podcast show's name, publisher, description, rating, and topics by show URL or ID, with transparent per-request USD pricing.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.spotify.podcast({ url: \"https://open.spotify.com/show/3mliji9352UAk3XnWElnDV\" });\n */\n podcast(\n input: SpotifyPodcastInput,\n options?: RequestOptions,\n ): Promise<RunResult<SpotifyPodcastData>> {\n return this._core.run(\"spotify.podcast\", input, options);\n }\n\n /**\n * Spotify Podcast Episodes\n *\n * List a Spotify podcast show's episodes with titles, durations, descriptions, and release dates by show URL or ID, with transparent per-request USD pricing.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.spotify.podcastEpisodes({ url: \"https://open.spotify.com/show/4rOoJ6Egrf8K2IrywzwOMk\" });\n */\n podcastEpisodes(\n input: SpotifyPodcastEpisodesInput,\n options?: RequestOptions,\n ): Promise<RunResult<SpotifyPodcastEpisodesData>> {\n return this._core.run(\"spotify.podcast_episodes\", input, options);\n }\n\n /**\n * Iterate every result of Spotify Podcast Episodes across pages.\n *\n * Yields items directly; call `.pages()` on the return value to walk whole\n * result pages instead (each carries its own costUsd).\n */\n iterPodcastEpisodes(\n input: SpotifyPodcastEpisodesInput,\n options?: RequestOptions,\n ): Paginator<\n SpotifyPodcastEpisodesEpisode,\n RunResult<SpotifyPodcastEpisodesData>\n > {\n return paginate<\n SpotifyPodcastEpisodesEpisode,\n RunResult<SpotifyPodcastEpisodesData>\n >(\n this._core,\n \"spotify.podcast_episodes\",\n input as unknown as Record<string, unknown>,\n \"episodes\",\n false,\n options,\n );\n }\n\n /**\n * Spotify Search\n *\n * Search Spotify for matching tracks, albums, artists, podcasts, and playlists by keyword, with transparent per-request USD pricing.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.spotify.search({ query: \"my first million\" });\n */\n search(\n input: SpotifySearchInput,\n options?: RequestOptions,\n ): Promise<RunResult<SpotifySearchData>> {\n return this._core.run(\"spotify.search\", input, options);\n }\n\n /**\n * Spotify Track\n *\n * Fetch a Spotify track's play count, popularity, duration, and album details by track URL or ID, with transparent per-request USD pricing.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.spotify.track({ url: \"https://open.spotify.com/track/4cOdK2wGLETKBW3PvgPWqT\" });\n */\n track(\n input: SpotifyTrackInput,\n options?: RequestOptions,\n ): Promise<RunResult<SpotifyTrackData>> {\n return this._core.run(\"spotify.track\", input, options);\n }\n}\n","// Generated - do not edit. Regenerate with: pnpm generate\n\nimport type {\n ClientCore,\n RequestOptions,\n RunResult,\n} from \"../../core/index.js\";\n\n/**\n * Input for Substack Posts (substack.posts).\n */\nexport interface SubstackPostsInput {\n /**\n * Restrict to a single post type, or 'all' (e.g. newsletter).\n * One of: all, newsletter, podcast, thread.\n * Default: all.\n */\n contentType?: \"all\" | \"newsletter\" | \"podcast\" | \"thread\";\n /**\n * Include the full article body as HTML. Set false for metadata only (e.g. false).\n * Default: true.\n */\n includeContent?: boolean;\n /**\n * Maximum number of recent posts to return when given a publication URL (1-100, default 25); ignored for a single post URL, which always returns that one post. You are billed per post returned, so a lower limit costs less.\n * Range: minimum 1, maximum 100.\n */\n limit?: number;\n /**\n * Return only free (non-paywalled) posts (e.g. true).\n * Default: false.\n */\n onlyFree?: boolean;\n /**\n * Either a Substack publication URL / custom domain to fetch its recent posts (e.g. https://www.astralcodexten.com), OR a single post URL to fetch just that one article with full content (e.g. https://www.astralcodexten.com/p/your-book-review).\n */\n url: string;\n}\n\nexport interface SubstackPostsItem {\n /**\n * Present whenever the upstream returns this record.\n */\n authorHandle?: string;\n /**\n * Present whenever the upstream returns this record.\n */\n authorName?: string;\n commentCount?: number;\n /**\n * Present whenever the upstream returns this record.\n */\n description?: string;\n /**\n * Cover image URL.\n * Present whenever the upstream returns this record.\n */\n image?: string;\n isPaid?: boolean;\n /**\n * Present whenever the upstream returns this record.\n */\n postId?: string;\n /**\n * Present whenever the upstream returns this record.\n */\n postType?: string;\n /**\n * ISO 8601 publish date.\n * Present whenever the upstream returns this record.\n */\n publishedAt?: string;\n reactionCount?: number;\n /**\n * Present whenever the upstream returns this record.\n */\n subtitle?: string;\n title: string;\n url: string;\n wordcount?: number;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Substack Posts (substack.posts).\n */\nexport interface SubstackPostsData {\n /**\n * Post records: title, subtitle, URL, publish date, paywall status, word count, engagement (reactions, comments, restacks), author profile, publication info, and full article HTML when requested.\n */\n items: SubstackPostsItem[];\n}\n\n/**\n * Typed methods for the substack platform. Attached to the AnyAPI client as\n * `client.substack`.\n */\nexport class SubstackNamespace {\n constructor(private readonly _core: ClientCore) {}\n\n /**\n * Substack Posts\n *\n * Pull posts from any Substack publication by its URL - or pass a single post URL (…/p/slug) to fetch just that one article. Returns title, subtitle, publish date, paywall status, word count, engagement (reactions, comments, restacks), author profile, and full article HTML. Priced per post returned.\n *\n * Price: $0.005 per request plus $0.00156 per result.\n *\n * @example\n * const res = await client.substack.posts({ url: \"https://www.astralcodexten.com\", limit: 3 });\n */\n posts(\n input: SubstackPostsInput,\n options?: RequestOptions,\n ): Promise<RunResult<SubstackPostsData>> {\n return this._core.run(\"substack.posts\", input, options);\n }\n}\n","// Generated - do not edit. Regenerate with: pnpm generate\n\nimport type {\n ClientCore,\n RequestOptions,\n RunResult,\n} from \"../../core/index.js\";\n\n/**\n * Input for Threads Post (threads.post).\n */\nexport interface ThreadsPostInput {\n /**\n * The full URL of the Threads post to fetch (e.g. https://www.threads.com/@zuck/post/C8yKXdRxKqK).\n */\n url: string;\n}\n\n/**\n * The `data` payload of Threads Post (threads.post).\n */\nexport interface ThreadsPostData {\n code: string;\n fullName: string;\n id: string;\n likeCount: number;\n quoteCount: number;\n replyCount: number;\n repostCount: number;\n takenAt: number;\n text: string;\n username: string;\n [extra: string]: unknown;\n}\n\n/**\n * Input for Threads Profile (threads.profile).\n */\nexport interface ThreadsProfileInput {\n /**\n * The Threads username to look up, without the @ prefix (e.g. zuck).\n */\n username: string;\n}\n\n/**\n * The `data` payload of Threads Profile (threads.profile).\n */\nexport interface ThreadsProfileData {\n biography: string;\n followerCount: number;\n fullName: string;\n id: string;\n isPrivate: boolean;\n isVerified: boolean;\n profilePicUrl: string;\n username: string;\n [extra: string]: unknown;\n}\n\n/**\n * Input for Threads Search (threads.search).\n */\nexport interface ThreadsSearchInput {\n /**\n * Keyword or hashtag to search public Threads posts for; the # prefix is optional (e.g. AI agents).\n */\n query: string;\n}\n\nexport interface ThreadsSearchPost {\n code: string;\n fullName: string;\n id: string;\n likeCount: number;\n replyCount: number;\n repostCount: number;\n takenAt: number;\n text: string;\n url: string;\n username: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Threads Search (threads.search).\n */\nexport interface ThreadsSearchData {\n /**\n * Matching public post records: text, author, engagement counts, timestamp, and URL.\n */\n posts: ThreadsSearchPost[];\n}\n\n/**\n * Input for Threads User Search (threads.search_users).\n */\nexport interface ThreadsSearchUsersInput {\n /**\n * The name or username to search Threads users for.\n */\n query: string;\n}\n\nexport interface ThreadsSearchUsersUser {\n fullName: string;\n id: string;\n isVerified: boolean;\n profilePicUrl: string;\n username: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Threads User Search (threads.search_users).\n */\nexport interface ThreadsSearchUsersData {\n users: ThreadsSearchUsersUser[];\n}\n\n/**\n * Input for Threads User Posts (threads.user_posts).\n */\nexport interface ThreadsUserPostsInput {\n /**\n * The Threads username to list posts for, without the @ prefix.\n */\n handle: string;\n}\n\nexport interface ThreadsUserPostsPost {\n code: string;\n id: string;\n likeCount: number;\n quoteCount: number;\n replyCount: number;\n repostCount: number;\n takenAt: number;\n text: string;\n url: string;\n username: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Threads User Posts (threads.user_posts).\n */\nexport interface ThreadsUserPostsData {\n posts: ThreadsUserPostsPost[];\n}\n\n/**\n * Typed methods for the threads platform. Attached to the AnyAPI client as\n * `client.threads`.\n */\nexport class ThreadsNamespace {\n constructor(private readonly _core: ClientCore) {}\n\n /**\n * Threads Post\n *\n * Fetch a single Threads post by URL - text, author, engagement counts, and timestamp - billed per request in USD.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.threads.post({ url: \"https://www.threads.com/@aaronparnas/post/DZxPYVFkYSq\" });\n */\n post(\n input: ThreadsPostInput,\n options?: RequestOptions,\n ): Promise<RunResult<ThreadsPostData>> {\n return this._core.run(\"threads.post\", input, options);\n }\n\n /**\n * Threads Profile\n *\n * Fetch a Threads user's public profile (bio, follower count, verification, profile picture) by username, billed per request in USD.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.threads.profile({ username: \"zuck\" });\n */\n profile(\n input: ThreadsProfileInput,\n options?: RequestOptions,\n ): Promise<RunResult<ThreadsProfileData>> {\n return this._core.run(\"threads.profile\", input, options);\n }\n\n /**\n * Threads Search\n *\n * Search public Threads posts by keyword or hashtag and get normalized post records - text, author, and engagement - billed per request in USD.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.threads.search({ query: \"trump\" });\n */\n search(\n input: ThreadsSearchInput,\n options?: RequestOptions,\n ): Promise<RunResult<ThreadsSearchData>> {\n return this._core.run(\"threads.search\", input, options);\n }\n\n /**\n * Threads User Search\n *\n * Search Threads users by name or username and get normalized profile records - username, full name, verification, and picture - at a flat per-request USD price.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.threads.searchUsers({ query: \"shams\" });\n */\n searchUsers(\n input: ThreadsSearchUsersInput,\n options?: RequestOptions,\n ): Promise<RunResult<ThreadsSearchUsersData>> {\n return this._core.run(\"threads.search_users\", input, options);\n }\n\n /**\n * Threads User Posts\n *\n * List a Threads user's recent public posts by username - text, engagement counts, and post URLs - at a flat per-request USD price.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.threads.userPosts({ handle: \"trendspider\" });\n */\n userPosts(\n input: ThreadsUserPostsInput,\n options?: RequestOptions,\n ): Promise<RunResult<ThreadsUserPostsData>> {\n return this._core.run(\"threads.user_posts\", input, options);\n }\n}\n","// Generated - do not edit. Regenerate with: pnpm generate\n\nimport type {\n ClientCore,\n Paginator,\n RequestOptions,\n RunResult,\n} from \"../../core/index.js\";\nimport { paginate } from \"../../core/index.js\";\n\n/**\n * Input for TikTok Ad Library Ad (tiktok.ad_library_ad).\n */\nexport interface TiktokAdLibraryAdInput {\n /**\n * TikTok Top Ads material/ad ID, or a Top Ads detail URL (e.g. 7648493525660270600).\n */\n adId: string;\n}\n\n/**\n * The `data` payload of TikTok Ad Library Ad (tiktok.ad_library_ad).\n */\nexport interface TiktokAdLibraryAdData {\n adId: string;\n adTitle: string;\n brandName: string;\n comments: number;\n cost: number;\n coverUrl: string;\n ctr: number;\n industry: string;\n landingPage: string;\n likes: number;\n objective: string;\n shares: number;\n videoUrl: string;\n [extra: string]: unknown;\n}\n\n/**\n * Input for TikTok Ad Library Search (tiktok.ad_library_search).\n */\nexport interface TiktokAdLibrarySearchInput {\n /**\n * Page number for pagination (defaults to 1).\n */\n cursor?: string;\n /**\n * Results per page, max 50 (defaults to 20).\n */\n limit?: string;\n /**\n * Sort metric: for_you, impression, play_2s_rate, play_6s_rate, cvr, ctr, or like.\n */\n orderBy?: string;\n /**\n * Time window for top ads: 7, 30, or 180 days.\n */\n period?: string;\n /**\n * Keyword to search ad titles and content (e.g. spotify).\n */\n query: string;\n /**\n * Country code (defaults to US).\n */\n region?: string;\n}\n\nexport interface TiktokAdLibrarySearchAd {\n adId: string;\n adTitle: string;\n brandName: string;\n cost: number;\n coverUrl: string;\n ctr: number;\n industry: string;\n likes: number;\n objective: string;\n videoUrl: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of TikTok Ad Library Search (tiktok.ad_library_search).\n */\nexport interface TiktokAdLibrarySearchData {\n ads: TiktokAdLibrarySearchAd[];\n hasMore: boolean;\n nextCursor: string;\n total: number;\n}\n\n/**\n * Input for TikTok Audience Demographics (tiktok.audience_demographics).\n */\nexport interface TiktokAudienceDemographicsInput {\n /**\n * TikTok username without the leading @ (e.g. \"shakira\").\n */\n handle: string;\n}\n\nexport interface TiktokAudienceDemographicsAudienceLocation {\n count: number;\n country: string;\n countryCode: string;\n percentage: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of TikTok Audience Demographics (tiktok.audience_demographics).\n */\nexport interface TiktokAudienceDemographicsData {\n audienceLocations: TiktokAudienceDemographicsAudienceLocation[];\n}\n\n/**\n * Input for TikTok Comment Replies (tiktok.comment_replies).\n */\nexport interface TiktokCommentRepliesInput {\n /**\n * TikTok comment ID (the comment's cid from the comments endpoint).\n */\n commentId: string;\n /**\n * Pagination cursor from a previous response.\n */\n cursor?: string;\n /**\n * TikTok video URL the comment belongs to.\n */\n url: string;\n}\n\nexport interface TiktokCommentRepliesComment {\n author: string;\n createdAt: number;\n id: string;\n likes: number;\n text: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of TikTok Comment Replies (tiktok.comment_replies).\n */\nexport interface TiktokCommentRepliesData {\n comments: TiktokCommentRepliesComment[];\n nextCursor: string;\n}\n\n/**\n * Input for TikTok Followers (tiktok.followers).\n */\nexport interface TiktokFollowersInput {\n /**\n * Pagination cursor from a previous response's nextCursor, to fetch the next page of followers.\n */\n cursor?: string;\n /**\n * TikTok username whose followers to list, without the @ prefix (e.g. stoolpresidente).\n */\n handle: string;\n}\n\nexport interface TiktokFollowersFollower {\n avatarUrl: string;\n followerCount: number;\n followingCount: number;\n nickname: string;\n region: string;\n userId: string;\n username: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of TikTok Followers (tiktok.followers).\n */\nexport interface TiktokFollowersData {\n followers: TiktokFollowersFollower[];\n nextCursor: string;\n total: number;\n}\n\n/**\n * Input for TikTok Following (tiktok.following).\n */\nexport interface TiktokFollowingInput {\n /**\n * Pagination cursor from a previous response.\n */\n cursor?: string;\n /**\n * TikTok username without the leading @ (e.g. \"stoolpresidente\").\n */\n handle: string;\n}\n\nexport interface TiktokFollowingFollowing {\n bio: string;\n displayName: string;\n followers: number;\n handle: string;\n id: string;\n region: string;\n videos: number;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of TikTok Following (tiktok.following).\n */\nexport interface TiktokFollowingData {\n following: TiktokFollowingFollowing[];\n}\n\n/**\n * Input for TikTok Hashtag Videos (tiktok.hashtag_videos).\n */\nexport interface TiktokHashtagVideosInput {\n /**\n * TikTok hashtag to fetch videos for, without the # prefix (e.g. booktok).\n */\n hashtag: string;\n /**\n * Maximum number of results to return (1-20, default 20). You are billed per result returned, so a lower limit costs less.\n * Range: minimum 1, maximum 20.\n */\n limit?: number;\n}\n\nexport interface TiktokHashtagVideosItem {\n id: string;\n text: string;\n url: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of TikTok Hashtag Videos (tiktok.hashtag_videos).\n */\nexport interface TiktokHashtagVideosData {\n /**\n * Video records: creator, caption, hashtags, play/like/share/comment counts, and video URL.\n */\n items: TiktokHashtagVideosItem[];\n}\n\n/**\n * Input for TikTok Live (tiktok.live).\n */\nexport interface TiktokLiveInput {\n /**\n * TikTok username without the leading @ (e.g. \"thejustalex\").\n */\n handle: string;\n}\n\n/**\n * The `data` payload of TikTok Live (tiktok.live).\n */\nexport interface TiktokLiveData {\n coverUrl: string;\n displayName: string;\n enterCount: number;\n handle: string;\n roomId: string;\n startTime: number;\n status: number;\n title: string;\n viewers: number;\n [extra: string]: unknown;\n}\n\n/**\n * Input for TikTok Profile (tiktok.profile).\n */\nexport interface TiktokProfileInput {\n /**\n * TikTok username without the leading @ (e.g. \"stoolpresidente\").\n */\n handle: string;\n}\n\n/**\n * The `data` payload of TikTok Profile (tiktok.profile).\n */\nexport interface TiktokProfileData {\n avatarUrl: string;\n bio: string;\n displayName: string;\n followers: number;\n following: number;\n handle: string;\n likes: number;\n verified: boolean;\n videos: number;\n [extra: string]: unknown;\n}\n\n/**\n * Input for TikTok Profile Region (tiktok.profile_region).\n */\nexport interface TiktokProfileRegionInput {\n /**\n * TikTok username without the leading @ (e.g. \"stoolpresidente\").\n */\n handle: string;\n}\n\n/**\n * The `data` payload of TikTok Profile Region (tiktok.profile_region).\n */\nexport interface TiktokProfileRegionData {\n handle: string;\n profileUrl: string;\n region: string;\n [extra: string]: unknown;\n}\n\n/**\n * Input for TikTok Profile Videos (tiktok.profile_videos).\n */\nexport interface TiktokProfileVideosInput {\n /**\n * Pagination cursor from a previous response's nextCursor.\n */\n cursor?: string;\n /**\n * TikTok username without the leading @.\n */\n handle: string;\n}\n\nexport interface TiktokProfileVideosVideo {\n caption: string;\n comments: number;\n createdAt: string;\n id: string;\n likes: number;\n url: string;\n views: number;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of TikTok Profile Videos (tiktok.profile_videos).\n */\nexport interface TiktokProfileVideosData {\n nextCursor: string;\n videos: TiktokProfileVideosVideo[];\n}\n\n/**\n * Input for TikTok Hashtag Search (tiktok.search_hashtag).\n */\nexport interface TiktokSearchHashtagInput {\n /**\n * Pagination cursor from a previous response.\n */\n cursor?: string;\n /**\n * Hashtag or keyword to search for (without the leading #).\n */\n query: string;\n}\n\nexport interface TiktokSearchHashtagVideo {\n author: string;\n caption: string;\n comments: number;\n createdAt: number;\n id: string;\n likes: number;\n shares: number;\n views: number;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of TikTok Hashtag Search (tiktok.search_hashtag).\n */\nexport interface TiktokSearchHashtagData {\n videos: TiktokSearchHashtagVideo[];\n}\n\n/**\n * Input for TikTok Keyword Search (tiktok.search_keyword).\n */\nexport interface TiktokSearchKeywordInput {\n /**\n * Pagination cursor from a previous response.\n */\n cursor?: string;\n /**\n * Time frame filter (e.g. 0=any, 1=past 24h, 7=past week).\n */\n datePosted?: string;\n /**\n * The keyword to search TikTok for.\n */\n query: string;\n /**\n * Sort order (e.g. 0=relevance, 1=most liked).\n */\n sortBy?: string;\n}\n\nexport interface TiktokSearchKeywordVideo {\n caption: string;\n comments: number;\n id: string;\n likes: number;\n region: string;\n shares: number;\n views: number;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of TikTok Keyword Search (tiktok.search_keyword).\n */\nexport interface TiktokSearchKeywordData {\n videos: TiktokSearchKeywordVideo[];\n}\n\n/**\n * Input for TikTok Top Search (tiktok.search_top).\n */\nexport interface TiktokSearchTopInput {\n /**\n * Pagination cursor from a previous response.\n */\n cursor?: string;\n /**\n * Time-frame filter: yesterday, this-week, this-month, last-3-months, last-6-months, all-time.\n */\n publishTime?: string;\n /**\n * Keyword to search for (e.g. \"funny\").\n */\n query: string;\n /**\n * 2-letter country code for the proxy location (e.g. US, GB, FR).\n */\n region?: string;\n /**\n * Sort order: relevance, most-liked, date-posted.\n */\n sortBy?: string;\n}\n\nexport interface TiktokSearchTopItem {\n author: string;\n caption: string;\n comments: number;\n contentType: string;\n id: string;\n likes: number;\n shares: number;\n url: string;\n views: number;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of TikTok Top Search (tiktok.search_top).\n */\nexport interface TiktokSearchTopData {\n items: TiktokSearchTopItem[];\n nextCursor: string;\n}\n\n/**\n * Input for TikTok User Search (tiktok.search_users).\n */\nexport interface TiktokSearchUsersInput {\n /**\n * Pagination cursor from a previous response's nextCursor.\n */\n cursor?: string;\n /**\n * The keyword to search TikTok accounts for.\n */\n query: string;\n}\n\nexport interface TiktokSearchUsersUser {\n followers: number;\n following: number;\n handle: string;\n nickname: string;\n userId: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of TikTok User Search (tiktok.search_users).\n */\nexport interface TiktokSearchUsersData {\n nextCursor: string;\n users: TiktokSearchUsersUser[];\n}\n\n/**\n * Input for TikTok Song (tiktok.song).\n */\nexport interface TiktokSongInput {\n /**\n * The clip identifier for the song, found in TikTok music URLs (e.g. 7439295283975702544).\n */\n clipId: string;\n}\n\n/**\n * The `data` payload of TikTok Song (tiktok.song).\n */\nexport interface TiktokSongData {\n album: string;\n author: string;\n coverUrl: string;\n duration: number;\n isOriginal: boolean;\n shareUrl: string;\n songId: string;\n title: string;\n videoCount: number;\n [extra: string]: unknown;\n}\n\n/**\n * Input for TikTok Song Videos (tiktok.song_videos).\n */\nexport interface TiktokSongVideosInput {\n /**\n * The song ID found in TikTok music URLs (e.g. 7439295283975702544).\n */\n clipId: string;\n /**\n * Pagination cursor for retrieving the next page of results.\n */\n cursor?: string;\n}\n\nexport interface TiktokSongVideosVideo {\n authorHandle: string;\n authorName: string;\n commentCount: number;\n createTime: number;\n description: string;\n likeCount: number;\n playCount: number;\n shareCount: number;\n videoId: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of TikTok Song Videos (tiktok.song_videos).\n */\nexport interface TiktokSongVideosData {\n hasMore: number;\n nextCursor: string;\n videos: TiktokSongVideosVideo[];\n}\n\n/**\n * Input for TikTok Trending Feed (tiktok.trending_feed).\n */\nexport interface TiktokTrendingFeedInput {\n /**\n * 2-letter country code for the proxy location (e.g. \"US\").\n */\n region: string;\n /**\n * Set to true to return a simplified response.\n */\n trim?: string;\n}\n\nexport interface TiktokTrendingFeedVideo {\n author: string;\n caption: string;\n comments: number;\n createdAt: number;\n id: string;\n likes: number;\n region: string;\n shares: number;\n url: string;\n views: number;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of TikTok Trending Feed (tiktok.trending_feed).\n */\nexport interface TiktokTrendingFeedData {\n videos: TiktokTrendingFeedVideo[];\n}\n\n/**\n * Input for TikTok Video (tiktok.video).\n */\nexport interface TiktokVideoInput {\n /**\n * Full TikTok video URL.\n */\n url: string;\n}\n\n/**\n * The `data` payload of TikTok Video (tiktok.video).\n */\nexport interface TiktokVideoData {\n caption: string;\n comments: number;\n id: string;\n likes: number;\n region: string;\n saves: number;\n shares: number;\n views: number;\n [extra: string]: unknown;\n}\n\n/**\n * Input for TikTok Video Comments (tiktok.video_comments).\n */\nexport interface TiktokVideoCommentsInput {\n /**\n * Pagination cursor from a previous response's nextCursor.\n */\n cursor?: string;\n /**\n * Full TikTok video URL.\n */\n url: string;\n}\n\nexport interface TiktokVideoCommentsComment {\n author: string;\n createdAt: number;\n id: string;\n likes: number;\n replies: number;\n text: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of TikTok Video Comments (tiktok.video_comments).\n */\nexport interface TiktokVideoCommentsData {\n comments: TiktokVideoCommentsComment[];\n nextCursor: string;\n}\n\n/**\n * Input for TikTok Video Transcript (tiktok.video_transcript).\n */\nexport interface TiktokVideoTranscriptInput {\n /**\n * Full TikTok video URL.\n */\n url: string;\n}\n\n/**\n * The `data` payload of TikTok Video Transcript (tiktok.video_transcript).\n */\nexport interface TiktokVideoTranscriptData {\n language: string;\n transcript: string;\n [extra: string]: unknown;\n}\n\n/**\n * Typed methods for the tiktok platform. Attached to the AnyAPI client as\n * `client.tiktok`.\n */\nexport class TiktokNamespace {\n constructor(private readonly _core: ClientCore) {}\n\n /**\n * TikTok Ad Library Ad\n *\n * Fetch full details for a single TikTok ad - brand, title, spend, CTR, objectives, landing page, and video info - normalized across providers with transparent failover.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.tiktok.adLibraryAd({ adId: \"7648493525660270600\" });\n */\n adLibraryAd(\n input: TiktokAdLibraryAdInput,\n options?: RequestOptions,\n ): Promise<RunResult<TiktokAdLibraryAdData>> {\n return this._core.run(\"tiktok.ad_library_ad\", input, options);\n }\n\n /**\n * TikTok Ad Library Search\n *\n * Search TikTok's ad library by keyword - top ads with brand, title, spend, CTR, likes, and video info - normalized across providers with transparent failover.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.tiktok.adLibrarySearch({ query: \"spotify\" });\n */\n adLibrarySearch(\n input: TiktokAdLibrarySearchInput,\n options?: RequestOptions,\n ): Promise<RunResult<TiktokAdLibrarySearchData>> {\n return this._core.run(\"tiktok.ad_library_search\", input, options);\n }\n\n /**\n * Iterate every result of TikTok Ad Library Search across pages.\n *\n * Yields items directly; call `.pages()` on the return value to walk whole\n * result pages instead (each carries its own costUsd).\n */\n iterAdLibrarySearch(\n input: TiktokAdLibrarySearchInput,\n options?: RequestOptions,\n ): Paginator<TiktokAdLibrarySearchAd, RunResult<TiktokAdLibrarySearchData>> {\n return paginate<\n TiktokAdLibrarySearchAd,\n RunResult<TiktokAdLibrarySearchData>\n >(\n this._core,\n \"tiktok.ad_library_search\",\n input as unknown as Record<string, unknown>,\n \"ads\",\n false,\n options,\n );\n }\n\n /**\n * TikTok Audience Demographics\n *\n * Get the audience country breakdown (follower count and share per country) for a TikTok creator by handle, normalized across providers.\n *\n * Price: $0.01625 per request.\n *\n * @example\n * const res = await client.tiktok.audienceDemographics({ handle: \"shakira\" });\n */\n audienceDemographics(\n input: TiktokAudienceDemographicsInput,\n options?: RequestOptions,\n ): Promise<RunResult<TiktokAudienceDemographicsData>> {\n return this._core.run(\"tiktok.audience_demographics\", input, options);\n }\n\n /**\n * TikTok Comment Replies\n *\n * List the replies to a TikTok comment with cursor pagination (text, author, likes), normalized across providers.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.tiktok.commentReplies({ commentId: \"7623828115408274207\", url: \"https://www.tiktok.com/@stoolpresidente/video/7623818255903329566\" });\n */\n commentReplies(\n input: TiktokCommentRepliesInput,\n options?: RequestOptions,\n ): Promise<RunResult<TiktokCommentRepliesData>> {\n return this._core.run(\"tiktok.comment_replies\", input, options);\n }\n\n /**\n * Iterate every result of TikTok Comment Replies across pages.\n *\n * Yields items directly; call `.pages()` on the return value to walk whole\n * result pages instead (each carries its own costUsd).\n */\n iterCommentReplies(\n input: TiktokCommentRepliesInput,\n options?: RequestOptions,\n ): Paginator<\n TiktokCommentRepliesComment,\n RunResult<TiktokCommentRepliesData>\n > {\n return paginate<\n TiktokCommentRepliesComment,\n RunResult<TiktokCommentRepliesData>\n >(\n this._core,\n \"tiktok.comment_replies\",\n input as unknown as Record<string, unknown>,\n \"comments\",\n false,\n options,\n );\n }\n\n /**\n * TikTok Followers\n *\n * List the followers of a TikTok account by username, returning each follower's profile basics, with transparent per-request USD pricing.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.tiktok.followers({ handle: \"stoolpresidente\" });\n */\n followers(\n input: TiktokFollowersInput,\n options?: RequestOptions,\n ): Promise<RunResult<TiktokFollowersData>> {\n return this._core.run(\"tiktok.followers\", input, options);\n }\n\n /**\n * Iterate every result of TikTok Followers across pages.\n *\n * Yields items directly; call `.pages()` on the return value to walk whole\n * result pages instead (each carries its own costUsd).\n */\n iterFollowers(\n input: TiktokFollowersInput,\n options?: RequestOptions,\n ): Paginator<TiktokFollowersFollower, RunResult<TiktokFollowersData>> {\n return paginate<TiktokFollowersFollower, RunResult<TiktokFollowersData>>(\n this._core,\n \"tiktok.followers\",\n input as unknown as Record<string, unknown>,\n \"followers\",\n false,\n options,\n );\n }\n\n /**\n * TikTok Following\n *\n * List the accounts a TikTok user follows (handle, display name, follower count, bio) by username, normalized across providers.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.tiktok.following({ handle: \"stoolpresidente\" });\n */\n following(\n input: TiktokFollowingInput,\n options?: RequestOptions,\n ): Promise<RunResult<TiktokFollowingData>> {\n return this._core.run(\"tiktok.following\", input, options);\n }\n\n /**\n * TikTok Hashtag Videos\n *\n * List recent TikTok videos for a hashtag (creator, caption, views, likes, shares), normalized output with transparent per-request USD pricing.\n *\n * Price: $0.00325 per request.\n *\n * @example\n * const res = await client.tiktok.hashtagVideos({ hashtag: \"cooking\", limit: 3 });\n */\n hashtagVideos(\n input: TiktokHashtagVideosInput,\n options?: RequestOptions,\n ): Promise<RunResult<TiktokHashtagVideosData>> {\n return this._core.run(\"tiktok.hashtag_videos\", input, options);\n }\n\n /**\n * TikTok Live\n *\n * Check whether a TikTok creator is live and get the current live room (title, viewers, start time) by handle, normalized across providers.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.tiktok.live({ handle: \"thejustalex\" });\n */\n live(\n input: TiktokLiveInput,\n options?: RequestOptions,\n ): Promise<RunResult<TiktokLiveData>> {\n return this._core.run(\"tiktok.live\", input, options);\n }\n\n /**\n * TikTok Profile\n *\n * Fetch a TikTok creator's public profile (followers, likes, bio, verification) by handle, normalized across providers with transparent failover.\n *\n * Price: $0.001 per request.\n *\n * @example\n * const res = await client.tiktok.profile({ handle: \"zachking\" });\n */\n profile(\n input: TiktokProfileInput,\n options?: RequestOptions,\n ): Promise<RunResult<TiktokProfileData>> {\n return this._core.run(\"tiktok.profile\", input, options);\n }\n\n /**\n * TikTok Profile Region\n *\n * Resolve the home region (country) of a TikTok creator by handle, normalized across providers with transparent failover.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.tiktok.profileRegion({ handle: \"stoolpresidente\" });\n */\n profileRegion(\n input: TiktokProfileRegionInput,\n options?: RequestOptions,\n ): Promise<RunResult<TiktokProfileRegionData>> {\n return this._core.run(\"tiktok.profile_region\", input, options);\n }\n\n /**\n * TikTok Profile Videos\n *\n * List a TikTok creator's recent videos (views, likes, comments) by handle with cursor pagination, normalized across providers.\n *\n * Price: $0.001 per request.\n *\n * @example\n * const res = await client.tiktok.profileVideos({ handle: \"zachking\" });\n */\n profileVideos(\n input: TiktokProfileVideosInput,\n options?: RequestOptions,\n ): Promise<RunResult<TiktokProfileVideosData>> {\n return this._core.run(\"tiktok.profile_videos\", input, options);\n }\n\n /**\n * Iterate every result of TikTok Profile Videos across pages.\n *\n * Yields items directly; call `.pages()` on the return value to walk whole\n * result pages instead (each carries its own costUsd).\n */\n iterProfileVideos(\n input: TiktokProfileVideosInput,\n options?: RequestOptions,\n ): Paginator<TiktokProfileVideosVideo, RunResult<TiktokProfileVideosData>> {\n return paginate<\n TiktokProfileVideosVideo,\n RunResult<TiktokProfileVideosData>\n >(\n this._core,\n \"tiktok.profile_videos\",\n input as unknown as Record<string, unknown>,\n \"videos\",\n false,\n options,\n );\n }\n\n /**\n * TikTok Hashtag Search\n *\n * Search TikTok by hashtag and get matching videos (caption, views, likes, comments, shares) as normalized JSON, across providers with transparent failover.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.tiktok.searchHashtag({ query: \"recipe\" });\n */\n searchHashtag(\n input: TiktokSearchHashtagInput,\n options?: RequestOptions,\n ): Promise<RunResult<TiktokSearchHashtagData>> {\n return this._core.run(\"tiktok.search_hashtag\", input, options);\n }\n\n /**\n * TikTok Keyword Search\n *\n * Search TikTok by keyword and get matching videos (caption, views, likes, comments, shares) as normalized JSON, across providers with transparent failover.\n *\n * Price: $0.001 per request.\n *\n * @example\n * const res = await client.tiktok.searchKeyword({ query: \"cooking\" });\n */\n searchKeyword(\n input: TiktokSearchKeywordInput,\n options?: RequestOptions,\n ): Promise<RunResult<TiktokSearchKeywordData>> {\n return this._core.run(\"tiktok.search_keyword\", input, options);\n }\n\n /**\n * TikTok Top Search\n *\n * Search TikTok's top results for a keyword (caption, views, likes, comments, shares) with cursor pagination, normalized across providers.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.tiktok.searchTop({ query: \"funny\" });\n */\n searchTop(\n input: TiktokSearchTopInput,\n options?: RequestOptions,\n ): Promise<RunResult<TiktokSearchTopData>> {\n return this._core.run(\"tiktok.search_top\", input, options);\n }\n\n /**\n * Iterate every result of TikTok Top Search across pages.\n *\n * Yields items directly; call `.pages()` on the return value to walk whole\n * result pages instead (each carries its own costUsd).\n */\n iterSearchTop(\n input: TiktokSearchTopInput,\n options?: RequestOptions,\n ): Paginator<TiktokSearchTopItem, RunResult<TiktokSearchTopData>> {\n return paginate<TiktokSearchTopItem, RunResult<TiktokSearchTopData>>(\n this._core,\n \"tiktok.search_top\",\n input as unknown as Record<string, unknown>,\n \"items\",\n false,\n options,\n );\n }\n\n /**\n * TikTok User Search\n *\n * Search TikTok accounts by keyword (handle, nickname, follower count) with cursor pagination, normalized across providers.\n *\n * Price: $0.001 per request.\n *\n * @example\n * const res = await client.tiktok.searchUsers({ query: \"chef\" });\n */\n searchUsers(\n input: TiktokSearchUsersInput,\n options?: RequestOptions,\n ): Promise<RunResult<TiktokSearchUsersData>> {\n return this._core.run(\"tiktok.search_users\", input, options);\n }\n\n /**\n * Iterate every result of TikTok User Search across pages.\n *\n * Yields items directly; call `.pages()` on the return value to walk whole\n * result pages instead (each carries its own costUsd).\n */\n iterSearchUsers(\n input: TiktokSearchUsersInput,\n options?: RequestOptions,\n ): Paginator<TiktokSearchUsersUser, RunResult<TiktokSearchUsersData>> {\n return paginate<TiktokSearchUsersUser, RunResult<TiktokSearchUsersData>>(\n this._core,\n \"tiktok.search_users\",\n input as unknown as Record<string, unknown>,\n \"users\",\n false,\n options,\n );\n }\n\n /**\n * TikTok Song\n *\n * Fetch details for a TikTok song or sound - title, author, duration, cover art, and how many videos use it - normalized across providers with transparent failover.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.tiktok.song({ clipId: \"7439295283975702544\" });\n */\n song(\n input: TiktokSongInput,\n options?: RequestOptions,\n ): Promise<RunResult<TiktokSongData>> {\n return this._core.run(\"tiktok.song\", input, options);\n }\n\n /**\n * TikTok Song Videos\n *\n * List TikTok videos that use a given song or sound - with descriptions, authors, and engagement stats - normalized across providers with transparent failover.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.tiktok.songVideos({ clipId: \"7439295283975702544\" });\n */\n songVideos(\n input: TiktokSongVideosInput,\n options?: RequestOptions,\n ): Promise<RunResult<TiktokSongVideosData>> {\n return this._core.run(\"tiktok.song_videos\", input, options);\n }\n\n /**\n * Iterate every result of TikTok Song Videos across pages.\n *\n * Yields items directly; call `.pages()` on the return value to walk whole\n * result pages instead (each carries its own costUsd).\n */\n iterSongVideos(\n input: TiktokSongVideosInput,\n options?: RequestOptions,\n ): Paginator<TiktokSongVideosVideo, RunResult<TiktokSongVideosData>> {\n return paginate<TiktokSongVideosVideo, RunResult<TiktokSongVideosData>>(\n this._core,\n \"tiktok.song_videos\",\n input as unknown as Record<string, unknown>,\n \"videos\",\n false,\n options,\n );\n }\n\n /**\n * TikTok Trending Feed\n *\n * Get TikTok's trending feed for a region (caption, views, likes, comments, author) as normalized JSON, across providers with transparent failover.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.tiktok.trendingFeed({ region: \"US\" });\n */\n trendingFeed(\n input: TiktokTrendingFeedInput,\n options?: RequestOptions,\n ): Promise<RunResult<TiktokTrendingFeedData>> {\n return this._core.run(\"tiktok.trending_feed\", input, options);\n }\n\n /**\n * TikTok Video\n *\n * Fetch a single TikTok video by URL with its caption and engagement counts (views, likes, comments, shares, saves), normalized across providers with transparent failover.\n *\n * Price: $0.001 per request.\n *\n * @example\n * const res = await client.tiktok.video({ url: \"https://www.tiktok.com/@mrbeast/video/7654638524729216287?_r=1&u_code=elgjf3ff8cajhk&preview_pb=0&sharer_language=en&_d=elh6737j6kjl71&share_item_id=7654638524729216287&source=h5_m\" });\n */\n video(\n input: TiktokVideoInput,\n options?: RequestOptions,\n ): Promise<RunResult<TiktokVideoData>> {\n return this._core.run(\"tiktok.video\", input, options);\n }\n\n /**\n * TikTok Video Comments\n *\n * List the comments on a TikTok video by URL with cursor pagination (text, author, likes, reply count), normalized across providers.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.tiktok.videoComments({ url: \"https://www.tiktok.com/@zachking/video/7650468599424945422?_r=1&u_code=f0hj7d780760m9&preview_pb=0&sharer_language=en&_d=f0hj7blh067h71&share_item_id=7650468599424945422&source=h5_m\" });\n */\n videoComments(\n input: TiktokVideoCommentsInput,\n options?: RequestOptions,\n ): Promise<RunResult<TiktokVideoCommentsData>> {\n return this._core.run(\"tiktok.video_comments\", input, options);\n }\n\n /**\n * Iterate every result of TikTok Video Comments across pages.\n *\n * Yields items directly; call `.pages()` on the return value to walk whole\n * result pages instead (each carries its own costUsd).\n */\n iterVideoComments(\n input: TiktokVideoCommentsInput,\n options?: RequestOptions,\n ): Paginator<TiktokVideoCommentsComment, RunResult<TiktokVideoCommentsData>> {\n return paginate<\n TiktokVideoCommentsComment,\n RunResult<TiktokVideoCommentsData>\n >(\n this._core,\n \"tiktok.video_comments\",\n input as unknown as Record<string, unknown>,\n \"comments\",\n false,\n options,\n );\n }\n\n /**\n * TikTok Video Transcript\n *\n * Fetch the spoken-word transcript of a TikTok video by URL, normalized across providers with transparent failover.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.tiktok.videoTranscript({ url: \"https://www.tiktok.com/@washingtonpost/video/7609177768793787679\" });\n */\n videoTranscript(\n input: TiktokVideoTranscriptInput,\n options?: RequestOptions,\n ): Promise<RunResult<TiktokVideoTranscriptData>> {\n return this._core.run(\"tiktok.video_transcript\", input, options);\n }\n}\n","// Generated - do not edit. Regenerate with: pnpm generate\n\nimport type {\n ClientCore,\n Paginator,\n RequestOptions,\n RunResult,\n} from \"../../core/index.js\";\nimport { paginate } from \"../../core/index.js\";\n\n/**\n * Input for TikTok Shop Product (tiktok_shop.product).\n */\nexport interface TiktokShopProductInput {\n /**\n * Two-letter country code for the proxy location used to access region-specific products (e.g. US, GB, FR). Defaults to US.\n */\n region?: string;\n /**\n * TikTok Shop product detail page URL (e.g. https://www.tiktok.com/shop/pdp/.../1729587769570529799).\n */\n url: string;\n}\n\n/**\n * The `data` payload of TikTok Shop Product (tiktok_shop.product).\n */\nexport interface TiktokShopProductData {\n currency: string;\n originalPrice: string;\n price: string;\n productId: string;\n rating: number;\n reviewCount: number;\n sellerLocation: string;\n sellerName: string;\n soldCount: number;\n title: string;\n [extra: string]: unknown;\n}\n\n/**\n * Input for TikTok Shop Product Reviews (tiktok_shop.product_reviews).\n */\nexport interface TiktokShopProductReviewsInput {\n /**\n * 1-based results page. Use with hasMore in the output to paginate.\n * Range: minimum 1.\n * Default: 1.\n */\n page?: number;\n /**\n * Two-letter country code of the product's shop region (e.g. US). Strongly recommended for correct results.\n */\n region?: string;\n /**\n * TikTok Shop product URL (e.g. https://www.tiktok.com/shop/pdp/.../1729385633899532161).\n */\n url: string;\n}\n\nexport interface TiktokShopProductReviewsReview {\n country: string;\n /**\n * Review time as epoch milliseconds.\n */\n createdAt: string;\n id: string;\n rating: number;\n reviewerName: string;\n /**\n * Variant bought, e.g. \"Color: Black\".\n */\n sku: string;\n text: string;\n verifiedPurchase: boolean;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of TikTok Shop Product Reviews (tiktok_shop.product_reviews).\n */\nexport interface TiktokShopProductReviewsData {\n hasMore: boolean;\n /**\n * Overall product score (1-5).\n */\n rating: number;\n reviews: TiktokShopProductReviewsReview[];\n totalReviews: number;\n}\n\n/**\n * Input for TikTok Shop Search (tiktok_shop.search).\n */\nexport interface TiktokShopSearchInput {\n /**\n * Country code of the TikTok Shop market to search (e.g. US).\n * One of: US, VN, TH, PH, MY, ID, GB, SG, ES, MX, DE, IT, FR, BR, JP.\n * Default: US.\n */\n country?:\n | \"US\"\n | \"VN\"\n | \"TH\"\n | \"PH\"\n | \"MY\"\n | \"ID\"\n | \"GB\"\n | \"SG\"\n | \"ES\"\n | \"MX\"\n | \"DE\"\n | \"IT\"\n | \"FR\"\n | \"BR\"\n | \"JP\";\n /**\n * Maximum number of results to return (1-10, default 10). You are billed per result returned, so a lower limit costs less.\n * Range: minimum 1, maximum 10.\n */\n limit?: number;\n /**\n * Search keyword for TikTok Shop products (e.g. wireless earbuds).\n */\n query: string;\n}\n\nexport interface TiktokShopSearchItem {\n /**\n * ISO currency name, e.g. USD.\n */\n currency?: string;\n /**\n * Pre-discount list price (0 when not on sale).\n */\n originalPrice?: number;\n /**\n * Current sale price.\n */\n price?: number;\n /**\n * TikTok Shop product id.\n */\n productId: string;\n /**\n * Average review score.\n */\n rating?: number;\n /**\n * Seller shop name.\n */\n shopName?: string;\n /**\n * Units sold.\n */\n soldCount?: number;\n /**\n * Product title.\n */\n title: string;\n /**\n * Canonical product detail page URL.\n * Present whenever the upstream returns this record.\n */\n url?: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of TikTok Shop Search (tiktok_shop.search).\n */\nexport interface TiktokShopSearchData {\n /**\n * Product records matching the search query: id, title, price, sales count, rating, seller, and product URL.\n */\n items: TiktokShopSearchItem[];\n}\n\n/**\n * Input for TikTok Shop Store Products (tiktok_shop.shop_products).\n */\nexport interface TiktokShopShopProductsInput {\n /**\n * Opaque pagination cursor from a previous response's nextCursor.\n */\n cursor?: string;\n /**\n * Two-letter country code of the store's market (e.g. US).\n */\n region?: string;\n /**\n * Product ordering within the store.\n * One of: top, new_releases.\n * Default: top.\n */\n sortBy?: \"top\" | \"new_releases\";\n /**\n * TikTok Shop store URL (e.g. https://www.tiktok.com/shop/store/...).\n */\n url: string;\n}\n\nexport interface TiktokShopShopProductsProduct {\n currency: string;\n originalPrice: number;\n price: number;\n productId: string;\n rating: number;\n reviewCount: number;\n soldCount: number;\n title: string;\n url: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of TikTok Shop Store Products (tiktok_shop.shop_products).\n */\nexport interface TiktokShopShopProductsData {\n hasMore: boolean;\n nextCursor: string;\n productCount: number;\n products: TiktokShopShopProductsProduct[];\n shopName: string;\n shopRating: number;\n soldCount: number;\n}\n\n/**\n * Input for TikTok Shop User Showcase (tiktok_shop.user_showcase).\n */\nexport interface TiktokShopUserShowcaseInput {\n /**\n * Pagination token for retrieving subsequent product pages.\n */\n cursor?: string;\n /**\n * The handle of the TikTok user (e.g. mrtiktokreviews).\n */\n handle: string;\n /**\n * Geographical region for proxy placement (defaults to US).\n */\n region?: string;\n}\n\nexport interface TiktokShopUserShowcaseProduct {\n currency: string;\n imageUrl: string;\n originalPrice: string;\n price: string;\n productId: string;\n rating: number;\n reviewCount: number;\n soldCount: number;\n title: string;\n url: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of TikTok Shop User Showcase (tiktok_shop.user_showcase).\n */\nexport interface TiktokShopUserShowcaseData {\n nextCursor: string;\n products: TiktokShopUserShowcaseProduct[];\n}\n\n/**\n * Typed methods for the tiktok_shop platform. Attached to the AnyAPI client as\n * `client.tiktokShop`.\n */\nexport class TiktokShopNamespace {\n constructor(private readonly _core: ClientCore) {}\n\n /**\n * TikTok Shop Product\n *\n * Fetch TikTok Shop product details - title, price, sales, seller, and ratings - from a product URL, with transparent per-request USD pricing.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.tiktokShop.product({ url: \"https://www.tiktok.com/shop/pdp/goli-ashwagandha-gummies-with-vitamin-d-ksm-66-vegan-non-gmo/1729587769570529799\" });\n */\n product(\n input: TiktokShopProductInput,\n options?: RequestOptions,\n ): Promise<RunResult<TiktokShopProductData>> {\n return this._core.run(\"tiktok_shop.product\", input, options);\n }\n\n /**\n * TikTok Shop Product Reviews\n *\n * Fetch customer reviews for a TikTok Shop product by URL - rating, text, reviewer, country, and verified-purchase flag - normalized across providers with transparent failover.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.tiktokShop.productReviews({ url: \"https://www.tiktok.com/shop/pdp/cat-nail-clipper-by-potaroma-adjustable-sizes-built-in-file-safe-for-kittens-cats/1731578642912612516\" });\n */\n productReviews(\n input: TiktokShopProductReviewsInput,\n options?: RequestOptions,\n ): Promise<RunResult<TiktokShopProductReviewsData>> {\n return this._core.run(\"tiktok_shop.product_reviews\", input, options);\n }\n\n /**\n * TikTok Shop Search\n *\n * Search TikTok Shop products by keyword across 15 countries: price, sales, rating, and seller info per product, in one normalized response.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.tiktokShop.search({ query: \"phone case\", limit: 3 });\n */\n search(\n input: TiktokShopSearchInput,\n options?: RequestOptions,\n ): Promise<RunResult<TiktokShopSearchData>> {\n return this._core.run(\"tiktok_shop.search\", input, options);\n }\n\n /**\n * TikTok Shop Store Products\n *\n * List every product of a TikTok Shop store by URL - title, price, sales, and rating per product plus shop-level stats - with cursor pagination and transparent failover.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.tiktokShop.shopProducts({ url: \"https://www.tiktok.com/shop/store/goli-nutrition/7495794203056835079\" });\n */\n shopProducts(\n input: TiktokShopShopProductsInput,\n options?: RequestOptions,\n ): Promise<RunResult<TiktokShopShopProductsData>> {\n return this._core.run(\"tiktok_shop.shop_products\", input, options);\n }\n\n /**\n * Iterate every result of TikTok Shop Store Products across pages.\n *\n * Yields items directly; call `.pages()` on the return value to walk whole\n * result pages instead (each carries its own costUsd).\n */\n iterShopProducts(\n input: TiktokShopShopProductsInput,\n options?: RequestOptions,\n ): Paginator<\n TiktokShopShopProductsProduct,\n RunResult<TiktokShopShopProductsData>\n > {\n return paginate<\n TiktokShopShopProductsProduct,\n RunResult<TiktokShopShopProductsData>\n >(\n this._core,\n \"tiktok_shop.shop_products\",\n input as unknown as Record<string, unknown>,\n \"products\",\n false,\n options,\n );\n }\n\n /**\n * TikTok Shop User Showcase\n *\n * List the TikTok Shop products a creator showcases - title, price, rating, and sales per product - normalized across providers with transparent failover.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.tiktokShop.userShowcase({ handle: \"mrtiktokreviews\" });\n */\n userShowcase(\n input: TiktokShopUserShowcaseInput,\n options?: RequestOptions,\n ): Promise<RunResult<TiktokShopUserShowcaseData>> {\n return this._core.run(\"tiktok_shop.user_showcase\", input, options);\n }\n\n /**\n * Iterate every result of TikTok Shop User Showcase across pages.\n *\n * Yields items directly; call `.pages()` on the return value to walk whole\n * result pages instead (each carries its own costUsd).\n */\n iterUserShowcase(\n input: TiktokShopUserShowcaseInput,\n options?: RequestOptions,\n ): Paginator<\n TiktokShopUserShowcaseProduct,\n RunResult<TiktokShopUserShowcaseData>\n > {\n return paginate<\n TiktokShopUserShowcaseProduct,\n RunResult<TiktokShopUserShowcaseData>\n >(\n this._core,\n \"tiktok_shop.user_showcase\",\n input as unknown as Record<string, unknown>,\n \"products\",\n false,\n options,\n );\n }\n}\n","// Generated - do not edit. Regenerate with: pnpm generate\n\nimport type {\n ClientCore,\n RequestOptions,\n RunResult,\n} from \"../../core/index.js\";\n\n/**\n * Input for Tripadvisor Reviews (tripadvisor.reviews).\n */\nexport interface TripadvisorReviewsInput {\n /**\n * Maximum number of results to return (1-20, default 20). You are billed per result returned, so a lower limit costs less.\n * Range: minimum 1, maximum 20.\n */\n limit?: number;\n /**\n * Only return reviews newer than this date, YYYY-MM-DD or a relative window like '3 months' (e.g. 2026-01-01).\n */\n since?: string;\n /**\n * Tripadvisor page URL of the hotel, restaurant, or attraction.\n */\n url: string;\n}\n\nexport interface TripadvisorReviewsItem {\n /**\n * Publish date.\n * Present whenever the upstream returns this record.\n */\n publishedAt?: string;\n /**\n * Star rating (typically 1-5).\n */\n rating: number;\n /**\n * Review body text.\n */\n text: string;\n /**\n * Present whenever the upstream returns this record.\n */\n title?: string;\n /**\n * Canonical review URL.\n * Present whenever the upstream returns this record.\n */\n url?: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Tripadvisor Reviews (tripadvisor.reviews).\n */\nexport interface TripadvisorReviewsData {\n /**\n * Review records for the place: rating, title, review text, publish date, trip type, and reviewer details.\n */\n items: TripadvisorReviewsItem[];\n}\n\n/**\n * Input for Tripadvisor Search (tripadvisor.search).\n */\nexport interface TripadvisorSearchInput {\n /**\n * ISO currency code for prices (e.g. USD, EUR).\n * Default: USD.\n */\n currency?: string;\n /**\n * Maximum number of results to return (1-20, default 20). You are billed per result returned, so a lower limit costs less.\n * Range: minimum 1, maximum 20.\n */\n limit?: number;\n /**\n * Destination or keyword to search for (e.g. Barcelona).\n */\n query: string;\n}\n\nexport interface TripadvisorSearchItem {\n rating: number;\n title: string;\n url: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Tripadvisor Search (tripadvisor.search).\n */\nexport interface TripadvisorSearchData {\n /**\n * Matching place records: name, type (hotel/restaurant/attraction), rating, review count, address, contact details, and pricing.\n */\n items: TripadvisorSearchItem[];\n}\n\n/**\n * Typed methods for the tripadvisor platform. Attached to the AnyAPI client as\n * `client.tripadvisor`.\n */\nexport class TripadvisorNamespace {\n constructor(private readonly _core: ClientCore) {}\n\n /**\n * Tripadvisor Reviews\n *\n * Fetch the latest reviews for any Tripadvisor hotel, restaurant, or attraction by its page URL - rating, text, date, and trip details as normalized JSON with transparent per-request USD pricing.\n *\n * Price: $0.00325 per request.\n *\n * @example\n * const res = await client.tripadvisor.reviews({ url: \"https://www.tripadvisor.com/Hotel_Review-g60763-d93450-Reviews-The_Plaza-New_York_City_New_York.html\", limit: 3 });\n */\n reviews(\n input: TripadvisorReviewsInput,\n options?: RequestOptions,\n ): Promise<RunResult<TripadvisorReviewsData>> {\n return this._core.run(\"tripadvisor.reviews\", input, options);\n }\n\n /**\n * Tripadvisor Search\n *\n * Search Tripadvisor for hotels, restaurants, and attractions in any destination and get rich place records (ratings, review counts, contact details, pricing) as normalized JSON with transparent per-request USD pricing.\n *\n * Price: $0.00325 per request.\n *\n * @example\n * const res = await client.tripadvisor.search({ query: \"Paris\", limit: 3 });\n */\n search(\n input: TripadvisorSearchInput,\n options?: RequestOptions,\n ): Promise<RunResult<TripadvisorSearchData>> {\n return this._core.run(\"tripadvisor.search\", input, options);\n }\n}\n","// Generated - do not edit. Regenerate with: pnpm generate\n\nimport type {\n ClientCore,\n RequestOptions,\n RunResult,\n} from \"../../core/index.js\";\n\n/**\n * Input for Trustpilot Reviews (trustpilot.reviews).\n */\nexport interface TrustpilotReviewsInput {\n /**\n * Brand name or Trustpilot review-page URL to fetch reviews for (e.g. nike or https://www.trustpilot.com/review/nike.com).\n */\n company: string;\n /**\n * Maximum number of results to return (1-50, default 50). You are billed per result returned, so a lower limit costs less.\n * Range: minimum 1, maximum 50.\n */\n limit?: number;\n /**\n * Review ordering: auto, relevancy, or recent (e.g. recent).\n * Default: auto.\n */\n sortBy?: string;\n /**\n * Limit reviews to a single star rating from 1 to 5 (e.g. 5); omit for all ratings.\n */\n stars?: string;\n /**\n * Set true to return only verified reviews (e.g. true).\n * Default: false.\n */\n verifiedOnly?: boolean;\n}\n\nexport interface TrustpilotReviewsItem {\n /**\n * Publish date (ISO 8601).\n * Present whenever the upstream returns this record.\n */\n publishedAt?: string;\n /**\n * Star rating (1-5).\n */\n rating: number;\n /**\n * Review body text.\n */\n text: string;\n /**\n * Present whenever the upstream returns this record.\n */\n title?: string;\n /**\n * Canonical review URL.\n * Present whenever the upstream returns this record.\n */\n url?: string;\n /**\n * Whether the reviewer is verified.\n */\n verified?: boolean;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Trustpilot Reviews (trustpilot.reviews).\n */\nexport interface TrustpilotReviewsData {\n /**\n * Review records: star rating, review title and text, date, reviewer name and country, and company reply when present.\n */\n items: TrustpilotReviewsItem[];\n}\n\n/**\n * Typed methods for the trustpilot platform. Attached to the AnyAPI client as\n * `client.trustpilot`.\n */\nexport class TrustpilotNamespace {\n constructor(private readonly _core: ClientCore) {}\n\n /**\n * Trustpilot Reviews\n *\n * Pull Trustpilot reviews for any company by brand name - star ratings, review text, dates, and reviewer details as clean JSON, billed per request in USD.\n *\n * Price: $0.01625 per request.\n *\n * @example\n * const res = await client.trustpilot.reviews({ company: \"stripe.com\", limit: 3 });\n */\n reviews(\n input: TrustpilotReviewsInput,\n options?: RequestOptions,\n ): Promise<RunResult<TrustpilotReviewsData>> {\n return this._core.run(\"trustpilot.reviews\", input, options);\n }\n}\n","// Generated - do not edit. Regenerate with: pnpm generate\n\nimport type {\n ClientCore,\n RequestOptions,\n RunResult,\n} from \"../../core/index.js\";\n\n/**\n * Input for Truth Social Post (truthsocial.post).\n */\nexport interface TruthsocialPostInput {\n /**\n * Full Truth Social post URL, e.g. \"https://truthsocial.com/@realDonaldTrump/posts/116824551176646175\".\n */\n url: string;\n}\n\n/**\n * The `data` payload of Truth Social Post (truthsocial.post).\n */\nexport interface TruthsocialPostData {\n comments: number;\n displayName: string;\n id: string;\n likes: number;\n publishedAt: string;\n shares: number;\n text: string;\n username: string;\n [extra: string]: unknown;\n}\n\n/**\n * Input for Truth Social Profile (truthsocial.profile).\n */\nexport interface TruthsocialProfileInput {\n /**\n * Truth Social handle without the @, e.g. \"realDonaldTrump\".\n */\n handle: string;\n}\n\n/**\n * The `data` payload of Truth Social Profile (truthsocial.profile).\n */\nexport interface TruthsocialProfileData {\n avatarUrl: string;\n bio: string;\n displayName: string;\n followers: number;\n following: number;\n id: string;\n joinedAt: string;\n postsCount: number;\n private: boolean;\n url: string;\n username: string;\n verified: boolean;\n [extra: string]: unknown;\n}\n\n/**\n * Input for Truth Social User Posts (truthsocial.user_posts).\n */\nexport interface TruthsocialUserPostsInput {\n /**\n * Truth Social handle without the @, e.g. \"realDonaldTrump\".\n */\n handle: string;\n}\n\nexport interface TruthsocialUserPostsPost {\n comments: number;\n id: string;\n likes: number;\n publishedAt: string;\n shares: number;\n text: string;\n url: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Truth Social User Posts (truthsocial.user_posts).\n */\nexport interface TruthsocialUserPostsData {\n posts: TruthsocialUserPostsPost[];\n}\n\n/**\n * Typed methods for the truthsocial platform. Attached to the AnyAPI client as\n * `client.truthsocial`.\n */\nexport class TruthsocialNamespace {\n constructor(private readonly _core: ClientCore) {}\n\n /**\n * Truth Social Post\n *\n * Get a single Truth Social post by its URL - text, author, engagement (likes, comments, shares), and timestamp as clean JSON, billed per request in USD.\n *\n * Price: $0.00325 per request.\n *\n * @example\n * const res = await client.truthsocial.post({ url: \"https://truthsocial.com/@realDonaldTrump/posts/116824551176646175\" });\n */\n post(\n input: TruthsocialPostInput,\n options?: RequestOptions,\n ): Promise<RunResult<TruthsocialPostData>> {\n return this._core.run(\"truthsocial.post\", input, options);\n }\n\n /**\n * Truth Social Profile\n *\n * Get a Truth Social account's public profile by handle - display name, bio, follower/following counts, and post count as clean JSON, billed per request in USD.\n *\n * Price: $0.00325 per request.\n *\n * @example\n * const res = await client.truthsocial.profile({ handle: \"realDonaldTrump\" });\n */\n profile(\n input: TruthsocialProfileInput,\n options?: RequestOptions,\n ): Promise<RunResult<TruthsocialProfileData>> {\n return this._core.run(\"truthsocial.profile\", input, options);\n }\n\n /**\n * Truth Social User Posts\n *\n * List a Truth Social account's recent posts by handle - text, engagement (likes, comments, shares), and timestamps as clean JSON, billed per request in USD.\n *\n * Price: $0.00325 per request.\n *\n * @example\n * const res = await client.truthsocial.userPosts({ handle: \"realDonaldTrump\" });\n */\n userPosts(\n input: TruthsocialUserPostsInput,\n options?: RequestOptions,\n ): Promise<RunResult<TruthsocialUserPostsData>> {\n return this._core.run(\"truthsocial.user_posts\", input, options);\n }\n}\n","// Generated - do not edit. Regenerate with: pnpm generate\n\nimport type {\n ClientCore,\n Paginator,\n RequestOptions,\n RunResult,\n} from \"../../core/index.js\";\nimport { paginate } from \"../../core/index.js\";\n\n/**\n * Input for Twitter Community (twitter.community).\n */\nexport interface TwitterCommunityInput {\n /**\n * Community URL (e.g. https://x.com/i/communities/1926186499399139650).\n */\n url: string;\n}\n\n/**\n * The `data` payload of Twitter Community (twitter.community).\n */\nexport interface TwitterCommunityData {\n createdAt: number;\n creatorHandle: string;\n description: string;\n id: string;\n joinPolicy: string;\n memberCount: number;\n name: string;\n [extra: string]: unknown;\n}\n\n/**\n * Input for Twitter Community Tweets (twitter.community_tweets).\n */\nexport interface TwitterCommunityTweetsInput {\n /**\n * Community URL (e.g. https://x.com/i/communities/1926186499399139650).\n */\n url: string;\n}\n\nexport interface TwitterCommunityTweetsTweet {\n authorHandle: string;\n createdAt: string;\n favoriteCount: number;\n id: string;\n quoteCount: number;\n replyCount: number;\n retweetCount: number;\n text: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Twitter Community Tweets (twitter.community_tweets).\n */\nexport interface TwitterCommunityTweetsData {\n tweets: TwitterCommunityTweetsTweet[];\n}\n\n/**\n * Input for X / Twitter Followers (twitter.followers).\n */\nexport interface TwitterFollowersInput {\n /**\n * Maximum number of results to return (1-100000, default 200). You are billed per result returned, so a lower limit costs less.\n * Range: minimum 1, maximum 100000.\n * Default: 200.\n */\n limit?: number;\n /**\n * The X (Twitter) username to fetch followers for, without the @ prefix (e.g. elonmusk).\n */\n username: string;\n}\n\nexport interface TwitterFollowersItem {\n /**\n * URL of the account's profile image (may be empty).\n */\n avatarUrl: string;\n /**\n * The account's profile bio/description.\n */\n bio: string;\n /**\n * How many followers this account has.\n */\n followers: number;\n /**\n * How many accounts this account follows.\n */\n following: number;\n /**\n * The account's self-reported location (may be empty).\n */\n location: string;\n /**\n * The account's display name.\n */\n name: string;\n /**\n * The account's @ handle, without the @ prefix.\n */\n username: string;\n /**\n * Whether the account is verified.\n */\n verified: boolean;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of X / Twitter Followers (twitter.followers).\n */\nexport interface TwitterFollowersData {\n /**\n * Follower records, normalized to a compact shape.\n */\n items: TwitterFollowersItem[];\n}\n\n/**\n * Input for X / Twitter Following (twitter.following).\n */\nexport interface TwitterFollowingInput {\n /**\n * Maximum number of results to return (1-100000, default 200). You are billed per result returned, so a lower limit costs less.\n * Range: minimum 1, maximum 100000.\n * Default: 200.\n */\n limit?: number;\n /**\n * The X (Twitter) username to fetch the following list for, without the @ prefix (e.g. elonmusk).\n */\n username: string;\n}\n\nexport interface TwitterFollowingItem {\n /**\n * URL of the account's profile image (may be empty).\n */\n avatarUrl: string;\n /**\n * The account's profile bio/description.\n */\n bio: string;\n /**\n * How many followers this account has.\n */\n followers: number;\n /**\n * How many accounts this account follows.\n */\n following: number;\n /**\n * The account's self-reported location (may be empty).\n */\n location: string;\n /**\n * The account's display name.\n */\n name: string;\n /**\n * The account's @ handle, without the @ prefix.\n */\n username: string;\n /**\n * Whether the account is verified.\n */\n verified: boolean;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of X / Twitter Following (twitter.following).\n */\nexport interface TwitterFollowingData {\n /**\n * Followed-account records, normalized to a compact shape.\n */\n items: TwitterFollowingItem[];\n}\n\n/**\n * Input for Twitter Profile (twitter.profile).\n */\nexport interface TwitterProfileInput {\n /**\n * Twitter/X handle without the leading @.\n */\n handle: string;\n}\n\n/**\n * The `data` payload of Twitter Profile (twitter.profile).\n */\nexport interface TwitterProfileData {\n avatarUrl: string;\n bio: string;\n displayName: string;\n followers: number;\n following: number;\n handle: string;\n tweets: number;\n verified: boolean;\n [extra: string]: unknown;\n}\n\n/**\n * Input for X / Twitter Post Replies (twitter.replies).\n */\nexport interface TwitterRepliesInput {\n /**\n * Maximum number of results to return (1-40, default 40). You are billed per result returned, so a lower limit costs less.\n * Range: minimum 1, maximum 40.\n */\n limit?: number;\n /**\n * Full URL of the X (Twitter) post to fetch replies for (e.g. https://x.com/nasa/status/1846987139428634858).\n */\n url: string;\n}\n\nexport interface TwitterRepliesItem {\n /**\n * Present whenever the upstream returns this record.\n */\n id?: string;\n text: string;\n url: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of X / Twitter Post Replies (twitter.replies).\n */\nexport interface TwitterRepliesData {\n /**\n * Reply records: reply text, author profile, timestamp, and engagement metrics.\n */\n items: TwitterRepliesItem[];\n}\n\n/**\n * Input for X / Twitter Search (twitter.search).\n */\nexport interface TwitterSearchInput {\n /**\n * Optional ISO 639-1 language code to restrict tweets to (e.g. en).\n */\n lang?: string;\n /**\n * Maximum number of results to return (1-50, default 50). You are billed per result returned, so a lower limit costs less.\n * Range: minimum 1, maximum 50.\n */\n limit?: number;\n /**\n * Search query using X advanced-search syntax. IMPORTANT: terms are ANDed - a tweet must contain EVERY word, so a list of loosely related keywords matches nothing. Use one short phrase, or OR between alternatives (e.g. 'anyapi OR getanyapi'). Useful operators: from:user, since:YYYY-MM-DD, \"exact phrase\", -filter:replies. A query with no matches returns an empty items array; prefer the fewest words that identify the topic.\n */\n query: string;\n /**\n * Result ranking: 'Latest', 'Top', 'Photos', or 'Videos' (e.g. Latest).\n * Default: Latest.\n */\n queryType?: string;\n}\n\nexport interface TwitterSearchItem {\n /**\n * Present whenever the upstream returns this record.\n */\n authorName?: string;\n /**\n * Present whenever the upstream returns this record.\n */\n authorUsername?: string;\n authorVerified?: boolean;\n bookmarkCount?: number;\n conversationId?: string;\n /**\n * Tweet creation time.\n * Present whenever the upstream returns this record.\n */\n createdAt?: string;\n id: string;\n isReply?: boolean;\n lang?: string;\n likeCount?: number;\n quoteCount?: number;\n replyCount?: number;\n retweetCount?: number;\n text: string;\n url: string;\n viewCount?: number;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of X / Twitter Search (twitter.search).\n */\nexport interface TwitterSearchData {\n /**\n * Tweet records: text, author profile, timestamp, and engagement metrics (likes, retweets, replies, views).\n */\n items: TwitterSearchItem[];\n}\n\n/**\n * Input for Twitter Tweet (twitter.tweet).\n */\nexport interface TwitterTweetInput {\n /**\n * Full tweet URL, e.g. https://x.com/NASA/status/1800000000000000000.\n */\n url: string;\n}\n\n/**\n * The `data` payload of Twitter Tweet (twitter.tweet).\n */\nexport interface TwitterTweetData {\n authorId: string;\n bookmarks: number;\n createdAt: string;\n id: string;\n likes: number;\n quotes: number;\n replies: number;\n retweets: number;\n text: string;\n views: number;\n [extra: string]: unknown;\n}\n\n/**\n * Input for Twitter Tweet Transcript (twitter.tweet_transcript).\n */\nexport interface TwitterTweetTranscriptInput {\n /**\n * Tweet URL of the video to transcribe (e.g. https://x.com/TheoVon/status/1916982720317821050).\n */\n url: string;\n}\n\n/**\n * The `data` payload of Twitter Tweet Transcript (twitter.tweet_transcript).\n */\nexport interface TwitterTweetTranscriptData {\n transcript: string;\n [extra: string]: unknown;\n}\n\n/**\n * Input for Twitter User Tweets (twitter.user_tweets).\n */\nexport interface TwitterUserTweetsInput {\n /**\n * Opaque pagination cursor from a previous response's nextCursor. Omit for the first page; pass it to fetch the next page of tweets.\n */\n cursor?: string;\n /**\n * Twitter/X handle without the leading @.\n */\n handle: string;\n /**\n * How many tweets you want (1-1000), newest first. By default results may come back in cheap pages of ~20: follow the response's nextCursor for more. With requireSinglePage true, up to this many are returned in one (pricier) call.\n * Range: minimum 1, maximum 1000.\n * Default: 20.\n */\n limit?: number;\n /**\n * Set true to get up to limit tweets in a single response instead of cheap pages, served by a bulk provider at a higher price.\n */\n requireSinglePage?: boolean;\n}\n\nexport interface TwitterUserTweetsTweet {\n bookmarks: number;\n createdAt: string;\n id: string;\n isPinned: boolean;\n isReply?: boolean;\n lang?: string;\n likes: number;\n quotes?: number;\n replies: number;\n retweets: number;\n text: string;\n url: string;\n views: number;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Twitter User Tweets (twitter.user_tweets).\n */\nexport interface TwitterUserTweetsData {\n /**\n * Opaque cursor for the next page of tweets, or null when this lane has no more. Pass it back as cursor to continue.\n */\n nextCursor?: string;\n tweets: TwitterUserTweetsTweet[];\n}\n\n/**\n * Typed methods for the twitter platform. Attached to the AnyAPI client as\n * `client.twitter`.\n */\nexport class TwitterNamespace {\n constructor(private readonly _core: ClientCore) {}\n\n /**\n * Twitter Community\n *\n * Fetch a Twitter/X community's public details (name, description, member count, join policy) by URL, normalized across providers with transparent failover.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.twitter.community({ url: \"https://x.com/i/communities/1926186499399139650\" });\n */\n community(\n input: TwitterCommunityInput,\n options?: RequestOptions,\n ): Promise<RunResult<TwitterCommunityData>> {\n return this._core.run(\"twitter.community\", input, options);\n }\n\n /**\n * Twitter Community Tweets\n *\n * List recent tweets posted in a Twitter/X community by URL, normalized across providers with transparent failover.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.twitter.communityTweets({ url: \"https://x.com/i/communities/1926186499399139650\" });\n */\n communityTweets(\n input: TwitterCommunityTweetsInput,\n options?: RequestOptions,\n ): Promise<RunResult<TwitterCommunityTweetsData>> {\n return this._core.run(\"twitter.community_tweets\", input, options);\n }\n\n /**\n * X / Twitter Followers\n *\n * Fetch the follower list of any public X (Twitter) account by username - up to 100,000 follower records per request with transparent per-result USD pricing.\n *\n * Price: $0.00015 per result.\n *\n * @example\n * const res = await client.twitter.followers({ username: \"nasa\", limit: 200 });\n */\n followers(\n input: TwitterFollowersInput,\n options?: RequestOptions,\n ): Promise<RunResult<TwitterFollowersData>> {\n return this._core.run(\"twitter.followers\", input, options);\n }\n\n /**\n * X / Twitter Following\n *\n * List the accounts a public X (Twitter) account follows by username - up to 100,000 records per request with transparent per-result USD pricing.\n *\n * Price: $0.00015 per result.\n *\n * @example\n * const res = await client.twitter.following({ username: \"nasa\", limit: 200 });\n */\n following(\n input: TwitterFollowingInput,\n options?: RequestOptions,\n ): Promise<RunResult<TwitterFollowingData>> {\n return this._core.run(\"twitter.following\", input, options);\n }\n\n /**\n * Twitter Profile\n *\n * Fetch a Twitter/X account's public profile (followers, tweets, bio, verification) by handle, normalized across providers with transparent failover.\n *\n * Price: $0.001 per request.\n *\n * @example\n * const res = await client.twitter.profile({ handle: \"nasa\" });\n */\n profile(\n input: TwitterProfileInput,\n options?: RequestOptions,\n ): Promise<RunResult<TwitterProfileData>> {\n return this._core.run(\"twitter.profile\", input, options);\n }\n\n /**\n * X / Twitter Post Replies\n *\n * Fetch the replies to any X (Twitter) post URL as structured records - author, text, and engagement - priced per request in USD.\n *\n * Price: $0.0025 per request plus $0.00025 per result.\n *\n * @example\n * const res = await client.twitter.replies({ url: \"https://x.com/jack/status/20\", limit: 3 });\n */\n replies(\n input: TwitterRepliesInput,\n options?: RequestOptions,\n ): Promise<RunResult<TwitterRepliesData>> {\n return this._core.run(\"twitter.replies\", input, options);\n }\n\n /**\n * X / Twitter Search\n *\n * Search X (Twitter) with full advanced-search syntax and get up to 50 structured tweets per request - text, author, and engagement - with transparent per-request USD pricing.\n *\n * Price: $0.004 per request plus $0.0002 per result.\n *\n * @example\n * const res = await client.twitter.search({ query: \"openai\" });\n */\n search(\n input: TwitterSearchInput,\n options?: RequestOptions,\n ): Promise<RunResult<TwitterSearchData>> {\n return this._core.run(\"twitter.search\", input, options);\n }\n\n /**\n * Twitter Tweet\n *\n * Fetch a single Twitter/X tweet by URL with its full text and engagement counts (likes, retweets, replies, quotes, bookmarks, views), normalized across providers.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.twitter.tweet({ url: \"https://x.com/SpaceX/status/1732824684683784516\" });\n */\n tweet(\n input: TwitterTweetInput,\n options?: RequestOptions,\n ): Promise<RunResult<TwitterTweetData>> {\n return this._core.run(\"twitter.tweet\", input, options);\n }\n\n /**\n * Twitter Tweet Transcript\n *\n * Extract the spoken transcript from a Twitter/X video tweet by URL, normalized across providers with transparent failover.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.twitter.tweetTranscript({ url: \"https://x.com/TheoVon/status/1916982720317821050\" });\n */\n tweetTranscript(\n input: TwitterTweetTranscriptInput,\n options?: RequestOptions,\n ): Promise<RunResult<TwitterTweetTranscriptData>> {\n return this._core.run(\"twitter.tweet_transcript\", input, options);\n }\n\n /**\n * Twitter User Tweets\n *\n * Get an X (Twitter) account's latest tweets by handle, newest first (reverse-chronological, replies included) - not just the popular ones - up to 1000 per call, with engagement, views, and language, normalized across providers with cursor pagination.\n *\n * Price: $0.001 per request.\n *\n * @example\n * const res = await client.twitter.userTweets({ handle: \"levelsio\", limit: 20 });\n */\n userTweets(\n input: TwitterUserTweetsInput,\n options?: RequestOptions,\n ): Promise<RunResult<TwitterUserTweetsData>> {\n return this._core.run(\"twitter.user_tweets\", input, options);\n }\n\n /**\n * Iterate every result of Twitter User Tweets across pages.\n *\n * Yields items directly; call `.pages()` on the return value to walk whole\n * result pages instead (each carries its own costUsd).\n */\n iterUserTweets(\n input: TwitterUserTweetsInput,\n options?: RequestOptions,\n ): Paginator<TwitterUserTweetsTweet, RunResult<TwitterUserTweetsData>> {\n return paginate<TwitterUserTweetsTweet, RunResult<TwitterUserTweetsData>>(\n this._core,\n \"twitter.user_tweets\",\n input as unknown as Record<string, unknown>,\n \"tweets\",\n false,\n options,\n );\n }\n}\n","// Generated - do not edit. Regenerate with: pnpm generate\n\nimport type {\n ClientCore,\n RequestOptions,\n RunResult,\n} from \"../../core/index.js\";\n\n/**\n * Input for Upwork Jobs (upwork.jobs).\n */\nexport interface UpworkJobsInput {\n /**\n * Maximum number of results to return (1-25, default 25). You are billed per result returned, so a lower limit costs less.\n * Range: minimum 1, maximum 25.\n */\n limit?: number;\n /**\n * Keywords to search Upwork jobs for (e.g. react developer).\n */\n query: string;\n /**\n * Sort order for listings: newest or relevance (e.g. newest).\n * Default: newest.\n */\n sort?: string;\n}\n\nexport interface UpworkJobsItem {\n /**\n * Fixed budget or hourly range.\n */\n budget?: string;\n clientLocation?: string;\n clientRating?: number;\n /**\n * Client lifetime spend (USD).\n */\n clientTotalSpent?: number;\n /**\n * Present whenever the upstream returns this record.\n */\n description?: string;\n experienceLevel?: string;\n /**\n * Upwork job identifier.\n */\n jobId: string;\n /**\n * Fixed or Hourly.\n */\n jobType?: string;\n /**\n * Whether the client's payment method is verified; null when Upwork reports it as unknown.\n */\n paymentVerified?: boolean;\n /**\n * ISO 8601 posting date.\n */\n postedAt?: string;\n /**\n * Number of proposals submitted.\n */\n proposals?: number;\n /**\n * Skill tags.\n */\n tags?: string[];\n title: string;\n /**\n * Upwork job posting URL.\n */\n url: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Upwork Jobs (upwork.jobs).\n */\nexport interface UpworkJobsData {\n /**\n * Job records: title, description, budget or hourly rate, required skills, posted date, and client details.\n */\n items: UpworkJobsItem[];\n}\n\n/**\n * Typed methods for the upwork platform. Attached to the AnyAPI client as\n * `client.upwork`.\n */\nexport class UpworkNamespace {\n constructor(private readonly _core: ClientCore) {}\n\n /**\n * Upwork Jobs\n *\n * Search Upwork job postings by keyword - up to 25 fresh listings per request with transparent per-request USD pricing.\n *\n * Price: $0.0033 per result.\n *\n * @example\n * const res = await client.upwork.jobs({ query: \"web developer\", limit: 10 });\n */\n jobs(\n input: UpworkJobsInput,\n options?: RequestOptions,\n ): Promise<RunResult<UpworkJobsData>> {\n return this._core.run(\"upwork.jobs\", input, options);\n }\n}\n","// Generated - do not edit. Regenerate with: pnpm generate\n\nimport type {\n ClientCore,\n RequestOptions,\n RunResult,\n} from \"../../core/index.js\";\n\n/**\n * Input for Walmart Product (walmart.product).\n */\nexport interface WalmartProductInput {\n /**\n * Walmart product page URL.\n */\n url: string;\n}\n\nexport interface WalmartProductItem {\n title: string;\n url: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Walmart Product (walmart.product).\n */\nexport interface WalmartProductData {\n /**\n * Product detail records: title, price, availability, rating, review count, images, and specifications.\n */\n items: WalmartProductItem[];\n}\n\n/**\n * Typed methods for the walmart platform. Attached to the AnyAPI client as\n * `client.walmart`.\n */\nexport class WalmartNamespace {\n constructor(private readonly _core: ClientCore) {}\n\n /**\n * Walmart Product\n *\n * Fetch a Walmart product page by URL and get full product details - title, price, availability, ratings, images, and specs - in one normalized, flat-priced response.\n *\n * Price: $0.00368 per result.\n *\n * @example\n * const res = await client.walmart.product({ url: \"https://www.walmart.com/ip/Apple-AirPods-Pro-2/5689919121\" });\n */\n product(\n input: WalmartProductInput,\n options?: RequestOptions,\n ): Promise<RunResult<WalmartProductData>> {\n return this._core.run(\"walmart.product\", input, options);\n }\n}\n","// Generated - do not edit. Regenerate with: pnpm generate\n\nimport type {\n ClientCore,\n RequestOptions,\n RunResult,\n} from \"../../core/index.js\";\n\n/**\n * Input for Website Crawl (web.crawl).\n */\nexport interface WebCrawlInput {\n /**\n * Maximum number of results to return (1-10, default 10). You are billed per result returned, so a lower limit costs less.\n * Range: minimum 1, maximum 10.\n */\n limit?: number;\n /**\n * The website URL or domain to crawl.\n */\n url: string;\n}\n\nexport interface WebCrawlItem {\n domain: string;\n text: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Website Crawl (web.crawl).\n */\nexport interface WebCrawlData {\n /**\n * Crawled page records: URL, page title, and extracted text content for each page.\n */\n items: WebCrawlItem[];\n}\n\n/**\n * Input for Web Map (web.map).\n */\nexport interface WebMapInput {\n /**\n * Maximum number of links to return.\n * Default: 100.\n */\n limit?: number;\n /**\n * Optional term that orders the returned links by relevance.\n */\n search?: string;\n /**\n * The base URL of the site to map into a list of links.\n * Format: uri.\n */\n url: string;\n}\n\nexport interface WebMapResult {\n description: string;\n title: string;\n url: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Web Map (web.map).\n */\nexport interface WebMapData {\n results: WebMapResult[];\n}\n\n/**\n * Input for Web Scrape (web.scrape).\n */\nexport interface WebScrapeInput {\n /**\n * The URL of the page to scrape.\n * Format: uri.\n */\n url: string;\n}\n\n/**\n * The `data` payload of Web Scrape (web.scrape).\n */\nexport interface WebScrapeData {\n description: string;\n markdown: string;\n title: string;\n url: string;\n [extra: string]: unknown;\n}\n\n/**\n * Input for Website Screenshot (web.screenshot).\n */\nexport interface WebScreenshotInput {\n /**\n * The full URL of the page to capture.\n */\n url: string;\n /**\n * Browser viewport width in pixels (e.g. 1280).\n * Default: 1280.\n */\n viewportWidth?: number;\n}\n\nexport interface WebScreenshotItem {\n /**\n * Present whenever the upstream returns this record.\n */\n image?: string;\n url: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Website Screenshot (web.screenshot).\n */\nexport interface WebScreenshotData {\n /**\n * Screenshot records: the requested page URL and a link to the captured image.\n */\n items: WebScreenshotItem[];\n}\n\n/**\n * Typed methods for the web platform. Attached to the AnyAPI client as\n * `client.web`.\n */\nexport class WebNamespace {\n constructor(private readonly _core: ClientCore) {}\n\n /**\n * Website Crawl\n *\n * Crawl a website and get clean text content from up to 10 pages in one normalized response - ideal for feeding sites into LLMs and search indexes.\n *\n * Price: $0.0015 per request plus $0.003 per result.\n *\n * @example\n * const res = await client.web.crawl({ url: \"https://example.com\", limit: 3 });\n */\n crawl(\n input: WebCrawlInput,\n options?: RequestOptions,\n ): Promise<RunResult<WebCrawlData>> {\n return this._core.run(\"web.crawl\", input, options);\n }\n\n /**\n * Web Map\n *\n * Map an entire website into a clean list of its URLs (with titles and descriptions) in a single call. Billed per request in real dollars.\n *\n * Price: $0.0009 per request.\n *\n * @example\n * const res = await client.web.map({ url: \"https://example.com\" });\n */\n map(\n input: WebMapInput,\n options?: RequestOptions,\n ): Promise<RunResult<WebMapData>> {\n return this._core.run(\"web.map\", input, options);\n }\n\n /**\n * Web Scrape\n *\n * Scrape any web page and get its main content back as clean Markdown plus title and metadata. One call, billed per request in real dollars.\n *\n * Price: $0.0009 per request.\n *\n * @example\n * const res = await client.web.scrape({ url: \"https://example.com\" });\n */\n scrape(\n input: WebScrapeInput,\n options?: RequestOptions,\n ): Promise<RunResult<WebScrapeData>> {\n return this._core.run(\"web.scrape\", input, options);\n }\n\n /**\n * Website Screenshot\n *\n * Capture a real-browser screenshot of any web page URL, with transparent per-request USD pricing.\n *\n * Price: $0.00158 per result.\n *\n * @example\n * const res = await client.web.screenshot({ url: \"https://example.com\" });\n */\n screenshot(\n input: WebScreenshotInput,\n options?: RequestOptions,\n ): Promise<RunResult<WebScreenshotData>> {\n return this._core.run(\"web.screenshot\", input, options);\n }\n}\n","// Generated - do not edit. Regenerate with: pnpm generate\n\nimport type {\n ClientCore,\n RequestOptions,\n RunResult,\n} from \"../../core/index.js\";\n\n/**\n * Input for WhatsApp Number Validator (whatsapp.validate).\n */\nexport interface WhatsappValidateInput {\n /**\n * The phone number to check, in international format.\n */\n phone: string;\n}\n\nexport interface WhatsappValidateItem {\n phone: string;\n status: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of WhatsApp Number Validator (whatsapp.validate).\n */\nexport interface WhatsappValidateData {\n /**\n * Validation records: the phone number with its WhatsApp registration status.\n */\n items: WhatsappValidateItem[];\n}\n\n/**\n * Typed methods for the whatsapp platform. Attached to the AnyAPI client as\n * `client.whatsapp`.\n */\nexport class WhatsappNamespace {\n constructor(private readonly _core: ClientCore) {}\n\n /**\n * WhatsApp Number Validator\n *\n * Check whether a phone number is registered on WhatsApp, with transparent per-request USD pricing.\n *\n * Price: $0.0035 per request plus $0.001 per result.\n *\n * @example\n * const res = await client.whatsapp.validate({ phone: \"+14155552671\" });\n */\n validate(\n input: WhatsappValidateInput,\n options?: RequestOptions,\n ): Promise<RunResult<WhatsappValidateData>> {\n return this._core.run(\"whatsapp.validate\", input, options);\n }\n}\n","// Generated - do not edit. Regenerate with: pnpm generate\n\nimport type {\n ClientCore,\n RequestOptions,\n RunResult,\n} from \"../../core/index.js\";\n\n/**\n * Input for Yahoo Finance Quote (yahoo_finance.quote).\n */\nexport interface YahooFinanceQuoteInput {\n /**\n * The ticker symbol to look up.\n */\n ticker: string;\n}\n\nexport interface YahooFinanceQuoteItem {\n /**\n * Present whenever the upstream returns this record.\n */\n name?: string;\n price: number;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Yahoo Finance Quote (yahoo_finance.quote).\n */\nexport interface YahooFinanceQuoteData {\n /**\n * Quote records for the ticker: current price, market cap, volume, day range, and key financial stats.\n */\n items: YahooFinanceQuoteItem[];\n}\n\n/**\n * Typed methods for the yahoo_finance platform. Attached to the AnyAPI client as\n * `client.yahooFinance`.\n */\nexport class YahooFinanceNamespace {\n constructor(private readonly _core: ClientCore) {}\n\n /**\n * Yahoo Finance Quote\n *\n * Look up a stock or ETF by ticker symbol and get its Yahoo Finance quote - price, market cap, volume, and key stats - as normalized JSON with transparent per-request USD pricing.\n *\n * Price: $0.00005 per request plus $0.0009 per result.\n *\n * @example\n * const res = await client.yahooFinance.quote({ ticker: \"AAPL\" });\n */\n quote(\n input: YahooFinanceQuoteInput,\n options?: RequestOptions,\n ): Promise<RunResult<YahooFinanceQuoteData>> {\n return this._core.run(\"yahoo_finance.quote\", input, options);\n }\n}\n","// Generated - do not edit. Regenerate with: pnpm generate\n\nimport type {\n ClientCore,\n RequestOptions,\n RunResult,\n} from \"../../core/index.js\";\n\n/**\n * Input for Yelp Search (yelp.search).\n */\nexport interface YelpSearchInput {\n /**\n * Maximum number of results to return (1 to 20, default 20).\n * Range: minimum 1, maximum 20.\n */\n limit?: number;\n /**\n * City and state defining the search area (e.g. San Francisco, CA).\n */\n location: string;\n /**\n * Search term or category to look for (e.g. sushi).\n */\n query: string;\n}\n\nexport interface YelpSearchItem {\n /**\n * Primary street address line.\n */\n address1?: string;\n /**\n * Secondary address line.\n */\n address2?: string;\n /**\n * Tertiary address line.\n */\n address3?: string;\n /**\n * URL slug for the business.\n */\n alias: string;\n /**\n * Rounded average star rating.\n */\n avg_rating?: number;\n /**\n * Business category tags.\n */\n categories?: YelpSearchCategorie[];\n /**\n * City name.\n */\n city?: string;\n /**\n * ISO country code.\n */\n country?: string;\n /**\n * Dialable phone number.\n */\n dialable_phone?: string;\n /**\n * Stable Yelp business identifier.\n */\n id: string;\n /**\n * Whether the business is permanently closed.\n */\n is_closed?: boolean;\n /**\n * Latitude of the business.\n */\n latitude?: number;\n /**\n * Formatted local phone number.\n */\n localized_phone?: string;\n /**\n * Localized price tier (e.g. $$).\n */\n localized_price?: string;\n /**\n * Longitude of the business.\n */\n longitude?: number;\n /**\n * Business display name.\n */\n name: string;\n /**\n * Neighborhood labels for the location.\n */\n neighborhoods?: string[];\n /**\n * Raw phone number.\n */\n phone?: string;\n /**\n * Total photo count.\n */\n photo_count?: number;\n /**\n * Primary photo URL.\n * Present whenever the upstream returns this record.\n */\n photo_url?: string;\n /**\n * Numeric price tier.\n */\n price?: number;\n /**\n * Number of reviews.\n */\n review_count?: number;\n /**\n * State or region code.\n */\n state?: string;\n /**\n * Unrounded average star rating.\n */\n unrounded_avg_rating?: number;\n /**\n * Postal code.\n */\n zip?: string;\n [extra: string]: unknown;\n}\n\nexport interface YelpSearchCategorie {\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Yelp Search (yelp.search).\n */\nexport interface YelpSearchData {\n /**\n * Business listing records: name, categories, rating, review count, address, and core business info.\n */\n items: YelpSearchItem[];\n}\n\n/**\n * Typed methods for the yelp platform. Attached to the AnyAPI client as\n * `client.yelp`.\n */\nexport class YelpNamespace {\n constructor(private readonly _core: ClientCore) {}\n\n /**\n * Yelp Search\n *\n * Search Yelp for businesses by keyword and location: up to 20 listings with ratings, categories, and core business info per flat-priced request.\n *\n * Price: $0.04 per request plus $0.00075 per result.\n *\n * @example\n * const res = await client.yelp.search({ location: \"Chicago, IL\", query: \"pizza\", limit: 5 });\n */\n search(\n input: YelpSearchInput,\n options?: RequestOptions,\n ): Promise<RunResult<YelpSearchData>> {\n return this._core.run(\"yelp.search\", input, options);\n }\n}\n","// Generated - do not edit. Regenerate with: pnpm generate\n\nimport type {\n ClientCore,\n Paginator,\n RequestOptions,\n RunResult,\n} from \"../../core/index.js\";\nimport { paginate } from \"../../core/index.js\";\n\n/**\n * Input for YouTube Channel (youtube.channel).\n */\nexport interface YoutubeChannelInput {\n /**\n * YouTube channel ID (UC...).\n */\n channelId?: string;\n /**\n * YouTube channel handle.\n */\n handle?: string;\n}\n\n/**\n * The `data` payload of YouTube Channel (youtube.channel).\n */\nexport interface YoutubeChannelData {\n avatarUrl: string;\n channelId: string;\n description: string;\n subscribers: number;\n title: string;\n videos: number;\n views: number;\n [extra: string]: unknown;\n}\n\n/**\n * Input for YouTube Channel Community Posts (youtube.channel_community_posts).\n */\nexport interface YoutubeChannelCommunityPostsInput {\n /**\n * YouTube channel ID.\n */\n channelId?: string;\n /**\n * Continuation token from a previous response for pagination.\n */\n cursor?: string;\n /**\n * YouTube channel handle.\n */\n handle?: string;\n}\n\nexport interface YoutubeChannelCommunityPostsPost {\n content: string;\n id: string;\n image: string;\n likeCount: number;\n publishedTime: string;\n url: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of YouTube Channel Community Posts (youtube.channel_community_posts).\n */\nexport interface YoutubeChannelCommunityPostsData {\n nextCursor: string;\n posts: YoutubeChannelCommunityPostsPost[];\n}\n\n/**\n * Input for YouTube Channel Live Streams (youtube.channel_lives).\n */\nexport interface YoutubeChannelLivesInput {\n /**\n * YouTube channel ID.\n */\n channelId?: string;\n /**\n * Continuation token from a previous response for pagination.\n */\n cursor?: string;\n /**\n * YouTube channel handle.\n */\n handle?: string;\n}\n\nexport interface YoutubeChannelLivesLive {\n id: string;\n lengthText: string;\n publishedTime: string;\n title: string;\n url: string;\n views: number;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of YouTube Channel Live Streams (youtube.channel_lives).\n */\nexport interface YoutubeChannelLivesData {\n lives: YoutubeChannelLivesLive[];\n nextCursor: string;\n}\n\n/**\n * Input for YouTube Channel Playlists (youtube.channel_playlists).\n */\nexport interface YoutubeChannelPlaylistsInput {\n /**\n * YouTube channel ID.\n */\n channelId?: string;\n /**\n * Continuation token from a previous response for pagination.\n */\n cursor?: string;\n /**\n * YouTube channel handle.\n */\n handle?: string;\n}\n\nexport interface YoutubeChannelPlaylistsPlaylist {\n id: string;\n playlistUrl: string;\n thumbnail: string;\n title: string;\n videoCount: number;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of YouTube Channel Playlists (youtube.channel_playlists).\n */\nexport interface YoutubeChannelPlaylistsData {\n nextCursor: string;\n playlists: YoutubeChannelPlaylistsPlaylist[];\n}\n\n/**\n * Input for YouTube Channel Shorts (youtube.channel_shorts).\n */\nexport interface YoutubeChannelShortsInput {\n /**\n * YouTube channel ID.\n */\n channelId?: string;\n /**\n * Continuation token from a previous response for pagination.\n */\n cursor?: string;\n /**\n * YouTube channel handle.\n */\n handle?: string;\n /**\n * Sort order.\n * One of: newest, popular.\n */\n sort?: \"newest\" | \"popular\";\n}\n\nexport interface YoutubeChannelShortsShort {\n duration: string;\n id: string;\n likes: number;\n title: string;\n url: string;\n views: number;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of YouTube Channel Shorts (youtube.channel_shorts).\n */\nexport interface YoutubeChannelShortsData {\n nextCursor: string;\n shorts: YoutubeChannelShortsShort[];\n}\n\n/**\n * Input for YouTube Channel Videos (youtube.channel_videos).\n */\nexport interface YoutubeChannelVideosInput {\n /**\n * YouTube channel ID.\n */\n channelId?: string;\n /**\n * Continuation token from a previous response for pagination.\n */\n cursor?: string;\n /**\n * YouTube channel handle.\n */\n handle?: string;\n /**\n * Sort order.\n * One of: latest, popular.\n */\n sort?: \"latest\" | \"popular\";\n}\n\nexport interface YoutubeChannelVideosVideo {\n id: string;\n lengthText: string;\n publishedTime: string;\n title: string;\n url: string;\n views: number;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of YouTube Channel Videos (youtube.channel_videos).\n */\nexport interface YoutubeChannelVideosData {\n nextCursor: string;\n videos: YoutubeChannelVideosVideo[];\n}\n\n/**\n * Input for YouTube Comment Replies (youtube.comment_replies).\n */\nexport interface YoutubeCommentRepliesInput {\n /**\n * Replies continuation token from the comments endpoint, or the continuationToken from a previous replies response for further pagination.\n */\n continuationToken: string;\n}\n\nexport interface YoutubeCommentRepliesComment {\n authorName: string;\n content: string;\n id: string;\n likes: number;\n publishedTime: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of YouTube Comment Replies (youtube.comment_replies).\n */\nexport interface YoutubeCommentRepliesData {\n comments: YoutubeCommentRepliesComment[];\n nextCursor: string;\n}\n\n/**\n * Input for YouTube Community Post (youtube.community_post).\n */\nexport interface YoutubeCommunityPostInput {\n /**\n * URL of the YouTube community post.\n */\n url: string;\n}\n\n/**\n * The `data` payload of YouTube Community Post (youtube.community_post).\n */\nexport interface YoutubeCommunityPostData {\n channelHandle: string;\n channelTitle: string;\n content: string;\n id: string;\n publishedTime: string;\n [extra: string]: unknown;\n}\n\n/**\n * Input for YouTube Playlist (youtube.playlist).\n */\nexport interface YoutubePlaylistInput {\n /**\n * The playlist ID - the \"list\" parameter in a playlist URL (e.g. \"PLu0W_9lII9ahIappRPN0MCAgtOu3lQjQi\").\n */\n playlistId: string;\n}\n\nexport interface YoutubePlaylistVideo {\n channel: string;\n id: string;\n lengthSeconds: number;\n lengthText: string;\n thumbnail: string;\n title: string;\n url: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of YouTube Playlist (youtube.playlist).\n */\nexport interface YoutubePlaylistData {\n owner: string;\n title: string;\n totalVideos: number;\n videos: YoutubePlaylistVideo[];\n}\n\n/**\n * Input for YouTube Search (youtube.search).\n */\nexport interface YoutubeSearchInput {\n /**\n * Continuation token from a previous response for pagination.\n */\n cursor?: string;\n /**\n * The YouTube search query.\n */\n query: string;\n /**\n * Sort order: \"relevance\" (default) or \"popular\" (most-viewed).\n * One of: relevance, popular.\n * Default: relevance.\n */\n sortBy?: \"relevance\" | \"popular\";\n /**\n * Filter by upload recency. Omit for any time.\n * One of: today, this_week, this_month, this_year.\n */\n uploadDate?: \"today\" | \"this_week\" | \"this_month\" | \"this_year\";\n}\n\nexport interface YoutubeSearchVideo {\n channel: string;\n id: string;\n lengthText: string;\n publishedTime: string;\n title: string;\n url: string;\n views: number;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of YouTube Search (youtube.search).\n */\nexport interface YoutubeSearchData {\n videos: YoutubeSearchVideo[];\n}\n\n/**\n * Input for YouTube Hashtag Search (youtube.search_hashtag).\n */\nexport interface YoutubeSearchHashtagInput {\n /**\n * Continuation token from a previous response for pagination.\n */\n cursor?: string;\n /**\n * Hashtag to search for (without the leading #).\n */\n hashtag: string;\n /**\n * Content filter.\n * One of: all, shorts.\n */\n type?: \"all\" | \"shorts\";\n}\n\nexport interface YoutubeSearchHashtagVideo {\n channelTitle: string;\n id: string;\n lengthText: string;\n publishedTime: string;\n title: string;\n url: string;\n views: number;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of YouTube Hashtag Search (youtube.search_hashtag).\n */\nexport interface YoutubeSearchHashtagData {\n nextCursor: string;\n videos: YoutubeSearchHashtagVideo[];\n}\n\n/**\n * Input for YouTube Trending Shorts (youtube.trending_shorts).\n */\nexport interface YoutubeTrendingShortsInput {}\n\nexport interface YoutubeTrendingShortsShort {\n channelTitle: string;\n duration: string;\n id: string;\n likes: number;\n title: string;\n url: string;\n views: number;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of YouTube Trending Shorts (youtube.trending_shorts).\n */\nexport interface YoutubeTrendingShortsData {\n shorts: YoutubeTrendingShortsShort[];\n}\n\n/**\n * Input for YouTube Video (youtube.video).\n */\nexport interface YoutubeVideoInput {\n /**\n * YouTube video ID.\n */\n id?: string;\n /**\n * Full YouTube video URL.\n */\n url?: string;\n}\n\n/**\n * The `data` payload of YouTube Video (youtube.video).\n */\nexport interface YoutubeVideoData {\n channel: string;\n comments: number;\n durationMs: number;\n id: string;\n likes: number;\n publishedAt: string;\n title: string;\n views: number;\n [extra: string]: unknown;\n}\n\n/**\n * Input for YouTube Video Comments (youtube.video_comments).\n */\nexport interface YoutubeVideoCommentsInput {\n /**\n * Continuation token from a previous response for pagination.\n */\n cursor?: string;\n /**\n * Comment order (e.g. top, newest).\n */\n order?: string;\n /**\n * Full YouTube video URL.\n */\n url: string;\n}\n\nexport interface YoutubeVideoCommentsComment {\n author: string;\n id: string;\n likes: number;\n publishedTime: string;\n replies: number;\n text: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of YouTube Video Comments (youtube.video_comments).\n */\nexport interface YoutubeVideoCommentsData {\n comments: YoutubeVideoCommentsComment[];\n nextCursor: string;\n}\n\n/**\n * Input for YouTube Video Sponsors (youtube.video_sponsors).\n */\nexport interface YoutubeVideoSponsorsInput {\n /**\n * 2-letter language code for transcript lookup (e.g. en, es, fr).\n */\n language?: string;\n /**\n * YouTube video or Short URL.\n */\n url: string;\n}\n\nexport interface YoutubeVideoSponsorsSuspectedSponsor {\n confidence: string;\n name: string;\n website: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of YouTube Video Sponsors (youtube.video_sponsors).\n */\nexport interface YoutubeVideoSponsorsData {\n detectionStatus: string;\n isPaidPromotion: boolean;\n suspectedSponsors: YoutubeVideoSponsorsSuspectedSponsor[];\n title: string;\n videoId: string;\n}\n\n/**\n * Input for YouTube Video Transcript (youtube.video_transcript).\n */\nexport interface YoutubeVideoTranscriptInput {\n /**\n * YouTube video ID.\n */\n id?: string;\n /**\n * Full YouTube video URL.\n */\n url?: string;\n}\n\n/**\n * The `data` payload of YouTube Video Transcript (youtube.video_transcript).\n */\nexport interface YoutubeVideoTranscriptData {\n language: string;\n transcript: string;\n [extra: string]: unknown;\n}\n\n/**\n * Typed methods for the youtube platform. Attached to the AnyAPI client as\n * `client.youtube`.\n */\nexport class YoutubeNamespace {\n constructor(private readonly _core: ClientCore) {}\n\n /**\n * YouTube Channel\n *\n * Fetch a YouTube channel's stats (subscribers, video count, total views, description) by handle or channel ID, normalized across providers.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.youtube.channel({ handle: \"@mkbhd\" });\n */\n channel(\n input: YoutubeChannelInput,\n options?: RequestOptions,\n ): Promise<RunResult<YoutubeChannelData>> {\n return this._core.run(\"youtube.channel\", input, options);\n }\n\n /**\n * YouTube Channel Community Posts\n *\n * List a YouTube channel's community posts by handle or channel ID with cursor pagination (text, likes, image, publish time), normalized across providers.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.youtube.channelCommunityPosts({ handle: \"@MrBeast\" });\n */\n channelCommunityPosts(\n input: YoutubeChannelCommunityPostsInput,\n options?: RequestOptions,\n ): Promise<RunResult<YoutubeChannelCommunityPostsData>> {\n return this._core.run(\"youtube.channel_community_posts\", input, options);\n }\n\n /**\n * Iterate every result of YouTube Channel Community Posts across pages.\n *\n * Yields items directly; call `.pages()` on the return value to walk whole\n * result pages instead (each carries its own costUsd).\n */\n iterChannelCommunityPosts(\n input: YoutubeChannelCommunityPostsInput,\n options?: RequestOptions,\n ): Paginator<\n YoutubeChannelCommunityPostsPost,\n RunResult<YoutubeChannelCommunityPostsData>\n > {\n return paginate<\n YoutubeChannelCommunityPostsPost,\n RunResult<YoutubeChannelCommunityPostsData>\n >(\n this._core,\n \"youtube.channel_community_posts\",\n input as unknown as Record<string, unknown>,\n \"posts\",\n false,\n options,\n );\n }\n\n /**\n * YouTube Channel Live Streams\n *\n * List a YouTube channel's live and past-live streams by handle or channel ID with cursor pagination (title, views, length, publish time), normalized across providers.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.youtube.channelLives({ handle: \"@IShowSpeed\" });\n */\n channelLives(\n input: YoutubeChannelLivesInput,\n options?: RequestOptions,\n ): Promise<RunResult<YoutubeChannelLivesData>> {\n return this._core.run(\"youtube.channel_lives\", input, options);\n }\n\n /**\n * Iterate every result of YouTube Channel Live Streams across pages.\n *\n * Yields items directly; call `.pages()` on the return value to walk whole\n * result pages instead (each carries its own costUsd).\n */\n iterChannelLives(\n input: YoutubeChannelLivesInput,\n options?: RequestOptions,\n ): Paginator<YoutubeChannelLivesLive, RunResult<YoutubeChannelLivesData>> {\n return paginate<\n YoutubeChannelLivesLive,\n RunResult<YoutubeChannelLivesData>\n >(\n this._core,\n \"youtube.channel_lives\",\n input as unknown as Record<string, unknown>,\n \"lives\",\n false,\n options,\n );\n }\n\n /**\n * YouTube Channel Playlists\n *\n * List a YouTube channel's playlists by handle or channel ID with cursor pagination (title, video count, thumbnail), normalized across providers.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.youtube.channelPlaylists({ handle: \"@veritasium\" });\n */\n channelPlaylists(\n input: YoutubeChannelPlaylistsInput,\n options?: RequestOptions,\n ): Promise<RunResult<YoutubeChannelPlaylistsData>> {\n return this._core.run(\"youtube.channel_playlists\", input, options);\n }\n\n /**\n * Iterate every result of YouTube Channel Playlists across pages.\n *\n * Yields items directly; call `.pages()` on the return value to walk whole\n * result pages instead (each carries its own costUsd).\n */\n iterChannelPlaylists(\n input: YoutubeChannelPlaylistsInput,\n options?: RequestOptions,\n ): Paginator<\n YoutubeChannelPlaylistsPlaylist,\n RunResult<YoutubeChannelPlaylistsData>\n > {\n return paginate<\n YoutubeChannelPlaylistsPlaylist,\n RunResult<YoutubeChannelPlaylistsData>\n >(\n this._core,\n \"youtube.channel_playlists\",\n input as unknown as Record<string, unknown>,\n \"playlists\",\n false,\n options,\n );\n }\n\n /**\n * YouTube Channel Shorts\n *\n * List a YouTube channel's Shorts by handle or channel ID with cursor pagination (title, views, likes, duration), normalized across providers.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.youtube.channelShorts({ handle: \"@starterstory\" });\n */\n channelShorts(\n input: YoutubeChannelShortsInput,\n options?: RequestOptions,\n ): Promise<RunResult<YoutubeChannelShortsData>> {\n return this._core.run(\"youtube.channel_shorts\", input, options);\n }\n\n /**\n * Iterate every result of YouTube Channel Shorts across pages.\n *\n * Yields items directly; call `.pages()` on the return value to walk whole\n * result pages instead (each carries its own costUsd).\n */\n iterChannelShorts(\n input: YoutubeChannelShortsInput,\n options?: RequestOptions,\n ): Paginator<YoutubeChannelShortsShort, RunResult<YoutubeChannelShortsData>> {\n return paginate<\n YoutubeChannelShortsShort,\n RunResult<YoutubeChannelShortsData>\n >(\n this._core,\n \"youtube.channel_shorts\",\n input as unknown as Record<string, unknown>,\n \"shorts\",\n false,\n options,\n );\n }\n\n /**\n * YouTube Channel Videos\n *\n * List a YouTube channel's videos by handle or channel ID with cursor pagination (title, views, length, publish time), normalized across providers.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.youtube.channelVideos({ handle: \"@mkbhd\" });\n */\n channelVideos(\n input: YoutubeChannelVideosInput,\n options?: RequestOptions,\n ): Promise<RunResult<YoutubeChannelVideosData>> {\n return this._core.run(\"youtube.channel_videos\", input, options);\n }\n\n /**\n * Iterate every result of YouTube Channel Videos across pages.\n *\n * Yields items directly; call `.pages()` on the return value to walk whole\n * result pages instead (each carries its own costUsd).\n */\n iterChannelVideos(\n input: YoutubeChannelVideosInput,\n options?: RequestOptions,\n ): Paginator<YoutubeChannelVideosVideo, RunResult<YoutubeChannelVideosData>> {\n return paginate<\n YoutubeChannelVideosVideo,\n RunResult<YoutubeChannelVideosData>\n >(\n this._core,\n \"youtube.channel_videos\",\n input as unknown as Record<string, unknown>,\n \"videos\",\n false,\n options,\n );\n }\n\n /**\n * YouTube Comment Replies\n *\n * List replies to a YouTube comment using a continuation token with cursor pagination (text, author, likes, publish time), normalized across providers.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.youtube.commentReplies({ continuationToken: \"Eg0SC19fZm1EajBaSjFRGAYygwEaUBIaVWd3aXRjRk9fdmtpM0x4LUNfZDRBYUFCQWciAggAKhhVQ1g2T1EzRGtjc2JZTkU2SDh1UVF1VkEyC19fZm1EajBaSjFRQABICoIBAggBQi9jb21tZW50LXJlcGxpZXMtaXRlbS1VZ3dpdGNGT192a2kzTHgtQ19kNEFhQUJBZw==\" });\n */\n commentReplies(\n input: YoutubeCommentRepliesInput,\n options?: RequestOptions,\n ): Promise<RunResult<YoutubeCommentRepliesData>> {\n return this._core.run(\"youtube.comment_replies\", input, options);\n }\n\n /**\n * YouTube Community Post\n *\n * Fetch a single YouTube community post by URL (text, images, channel, publish time), normalized across providers.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.youtube.communityPost({ url: \"https://www.youtube.com/post/Ugkx1LonSRBBUqASv-J8j9_FesxwlMAhT3_e\" });\n */\n communityPost(\n input: YoutubeCommunityPostInput,\n options?: RequestOptions,\n ): Promise<RunResult<YoutubeCommunityPostData>> {\n return this._core.run(\"youtube.community_post\", input, options);\n }\n\n /**\n * YouTube Playlist\n *\n * List every video in a YouTube playlist - title, length, and channel per video plus playlist owner and totals - normalized across providers with transparent failover.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.youtube.playlist({ playlistId: \"PLMC9KNkIncKtPzgY-5rmhvj7fax8fdxoj\" });\n */\n playlist(\n input: YoutubePlaylistInput,\n options?: RequestOptions,\n ): Promise<RunResult<YoutubePlaylistData>> {\n return this._core.run(\"youtube.playlist\", input, options);\n }\n\n /**\n * YouTube Search\n *\n * Search YouTube and get matching videos (title, channel, views, length, publish time) as normalized JSON, across providers with transparent failover.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.youtube.search({ query: \"how to cook rice\" });\n */\n search(\n input: YoutubeSearchInput,\n options?: RequestOptions,\n ): Promise<RunResult<YoutubeSearchData>> {\n return this._core.run(\"youtube.search\", input, options);\n }\n\n /**\n * YouTube Hashtag Search\n *\n * Search YouTube videos by hashtag with cursor pagination (title, channel, views, length, publish time), normalized across providers.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.youtube.searchHashtag({ hashtag: \"funny\" });\n */\n searchHashtag(\n input: YoutubeSearchHashtagInput,\n options?: RequestOptions,\n ): Promise<RunResult<YoutubeSearchHashtagData>> {\n return this._core.run(\"youtube.search_hashtag\", input, options);\n }\n\n /**\n * Iterate every result of YouTube Hashtag Search across pages.\n *\n * Yields items directly; call `.pages()` on the return value to walk whole\n * result pages instead (each carries its own costUsd).\n */\n iterSearchHashtag(\n input: YoutubeSearchHashtagInput,\n options?: RequestOptions,\n ): Paginator<YoutubeSearchHashtagVideo, RunResult<YoutubeSearchHashtagData>> {\n return paginate<\n YoutubeSearchHashtagVideo,\n RunResult<YoutubeSearchHashtagData>\n >(\n this._core,\n \"youtube.search_hashtag\",\n input as unknown as Record<string, unknown>,\n \"videos\",\n false,\n options,\n );\n }\n\n /**\n * YouTube Trending Shorts\n *\n * List currently trending YouTube Shorts (title, channel, views, likes, duration), normalized across providers.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.youtube.trendingShorts({});\n */\n trendingShorts(\n input: YoutubeTrendingShortsInput,\n options?: RequestOptions,\n ): Promise<RunResult<YoutubeTrendingShortsData>> {\n return this._core.run(\"youtube.trending_shorts\", input, options);\n }\n\n /**\n * YouTube Video\n *\n * Fetch a YouTube video's metadata (title, channel, views, likes, duration, publish date) by URL or ID, normalized across providers.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.youtube.video({ url: \"https://www.youtube.com/watch?v=dQw4w9WgXcQ\" });\n */\n video(\n input: YoutubeVideoInput,\n options?: RequestOptions,\n ): Promise<RunResult<YoutubeVideoData>> {\n return this._core.run(\"youtube.video\", input, options);\n }\n\n /**\n * YouTube Video Comments\n *\n * List the comments on a YouTube video by URL with cursor pagination (text, author, likes, reply count), normalized across providers.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.youtube.videoComments({ url: \"https://www.youtube.com/watch?v=dQw4w9WgXcQ\" });\n */\n videoComments(\n input: YoutubeVideoCommentsInput,\n options?: RequestOptions,\n ): Promise<RunResult<YoutubeVideoCommentsData>> {\n return this._core.run(\"youtube.video_comments\", input, options);\n }\n\n /**\n * Iterate every result of YouTube Video Comments across pages.\n *\n * Yields items directly; call `.pages()` on the return value to walk whole\n * result pages instead (each carries its own costUsd).\n */\n iterVideoComments(\n input: YoutubeVideoCommentsInput,\n options?: RequestOptions,\n ): Paginator<\n YoutubeVideoCommentsComment,\n RunResult<YoutubeVideoCommentsData>\n > {\n return paginate<\n YoutubeVideoCommentsComment,\n RunResult<YoutubeVideoCommentsData>\n >(\n this._core,\n \"youtube.video_comments\",\n input as unknown as Record<string, unknown>,\n \"comments\",\n false,\n options,\n );\n }\n\n /**\n * YouTube Video Sponsors\n *\n * Detect suspected sponsors and paid promotions in a YouTube video by URL (sponsor names, websites, confidence), normalized across providers.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.youtube.videoSponsors({ url: \"https://www.youtube.com/watch?v=AVO0ifle-OU\" });\n */\n videoSponsors(\n input: YoutubeVideoSponsorsInput,\n options?: RequestOptions,\n ): Promise<RunResult<YoutubeVideoSponsorsData>> {\n return this._core.run(\"youtube.video_sponsors\", input, options);\n }\n\n /**\n * YouTube Video Transcript\n *\n * Fetch the transcript/captions of a YouTube video by URL or ID, normalized across providers with transparent failover.\n *\n * Price: $0.002 per request.\n *\n * @example\n * const res = await client.youtube.videoTranscript({ url: \"https://www.youtube.com/watch?v=dQw4w9WgXcQ\" });\n */\n videoTranscript(\n input: YoutubeVideoTranscriptInput,\n options?: RequestOptions,\n ): Promise<RunResult<YoutubeVideoTranscriptData>> {\n return this._core.run(\"youtube.video_transcript\", input, options);\n }\n}\n","// Generated - do not edit. Regenerate with: pnpm generate\n\nimport type {\n ClientCore,\n RequestOptions,\n RunResult,\n} from \"../../core/index.js\";\n\n/**\n * Input for Zillow Property (zillow.property).\n */\nexport interface ZillowPropertyInput {\n /**\n * Zillow property details URL (e.g. https://www.zillow.com/homedetails/123-Main-St-Anytown-CA-90210/12345678_zpid/).\n */\n url: string;\n}\n\nexport interface ZillowPropertyItem {\n price: number;\n /**\n * Present whenever the upstream returns this record.\n */\n title?: string;\n url: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Zillow Property (zillow.property).\n */\nexport interface ZillowPropertyData {\n /**\n * Matching property records: full listing details including price, address, facts and features, photos, and price/tax history.\n */\n items: ZillowPropertyItem[];\n}\n\n/**\n * Input for Zillow Search (zillow.search).\n */\nexport interface ZillowSearchInput {\n /**\n * Maximum number of results to return (1-25, default 25). You are billed per result returned, so a lower limit costs less.\n * Range: minimum 1, maximum 25.\n */\n limit?: number;\n /**\n * Location to search: city, ZIP code, neighborhood, or address (e.g. 'Austin, TX' or '78701').\n */\n location: string;\n /**\n * Listing type: buy (for sale), rent, or sold.\n * One of: buy, rent, sold.\n * Default: buy.\n */\n operation?: \"buy\" | \"rent\" | \"sold\";\n}\n\nexport interface ZillowSearchItem {\n /**\n * Number of bathrooms.\n */\n baths?: number;\n /**\n * Number of bedrooms.\n */\n beds?: number;\n city?: string;\n /**\n * ISO currency code of the price (e.g. usd).\n */\n currency?: string;\n /**\n * Days the listing has been on Zillow.\n */\n daysOnZillow?: number;\n /**\n * URL of the primary listing photo.\n * Present whenever the upstream returns this record.\n */\n image?: string;\n latitude?: number;\n /**\n * Interior living area in square feet.\n */\n livingArea?: number;\n longitude?: number;\n /**\n * Lot size in square feet.\n */\n lotSize?: number;\n /**\n * List price in the listing currency.\n */\n price?: number;\n /**\n * Property type (e.g. singleFamily, condo, townhouse).\n */\n propertyType?: string;\n /**\n * Zillow estimated monthly rent.\n */\n rentZestimate?: number;\n /**\n * Two-letter state code.\n */\n state?: string;\n /**\n * Listing status (e.g. forSale, forRent, sold).\n */\n status?: string;\n /**\n * Street address of the property.\n * Present whenever the upstream returns this record.\n */\n streetAddress?: string;\n /**\n * Absolute Zillow listing URL.\n */\n url: string;\n yearBuilt?: number;\n /**\n * Zillow estimated market value.\n */\n zestimate?: number;\n zipcode?: string;\n /**\n * Zillow property id (zpid).\n */\n zpid: string;\n [extra: string]: unknown;\n}\n\n/**\n * The `data` payload of Zillow Search (zillow.search).\n */\nexport interface ZillowSearchData {\n /**\n * Property listing records matching the search: address, price, beds, baths, living area, property type, status, Zestimate, and coordinates.\n */\n items: ZillowSearchItem[];\n}\n\n/**\n * Typed methods for the zillow platform. Attached to the AnyAPI client as\n * `client.zillow`.\n */\nexport class ZillowNamespace {\n constructor(private readonly _core: ClientCore) {}\n\n /**\n * Zillow Property\n *\n * Fetch full details for a single Zillow property listing by URL - price, facts and features, photos, and price/tax history - with transparent per-request USD pricing.\n *\n * Price: $0.0024 per result.\n *\n * @example\n * const res = await client.zillow.property({ url: \"https://www.zillow.com/homedetails/4510-Secure-Ln-Austin-TX-78725/83126034_zpid/\" });\n */\n property(\n input: ZillowPropertyInput,\n options?: RequestOptions,\n ): Promise<RunResult<ZillowPropertyData>> {\n return this._core.run(\"zillow.property\", input, options);\n }\n\n /**\n * Zillow Search\n *\n * Search Zillow for-sale, rental, or sold listings by location (city, ZIP, or address) and get matching properties (price, address, beds, baths, living area, status, Zestimate) as normalized JSON with per-request USD pricing that scales with the number of results.\n *\n * Price: $0.0005 per request plus $0.003 per result.\n *\n * @example\n * const res = await client.zillow.search({ location: \"Austin, TX\", limit: 3, operation: \"buy\" });\n */\n search(\n input: ZillowSearchInput,\n options?: RequestOptions,\n ): Promise<RunResult<ZillowSearchData>> {\n return this._core.run(\"zillow.search\", input, options);\n }\n}\n","// Generated - do not edit. Regenerate with: pnpm generate\n\nimport { AnyAPI as AnyAPIBase } from \"../core/index.js\";\n\nimport type { RequestOptions, RunResult } from \"../core/index.js\";\n\nimport type { SkuMap } from \"./sku-map.js\";\n\nimport { AhrefsNamespace } from \"./platforms/ahrefs.js\";\nimport { AirbnbNamespace } from \"./platforms/airbnb.js\";\nimport { AlibabaNamespace } from \"./platforms/alibaba.js\";\nimport { AmazonNamespace } from \"./platforms/amazon.js\";\nimport { AppstoreNamespace } from \"./platforms/appstore.js\";\nimport { BlueskyNamespace } from \"./platforms/bluesky.js\";\nimport { BookingNamespace } from \"./platforms/booking.js\";\nimport { CoinmarketcapNamespace } from \"./platforms/coinmarketcap.js\";\nimport { CongressNamespace } from \"./platforms/congress.js\";\nimport { DexscreenerNamespace } from \"./platforms/dexscreener.js\";\nimport { EbayNamespace } from \"./platforms/ebay.js\";\nimport { EmailNamespace } from \"./platforms/email.js\";\nimport { FacebookNamespace } from \"./platforms/facebook.js\";\nimport { FiverrNamespace } from \"./platforms/fiverr.js\";\nimport { GithubNamespace } from \"./platforms/github.js\";\nimport { GlassdoorNamespace } from \"./platforms/glassdoor.js\";\nimport { GoogleNamespace } from \"./platforms/google.js\";\nimport { GoogleAdsNamespace } from \"./platforms/google_ads.js\";\nimport { GoogleFinanceNamespace } from \"./platforms/google_finance.js\";\nimport { GoogleShoppingNamespace } from \"./platforms/google_shopping.js\";\nimport { HackernewsNamespace } from \"./platforms/hackernews.js\";\nimport { IndeedNamespace } from \"./platforms/indeed.js\";\nimport { InstagramNamespace } from \"./platforms/instagram.js\";\nimport { LinkedinNamespace } from \"./platforms/linkedin.js\";\nimport { MapsNamespace } from \"./platforms/maps.js\";\nimport { PandaexpressNamespace } from \"./platforms/pandaexpress.js\";\nimport { PersonNamespace } from \"./platforms/person.js\";\nimport { PinterestNamespace } from \"./platforms/pinterest.js\";\nimport { PlaystoreNamespace } from \"./platforms/playstore.js\";\nimport { PolymarketNamespace } from \"./platforms/polymarket.js\";\nimport { RealtorNamespace } from \"./platforms/realtor.js\";\nimport { RedditNamespace } from \"./platforms/reddit.js\";\nimport { RedfinNamespace } from \"./platforms/redfin.js\";\nimport { RednoteNamespace } from \"./platforms/rednote.js\";\nimport { SecNamespace } from \"./platforms/sec.js\";\nimport { SemrushNamespace } from \"./platforms/semrush.js\";\nimport { SnapchatNamespace } from \"./platforms/snapchat.js\";\nimport { SocialNamespace } from \"./platforms/social.js\";\nimport { SpotifyNamespace } from \"./platforms/spotify.js\";\nimport { SubstackNamespace } from \"./platforms/substack.js\";\nimport { ThreadsNamespace } from \"./platforms/threads.js\";\nimport { TiktokNamespace } from \"./platforms/tiktok.js\";\nimport { TiktokShopNamespace } from \"./platforms/tiktok_shop.js\";\nimport { TripadvisorNamespace } from \"./platforms/tripadvisor.js\";\nimport { TrustpilotNamespace } from \"./platforms/trustpilot.js\";\nimport { TruthsocialNamespace } from \"./platforms/truthsocial.js\";\nimport { TwitterNamespace } from \"./platforms/twitter.js\";\nimport { UpworkNamespace } from \"./platforms/upwork.js\";\nimport { WalmartNamespace } from \"./platforms/walmart.js\";\nimport { WebNamespace } from \"./platforms/web.js\";\nimport { WhatsappNamespace } from \"./platforms/whatsapp.js\";\nimport { YahooFinanceNamespace } from \"./platforms/yahoo_finance.js\";\nimport { YelpNamespace } from \"./platforms/yelp.js\";\nimport { YoutubeNamespace } from \"./platforms/youtube.js\";\nimport { ZillowNamespace } from \"./platforms/zillow.js\";\n\n/**\n * The AnyAPI client. Extends the handwritten core base (run/balance/me/catalog/\n * describe) and attaches every platform namespace as a lazily instantiated getter.\n *\n * import { AnyAPI } from \"@getanyapi/sdk\";\n */\nexport class AnyAPI extends AnyAPIBase {\n private readonly _namespaces: Record<string, unknown> = {};\n\n /**\n * Generic typed run for any SKU by slug. A known slug literal infers its input and\n * result type from the SkuMap; any other string returns RunResult<unknown>.\n */\n run<K extends keyof SkuMap>(\n slug: K,\n input: SkuMap[K][\"input\"],\n options?: RequestOptions,\n ): Promise<SkuMap[K][\"result\"]>;\n run<S extends string, T = unknown>(\n slug: S extends keyof SkuMap ? never : S,\n input: unknown,\n options?: RequestOptions,\n ): Promise<RunResult<T>>;\n run(\n slug: string,\n input: unknown,\n options?: RequestOptions,\n ): Promise<RunResult<unknown>> {\n return super.run(slug, input, options);\n }\n\n /**\n * Typed methods for the ahrefs platform.\n */\n get ahrefs(): AhrefsNamespace {\n return (this._namespaces[\"ahrefs\"] ??= new AhrefsNamespace(\n this._core,\n )) as AhrefsNamespace;\n }\n\n /**\n * Typed methods for the airbnb platform.\n */\n get airbnb(): AirbnbNamespace {\n return (this._namespaces[\"airbnb\"] ??= new AirbnbNamespace(\n this._core,\n )) as AirbnbNamespace;\n }\n\n /**\n * Typed methods for the alibaba platform.\n */\n get alibaba(): AlibabaNamespace {\n return (this._namespaces[\"alibaba\"] ??= new AlibabaNamespace(\n this._core,\n )) as AlibabaNamespace;\n }\n\n /**\n * Typed methods for the amazon platform.\n */\n get amazon(): AmazonNamespace {\n return (this._namespaces[\"amazon\"] ??= new AmazonNamespace(\n this._core,\n )) as AmazonNamespace;\n }\n\n /**\n * Typed methods for the appstore platform.\n */\n get appstore(): AppstoreNamespace {\n return (this._namespaces[\"appstore\"] ??= new AppstoreNamespace(\n this._core,\n )) as AppstoreNamespace;\n }\n\n /**\n * Typed methods for the bluesky platform.\n */\n get bluesky(): BlueskyNamespace {\n return (this._namespaces[\"bluesky\"] ??= new BlueskyNamespace(\n this._core,\n )) as BlueskyNamespace;\n }\n\n /**\n * Typed methods for the booking platform.\n */\n get booking(): BookingNamespace {\n return (this._namespaces[\"booking\"] ??= new BookingNamespace(\n this._core,\n )) as BookingNamespace;\n }\n\n /**\n * Typed methods for the coinmarketcap platform.\n */\n get coinmarketcap(): CoinmarketcapNamespace {\n return (this._namespaces[\"coinmarketcap\"] ??= new CoinmarketcapNamespace(\n this._core,\n )) as CoinmarketcapNamespace;\n }\n\n /**\n * Typed methods for the congress platform.\n */\n get congress(): CongressNamespace {\n return (this._namespaces[\"congress\"] ??= new CongressNamespace(\n this._core,\n )) as CongressNamespace;\n }\n\n /**\n * Typed methods for the dexscreener platform.\n */\n get dexscreener(): DexscreenerNamespace {\n return (this._namespaces[\"dexscreener\"] ??= new DexscreenerNamespace(\n this._core,\n )) as DexscreenerNamespace;\n }\n\n /**\n * Typed methods for the ebay platform.\n */\n get ebay(): EbayNamespace {\n return (this._namespaces[\"ebay\"] ??= new EbayNamespace(\n this._core,\n )) as EbayNamespace;\n }\n\n /**\n * Typed methods for the email platform.\n */\n get email(): EmailNamespace {\n return (this._namespaces[\"email\"] ??= new EmailNamespace(\n this._core,\n )) as EmailNamespace;\n }\n\n /**\n * Typed methods for the facebook platform.\n */\n get facebook(): FacebookNamespace {\n return (this._namespaces[\"facebook\"] ??= new FacebookNamespace(\n this._core,\n )) as FacebookNamespace;\n }\n\n /**\n * Typed methods for the fiverr platform.\n */\n get fiverr(): FiverrNamespace {\n return (this._namespaces[\"fiverr\"] ??= new FiverrNamespace(\n this._core,\n )) as FiverrNamespace;\n }\n\n /**\n * Typed methods for the github platform.\n */\n get github(): GithubNamespace {\n return (this._namespaces[\"github\"] ??= new GithubNamespace(\n this._core,\n )) as GithubNamespace;\n }\n\n /**\n * Typed methods for the glassdoor platform.\n */\n get glassdoor(): GlassdoorNamespace {\n return (this._namespaces[\"glassdoor\"] ??= new GlassdoorNamespace(\n this._core,\n )) as GlassdoorNamespace;\n }\n\n /**\n * Typed methods for the google platform.\n */\n get google(): GoogleNamespace {\n return (this._namespaces[\"google\"] ??= new GoogleNamespace(\n this._core,\n )) as GoogleNamespace;\n }\n\n /**\n * Typed methods for the google_ads platform.\n */\n get googleAds(): GoogleAdsNamespace {\n return (this._namespaces[\"googleAds\"] ??= new GoogleAdsNamespace(\n this._core,\n )) as GoogleAdsNamespace;\n }\n\n /**\n * Typed methods for the google_finance platform.\n */\n get googleFinance(): GoogleFinanceNamespace {\n return (this._namespaces[\"googleFinance\"] ??= new GoogleFinanceNamespace(\n this._core,\n )) as GoogleFinanceNamespace;\n }\n\n /**\n * Typed methods for the google_shopping platform.\n */\n get googleShopping(): GoogleShoppingNamespace {\n return (this._namespaces[\"googleShopping\"] ??= new GoogleShoppingNamespace(\n this._core,\n )) as GoogleShoppingNamespace;\n }\n\n /**\n * Typed methods for the hackernews platform.\n */\n get hackernews(): HackernewsNamespace {\n return (this._namespaces[\"hackernews\"] ??= new HackernewsNamespace(\n this._core,\n )) as HackernewsNamespace;\n }\n\n /**\n * Typed methods for the indeed platform.\n */\n get indeed(): IndeedNamespace {\n return (this._namespaces[\"indeed\"] ??= new IndeedNamespace(\n this._core,\n )) as IndeedNamespace;\n }\n\n /**\n * Typed methods for the instagram platform.\n */\n get instagram(): InstagramNamespace {\n return (this._namespaces[\"instagram\"] ??= new InstagramNamespace(\n this._core,\n )) as InstagramNamespace;\n }\n\n /**\n * Typed methods for the linkedin platform.\n */\n get linkedin(): LinkedinNamespace {\n return (this._namespaces[\"linkedin\"] ??= new LinkedinNamespace(\n this._core,\n )) as LinkedinNamespace;\n }\n\n /**\n * Typed methods for the maps platform.\n */\n get maps(): MapsNamespace {\n return (this._namespaces[\"maps\"] ??= new MapsNamespace(\n this._core,\n )) as MapsNamespace;\n }\n\n /**\n * Typed methods for the pandaexpress platform.\n */\n get pandaexpress(): PandaexpressNamespace {\n return (this._namespaces[\"pandaexpress\"] ??= new PandaexpressNamespace(\n this._core,\n )) as PandaexpressNamespace;\n }\n\n /**\n * Typed methods for the person platform.\n */\n get person(): PersonNamespace {\n return (this._namespaces[\"person\"] ??= new PersonNamespace(\n this._core,\n )) as PersonNamespace;\n }\n\n /**\n * Typed methods for the pinterest platform.\n */\n get pinterest(): PinterestNamespace {\n return (this._namespaces[\"pinterest\"] ??= new PinterestNamespace(\n this._core,\n )) as PinterestNamespace;\n }\n\n /**\n * Typed methods for the playstore platform.\n */\n get playstore(): PlaystoreNamespace {\n return (this._namespaces[\"playstore\"] ??= new PlaystoreNamespace(\n this._core,\n )) as PlaystoreNamespace;\n }\n\n /**\n * Typed methods for the polymarket platform.\n */\n get polymarket(): PolymarketNamespace {\n return (this._namespaces[\"polymarket\"] ??= new PolymarketNamespace(\n this._core,\n )) as PolymarketNamespace;\n }\n\n /**\n * Typed methods for the realtor platform.\n */\n get realtor(): RealtorNamespace {\n return (this._namespaces[\"realtor\"] ??= new RealtorNamespace(\n this._core,\n )) as RealtorNamespace;\n }\n\n /**\n * Typed methods for the reddit platform.\n */\n get reddit(): RedditNamespace {\n return (this._namespaces[\"reddit\"] ??= new RedditNamespace(\n this._core,\n )) as RedditNamespace;\n }\n\n /**\n * Typed methods for the redfin platform.\n */\n get redfin(): RedfinNamespace {\n return (this._namespaces[\"redfin\"] ??= new RedfinNamespace(\n this._core,\n )) as RedfinNamespace;\n }\n\n /**\n * Typed methods for the rednote platform.\n */\n get rednote(): RednoteNamespace {\n return (this._namespaces[\"rednote\"] ??= new RednoteNamespace(\n this._core,\n )) as RednoteNamespace;\n }\n\n /**\n * Typed methods for the sec platform.\n */\n get sec(): SecNamespace {\n return (this._namespaces[\"sec\"] ??= new SecNamespace(\n this._core,\n )) as SecNamespace;\n }\n\n /**\n * Typed methods for the semrush platform.\n */\n get semrush(): SemrushNamespace {\n return (this._namespaces[\"semrush\"] ??= new SemrushNamespace(\n this._core,\n )) as SemrushNamespace;\n }\n\n /**\n * Typed methods for the snapchat platform.\n */\n get snapchat(): SnapchatNamespace {\n return (this._namespaces[\"snapchat\"] ??= new SnapchatNamespace(\n this._core,\n )) as SnapchatNamespace;\n }\n\n /**\n * Typed methods for the social platform.\n */\n get social(): SocialNamespace {\n return (this._namespaces[\"social\"] ??= new SocialNamespace(\n this._core,\n )) as SocialNamespace;\n }\n\n /**\n * Typed methods for the spotify platform.\n */\n get spotify(): SpotifyNamespace {\n return (this._namespaces[\"spotify\"] ??= new SpotifyNamespace(\n this._core,\n )) as SpotifyNamespace;\n }\n\n /**\n * Typed methods for the substack platform.\n */\n get substack(): SubstackNamespace {\n return (this._namespaces[\"substack\"] ??= new SubstackNamespace(\n this._core,\n )) as SubstackNamespace;\n }\n\n /**\n * Typed methods for the threads platform.\n */\n get threads(): ThreadsNamespace {\n return (this._namespaces[\"threads\"] ??= new ThreadsNamespace(\n this._core,\n )) as ThreadsNamespace;\n }\n\n /**\n * Typed methods for the tiktok platform.\n */\n get tiktok(): TiktokNamespace {\n return (this._namespaces[\"tiktok\"] ??= new TiktokNamespace(\n this._core,\n )) as TiktokNamespace;\n }\n\n /**\n * Typed methods for the tiktok_shop platform.\n */\n get tiktokShop(): TiktokShopNamespace {\n return (this._namespaces[\"tiktokShop\"] ??= new TiktokShopNamespace(\n this._core,\n )) as TiktokShopNamespace;\n }\n\n /**\n * Typed methods for the tripadvisor platform.\n */\n get tripadvisor(): TripadvisorNamespace {\n return (this._namespaces[\"tripadvisor\"] ??= new TripadvisorNamespace(\n this._core,\n )) as TripadvisorNamespace;\n }\n\n /**\n * Typed methods for the trustpilot platform.\n */\n get trustpilot(): TrustpilotNamespace {\n return (this._namespaces[\"trustpilot\"] ??= new TrustpilotNamespace(\n this._core,\n )) as TrustpilotNamespace;\n }\n\n /**\n * Typed methods for the truthsocial platform.\n */\n get truthsocial(): TruthsocialNamespace {\n return (this._namespaces[\"truthsocial\"] ??= new TruthsocialNamespace(\n this._core,\n )) as TruthsocialNamespace;\n }\n\n /**\n * Typed methods for the twitter platform.\n */\n get twitter(): TwitterNamespace {\n return (this._namespaces[\"twitter\"] ??= new TwitterNamespace(\n this._core,\n )) as TwitterNamespace;\n }\n\n /**\n * Typed methods for the upwork platform.\n */\n get upwork(): UpworkNamespace {\n return (this._namespaces[\"upwork\"] ??= new UpworkNamespace(\n this._core,\n )) as UpworkNamespace;\n }\n\n /**\n * Typed methods for the walmart platform.\n */\n get walmart(): WalmartNamespace {\n return (this._namespaces[\"walmart\"] ??= new WalmartNamespace(\n this._core,\n )) as WalmartNamespace;\n }\n\n /**\n * Typed methods for the web platform.\n */\n get web(): WebNamespace {\n return (this._namespaces[\"web\"] ??= new WebNamespace(\n this._core,\n )) as WebNamespace;\n }\n\n /**\n * Typed methods for the whatsapp platform.\n */\n get whatsapp(): WhatsappNamespace {\n return (this._namespaces[\"whatsapp\"] ??= new WhatsappNamespace(\n this._core,\n )) as WhatsappNamespace;\n }\n\n /**\n * Typed methods for the yahoo_finance platform.\n */\n get yahooFinance(): YahooFinanceNamespace {\n return (this._namespaces[\"yahooFinance\"] ??= new YahooFinanceNamespace(\n this._core,\n )) as YahooFinanceNamespace;\n }\n\n /**\n * Typed methods for the yelp platform.\n */\n get yelp(): YelpNamespace {\n return (this._namespaces[\"yelp\"] ??= new YelpNamespace(\n this._core,\n )) as YelpNamespace;\n }\n\n /**\n * Typed methods for the youtube platform.\n */\n get youtube(): YoutubeNamespace {\n return (this._namespaces[\"youtube\"] ??= new YoutubeNamespace(\n this._core,\n )) as YoutubeNamespace;\n }\n\n /**\n * Typed methods for the zillow platform.\n */\n get zillow(): ZillowNamespace {\n return (this._namespaces[\"zillow\"] ??= new ZillowNamespace(\n this._core,\n )) as ZillowNamespace;\n }\n}\n"],"mappings":"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","names":["AnyAPI","parsed","DEFAULT_BASE_URL","AnyAPI"]}