DICK'S Sporting Goods
DICK'S Sporting Goods' own storefront — product search, product detail, store-level stock and store locator.
DICK'S Sporting Goods' own storefront — product search, product detail, store-level stock and store locator. The store locator is callable now: it finds stores near a ZIP or a city with full address, phone, per-day trading and curbside hours, and in-store services. The other four declared functions are still stubs, walled behind the main storefront host.
Domain: dickssportinggoods.com
Also known as: DICK'S Sporting Goods, Dick's Sporting Goods, DICK'S, DSG
Call it directly
bowmark.providers.dickssportinggoods.findStores({ near, radiusMiles?, limit? }): Promise<dickssportinggoodsStoreSearch>Functions
| Function | What it does |
|---|---|
findStores | DICK'S stores near a place, nearest first, each with its street address, phone, coordinates, per-day trading hours, curbside window, banner and in-store services. |
Types
interface dickssportinggoodsDayHours {
/** 24-hour "HH:MM" local to the store. */
open: string;
close: string;
}
/** What the locator says about one day. The three cases are DISTINCT: a window,
* the literal "closed" when the site flags the day shut, and null when the site
* publishes nothing. A null is UNKNOWN, not closed — several stores offer
* curbside pickup without publishing its window. */
type dickssportinggoodsDayEntry = dickssportinggoodsDayHours | "closed" | null;
type dickssportinggoodsHours = Record<
"monday" | "tuesday" | "wednesday" | "thursday" | "friday" | "saturday" | "sunday",
dickssportinggoodsDayEntry
>;
interface dickssportinggoodsStore {
/** The store number DICK'S itself uses, e.g. "1338". */
storeId: string;
name: string;
/** Which banner occupies this building — "DSG", "GG" (Golf Galaxy), "HOS"
* (House of Sport). The chain runs several under one locator. */
banner: string | null;
street: string;
/** Mall or complex, when the locator names one. */
street2: string | null;
city: string;
state: string;
postalCode: string;
country: string;
latitude: number;
longitude: number;
phone: string | null;
url: string | null;
/** Straight-line miles from the geocoded search centre. */
distanceMiles: number | null;
openingStatus: string | null;
temporarilyClosed: boolean;
curbsidePickup: boolean;
hours: dickssportinggoodsHours;
/** Curbside window, which is NOT the trading hours — it opens an hour earlier
* at every store that publishes one. A store can have curbsidePickup: true and
* no window at all, in which case every day here is null. */
curbsideHours: dickssportinggoodsHours;
/** In-store services the locator flags on, e.g. "bike", "golf", "racquet". */
services: string[];
}
interface dickssportinggoodsStoreSearch {
query: string;
center: { latitude: number; longitude: number } | null;
/** How the site itself named the place it geocoded to. */
resolvedTo: { city: string | null; state: string | null; postalCode: string | null } | null;
radiusMiles: number;
/** Nearest first. The endpoint never discloses a total, so a complete result
* set cannot be told from a truncated one except by raising `limit`. */
stores: dickssportinggoodsStore[];
}