Apple
apple.com's own site search and product pages — no API, no login, no browser.
Domain: apple.com
Also known as: Apple, Apple Inc., apple.com
Prefer the capability
bowmark.phone_trade_in covers this provider and routes around it when it is having a bad day. Reach for this page when you need apple.com specifically.
Call it directly
bowmark.providers.apple.search(query: string): Promise<AppleSearchResponse>
bowmark.providers.apple.getProduct(urlOrPath: string): Promise<AppleProductPage>
bowmark.providers.apple.getTradeInEstimate(model: string): Promise<AppleTradeInEstimate>Functions
| Function | What it does |
|---|---|
search | Runs apple.com's own site search for a keyword and returns the organic and curated result rows it renders server-side. |
getProduct | Reads one apple.com product/buy page (a URL or path, e.g. search()'s own rows) and returns every schema.org Product block it publishes. |
getTradeInEstimate | Reads apple.com's own trade-in value table and returns the CEILING ("up to $X") cash-or-credit estimate it publishes for one device — a human name ("iPhone 14 Pro") or the slug… |
Types
interface AppleSearchResult {
kind: "organic" | "curated";
title: string;
description: string | null;
url: string | null;
links?: Array<{ label: string; url: string }>;
}
interface AppleSearchResponse {
query: string;
results: AppleSearchResult[];
}
interface AppleProduct {
name: string;
lowPrice: number | null;
highPrice: number | null;
priceCurrency: string | null;
image: string | null;
description: string | null;
}
interface AppleProductPage {
url: string;
products: AppleProduct[];
}
interface AppleTradeInEstimate {
device: string;
upToUsd: number;
sourceUrl: string;
}Examples
const { results } = await bowmark.providers.apple.search("iphone");
// results[0] -> { kind: "curated", title: "iPhone", description: "…", url: "https://www.apple.com/iphone/", links: [...] }const page = await bowmark.providers.apple.getProduct("/shop/buy-iphone/iphone-16");
// page.products[0] -> { name: "iPhone 16", lowPrice: 699, highPrice: 729, priceCurrency: "USD", … }Related
phone_trade_in | Phone trade-in value — the capability this provider backs. |
sellcell | Also backs the same capability. |