Occasionwear catalog and pricing monitoring
Mit Oh Polly-Endpunkten verwandelst du occasionwear catalog and pricing monitoring in wiederholbare API-Requests mit dokumentierten Inputs und JSON-Antworten.
Turn Oh Polly's public Shopify storefront into structured retail data for occasion and going-out fashion — full product catalog and detail with every size and color variant, collection browsing, storefront pages, recommendations, and sitemap discovery, all pinned to Oh Polly's own storefront URL so no url parameter is needed. Credential-free.
Get Oh Polly products, collections, pages, and recommendations as structured JSON through a pinned endpoint family — no url parameter needed.
Endpunkt-Familien
6
Dokumentierte Parameter
30
Beispiele
11
Live-Katalog-Snapshot
Aktive Endpunkte
11
Methoden
GET
Pflichtparameter
16
Schema-Referenzen
11
{
"platform": "Oh Polly",
"endpoint": "ohpolly-store",
"method": "GET",
"path": "/ohpolly/store",
"auth": "apiKey"
}Use Cases
Get Oh Polly products, collections, pages, and recommendations as structured JSON through a pinned endpoint family — no url parameter needed.
Mit Oh Polly-Endpunkten verwandelst du occasionwear catalog and pricing monitoring in wiederholbare API-Requests mit dokumentierten Inputs und JSON-Antworten.
Mit Oh Polly-Endpunkten verwandelst du collection and merchandising research in wiederholbare API-Requests mit dokumentierten Inputs und JSON-Antworten.
Mit Oh Polly-Endpunkten verwandelst du storefront page and sitemap discovery in wiederholbare API-Requests mit dokumentierten Inputs und JSON-Antworten.
Managed Execution
Jede Zahl unten stammt direkt aus dem Live-Oh Polly-Endpunktkatalog — 11 Endpunkte, 30 dokumentierte Request-Parameter und 11 veröffentlichte Response-Schemas — demselben Katalog, gegen den auch Docs und Playground laufen.
11 documented Oh Polly endpoints, grouped into 7 request families — Products, Collections and Pages, plus 4 more.
30 request parameters are documented across those Oh Polly endpoints, 16 of them required — the full input contract is public before you write any integration code.
11 of the 11 Oh Polly endpoints ship a recorded example response, and 11 carry a documented response schema — you can code against the real JSON before the first request.
Oh Polly endpoints document their error responses (400, 404, 429 and 503) alongside the success schema, so a block, a rate limit, or a missing record comes back as a typed error rather than silently empty data.
11 hosted MCP tools back the Oh Polly endpoints, so an agent can call the same routes with the same parameters and the same JSON contract, with no custom glue.
Abdeckungskarte
Diese Karten werden aus dem aktiven Endpunktkatalog generiert, damit die Landingpage dieselbe API-Oberfläche widerspiegelt, die auch Docs und Playground nutzen.
/ohpolly/products
/ohpolly/collections
/ohpolly/pages
/ohpolly/search/suggest
/ohpolly/sitemap/urls
/ohpolly/sitemaps
Endpunktkatalog
/ohpolly/storeReturns normalized storefront metadata for Oh Polly (https://www.ohpolly.com), sourced from credential-free storefront JSON. This endpoint is a brand-pinned wrapper around the generic Shopify store family: the storefront URL is fixed server-side, so no `url` parameter is accepted. If the vanity domain blocks `/products.json`, the service may fall back to a public `*.myshopify.com` domain discovered from the storefront page, or to the storefront's own embedded page data for storefronts that expose neither.
Hinweise zur Response
- Returns the resolved source URL used for JSON requests. - Includes `myshopify_domain`, store name, currency, country, and published product/collection counts when `/meta.json` exposes them. - Blocked pages, malformed JSON, missing Shopify roots, and unavailable fallback domains return upstream errors. - If the classic `/products.json` endpoint and `*.myshopify.com` domain resolution are both unavailable, the service falls back to fetching the storefront's own pages directly and parsing their embedded structured data. When this fallback was used, `transport_mode` is `ssr_embedded`; it is omitted entirely for stores served by the classic catalog JSON. `transport_mode` allowed values: `ssr_embedded` (only ever present, never any other value; omitted for the classic transport).
MCP-Tool ohpolly_store
/ohpolly/productsReturns normalized products from Oh Polly's (https://www.ohpolly.com) public product catalog. The storefront URL is fixed server-side. Valid empty result pages return `200` with an empty products array.
Hinweise zur Response
- Valid empty result pages return `200` with an empty `products` array. - Product prices are normalized to decimal currency units. - Blocked pages, malformed JSON, and missing `products` roots return upstream errors. - If the classic `/products.json` endpoint and `*.myshopify.com` domain resolution are both unavailable (some headless storefronts on a Shopify catalog do not expose either), the service falls back to the storefront's own conventional "all products" collection page and parses its embedded search-result payload. When this fallback was used, the response includes `transport_mode: "ssr_embedded"`, `total_items`, and `total_pages`, plus additive per-product fields (`colour`, `canonical_colour`, `discount_percentage`, `rating`, `rating_count`, `collection_tags`, `labels`, per-variant `inventory_quantity`). `limit` is honored as an upper bound; the underlying page size is fixed by the storefront and cannot be requested larger in fallback mode. All of the above are omitted entirely for stores served by the classic catalog JSON. - When the `ssr_embedded` fallback was used, the response may also include `facets` and `facets_stats`, mirroring the storefront's own filter sidebar for that listing. - This brand-pinned endpoint does not accept `sortBy` or facet-filter query parameters (out of scope -- use the generic `/shopify/products` endpoint with `url` set to this brand's storefront for sort/filter support). The response reuses the same shared DTO as the generic family, which carries `sort`/`filters` fields for that feature; they are always omitted here since this endpoint never populates them. `sort` allowed values (never actually returned by this endpoint, listed for schema completeness): `sortLTH`, `sortHTL`, `newest`. This brand-pinned endpoint also does not accept the generic family's `sort_by`/`min_price`/`max_price`/`product_type`/`in_stock_only`/`option_*` Storefront Filtering params (same out-of-scope reasoning -- use the generic `/shopify/products` endpoint with `url` set to this brand's storefront). The response DTO carries the matching `sort_by`/`min_price`/`max_price`/`product_type`/`in_stock_only`/`variant_options` fields for that feature; they are always omitted here since this endpoint never populates them. `sort_by` allowed values (never actually returned by this endpoint, listed for schema completeness): `manual`, `best-selling`, `title-ascending`, `title-descending`, `price-ascending`, `price-descending`, `created-ascending`, `created-descending`. `transport_mode` allowed values: `ssr_embedded`, `storefront_filtered` (only ever these two values; omitted for the classic transport).
MCP-Tool ohpolly_products
/ohpolly/products/{handle}Returns normalized product detail for one Oh Polly (https://www.ohpolly.com) product handle. The storefront URL is fixed server-side; `handle` is the product's URL slug.
Hinweise zur Response
- Product prices from `.js` responses are normalized from cent values to decimal currency units. - Missing product handles return `404` when Shopify returns not found. - Blocked pages, malformed JSON, and missing product fields return upstream errors. - If the classic product `.js` endpoint and `*.myshopify.com` domain resolution are both unavailable, the service falls back to fetching the product detail page directly and parsing its embedded structured data (a richer Next.js data block when the storefront exposes one, otherwise the page's schema.org JSON-LD `ProductGroup`/`Product` block). When this fallback was used, the response includes `transport_mode: "ssr_embedded"` and additive fields (`colour`, `canonical_colour`, `discount_percentage`, `rating`, `rating_count`, `collection_tags`, `labels`, per-variant `inventory_quantity`). `transport_mode` is omitted entirely for stores served by the classic transport. `transport_mode` allowed values: `ssr_embedded` (only ever present, never any other value; omitted for the classic transport).
MCP-Tool ohpolly_product
/ohpolly/products/{handle}/recommendationsReturns normalized recommended products for one Oh Polly (https://www.ohpolly.com) product handle. The route handle is resolved to a Shopify product id before fetching recommendations. The storefront URL is fixed server-side.
Hinweise zur Response
- Missing product handles return `404` when Shopify returns not found while resolving the seed product. - Valid empty recommendation arrays return `200` with an empty `products` array. - Blocked pages, malformed JSON, and missing Shopify roots return upstream errors. - If the classic recommendations endpoint and `*.myshopify.com` domain resolution are both unavailable, the service falls back to fetching the seed product's own detail page (recommendations are embedded there). When this fallback was used, the response includes `transport_mode: "ssr_embedded"`, with the same additive product fields documented for the products endpoint. `transport_mode` allowed values: `ssr_embedded` (only ever present, never any other value; omitted for the classic transport).
MCP-Tool ohpolly_product_recommendations
/ohpolly/collectionsReturns normalized collections from Oh Polly (https://www.ohpolly.com). The storefront URL is fixed server-side. Valid empty result pages return `200` with an empty collections array.
Hinweise zur Response
- Valid empty result pages return `200` with an empty `collections` array. - Blocked pages, malformed JSON, and missing `collections` roots return upstream errors. - If the classic `/collections.json` endpoint and `*.myshopify.com` domain resolution are both unavailable, the service falls back to enumerating collections from the storefront's own `collections` sitemap. When this fallback was used, the response includes `transport_mode: "ssr_embedded"`, and `title` is a best-effort derivation from the handle -- **not** the storefront's real display name. `products_count` and other classic-only fields are omitted, never fabricated. - In fallback mode, `handle` is derived from the last path segment of the collection URL and is not guaranteed unique across nested sub-collections; use the item's own `url` to identify a specific one. `transport_mode` allowed values: `ssr_embedded` (only ever present, never any other value; omitted for the classic transport).
MCP-Tool ohpolly_collections
/ohpolly/collections/{handle}/productsReturns normalized products from one Oh Polly (https://www.ohpolly.com) collection. The storefront URL is fixed server-side; `handle` is the collection's URL slug.
Hinweise zur Response
- Valid empty result pages return `200` with an empty `products` array. - Missing collections return `404` when Shopify returns not found. - Blocked pages, malformed JSON, and missing `products` roots return upstream errors. - If the classic collection `/products.json` endpoint and `*.myshopify.com` domain resolution are both unavailable, the service falls back to fetching the collection listing page directly and parsing its embedded search-result payload. When this fallback was used, the response includes `transport_mode: "ssr_embedded"`, `total_items`, `total_pages`, plus additive per-product fields (`colour`, `canonical_colour`, `discount_percentage`, `rating`, `rating_count`, `collection_tags`, `labels`, per-variant `inventory_quantity`) and may include `facets`/`facets_stats`. `limit` is honored as an upper bound only; underlying page size is fixed by the storefront in fallback mode. - This brand-pinned endpoint does not accept `sortBy` or facet-filter query parameters (out of scope -- use the generic `/shopify/collections/{handle}/products` endpoint with `url` set to this brand's storefront for sort/filter support). The response reuses the same shared DTO as the generic family, which carries `sort`/`filters` fields for that feature; they are always omitted here since this endpoint never populates them. `sort` allowed values (never actually returned by this endpoint, listed for schema completeness): `sortLTH`, `sortHTL`, `newest`. This brand-pinned endpoint also does not accept the generic family's `sort_by`/`min_price`/`max_price`/`product_type`/`in_stock_only`/`option_*` Storefront Filtering params (same out-of-scope reasoning -- use the generic `/shopify/collections/{handle}/products` endpoint with `url` set to this brand's storefront). The response DTO carries the matching `sort_by`/`min_price`/`max_price`/`product_type`/`in_stock_only`/`variant_options` fields for that feature; they are always omitted here since this endpoint never populates them. `sort_by` allowed values (never actually returned by this endpoint, listed for schema completeness): `manual`, `best-selling`, `title-ascending`, `title-descending`, `price-ascending`, `price-descending`, `created-ascending`, `created-descending`. `transport_mode` allowed values: `ssr_embedded`, `storefront_filtered` (only ever these two values; omitted for the classic transport).
MCP-Tool ohpolly_collection_products
/ohpolly/search/suggestReturns products, collections, and query suggestions from Oh Polly's (https://www.ohpolly.com) credential-free predictive search Ajax endpoint. The storefront URL is fixed server-side.
Hinweise zur Response
- Products and collections are normalized to the same shapes used by the product and collection endpoints. - Query suggestions include text and a storefront search URL when the storefront provides one. - Valid empty suggestion arrays return `200` with empty arrays. - Blocked pages, malformed JSON, and missing Shopify roots return upstream errors.
MCP-Tool ohpolly_search_suggest
/ohpolly/pagesReturns normalized static pages from Oh Polly (https://www.ohpolly.com). The storefront URL is fixed server-side.
Hinweise zur Response
- Page content is cleaned text from Shopify `body_html`; raw HTML is not returned. - Valid empty page arrays return `200` with an empty `pages` array. - Blocked pages, malformed JSON, and missing Shopify roots return upstream errors. - If the classic `/pages.json` endpoint and `*.myshopify.com` domain resolution are both unavailable, the service falls back to enumerating page handles from the storefront's own `pages` sitemap. When this fallback was used, the response includes `transport_mode: "ssr_embedded"`, and each item only carries `handle`, `url`, and `updated_at` -- no `title`, `id`, or `content`. Call the single-page endpoint per handle for full content. `transport_mode` allowed values: `ssr_embedded` (only ever present, never any other value; omitted for the classic transport).
MCP-Tool ohpolly_pages
/ohpolly/pages/{handle}Returns normalized static page detail for one Oh Polly (https://www.ohpolly.com) page handle. The storefront URL is fixed server-side.
Hinweise zur Response
- Page content is cleaned text from Shopify `body_html`; raw HTML is not returned. - Missing page handles return `404` when Shopify returns not found. - Blocked pages, malformed JSON, and missing Shopify roots return upstream errors. - If the classic `/pages/{handle}.json` endpoint and `*.myshopify.com` domain resolution are both unavailable, the service falls back to fetching the page's own HTML and parsing an embedded Contentful CMS entry. When this fallback was used, the response includes `transport_mode: "ssr_embedded"`; `content` is plain text rendered from the page's rich-text blocks, and `id` is omitted (the source id is a Contentful entry id, not a Shopify numeric id). `transport_mode` allowed values: `ssr_embedded` (only ever present, never any other value; omitted for the classic transport).
MCP-Tool ohpolly_page
/ohpolly/sitemapsReturns child sitemap URLs from Oh Polly's (https://www.ohpolly.com) `/sitemap.xml` index with inferred sitemap types. The storefront URL is fixed server-side.
Hinweise zur Response
- Sitemap `type` is inferred from the child sitemap URL. - Inferred sitemap types are `products`, `collections`, `pages`, `blogs`, `agentic_discovery`, and `other`. - Blocked pages, malformed XML, and missing sitemap entries return upstream errors.
MCP-Tool ohpolly_sitemaps
/ohpolly/sitemap/urlsReturns capped URL entries from Oh Polly's (https://www.ohpolly.com) child sitemaps matching the requested type. The storefront URL is fixed server-side.
Hinweise zur Response
- The service fetches matching child sitemaps from `/sitemap.xml` until `limit` URL entries is reached. - URL entries include `loc`, inferred `type`, `handle`, `lastmod`, `changefreq`, and optional `images`. - Blocked pages, malformed XML, and missing sitemap entries return upstream errors.
MCP-Tool ohpolly_sitemap_urls
Verwandte APIs
Marketplaces & Retail
Collect marketplace product signals from Amazon without building brittle storefront scrapers.
Marketplaces & Retail
Build resale, pricing, and marketplace workflows from structured eBay data.
Marketplaces & Retail
Turn public Shop.app product and merchant pages into structured JSON for e-commerce product intelligence, price research, shop monitoring, and marketplace discovery workflows.
So scrapst du Oh Polly
Crawlora's Oh Polly endpoints return womenswear catalog data as normalized JSON, pinned server-side to www.ohpolly.com. This is Oh Polly's UK store: /ohpolly/store reports GBP pricing, a Wirral, England address, 3,502 published products, and 687 collections. The storefront also sells Oh Polly's sister label Bo+Tee, which made up 234 of the first 500 products.
Page /ohpolly/products at limit=250 (about 15 pages) and group on vendor. In the first 500, 194 were Oh Polly, 65 Oh Polly Swim, and 234 Bo+Tee, plus a few rows under a vendor labelled Dead. Check those before you count them as live stock.
Prices are GBP (median £45 in the first 500, with a £160 top). Size appears under three option names, Size, UK Size, and Shoe Size, and some corset tops and dresses add Cup Size. Map them to one field before comparing variants.
Each colourway is its own product, with the colour in the title: Vinyl Corset Mini Dress in Black, Faux Fur Triangle Bralette in White. Split on in to recover style and colour. Product types include Tops, Dresses, Bottoms, Swim, and All In Ones.
/ohpolly/collections covers occasion edits (After Dark, Best-Dressed Guest, Airport Outfits) and offers such as 2 for £40. Most of the 158 pages from /ohpolly/pages are lookbooks. /ohpolly/search/suggest for black returns dresses, collections like Black Jumpsuits, and completions such as black maxi dress.
FAQ
GBP. The pinned storefront is Oh Polly's UK store (store name Oh Polly UK), so every price and compare_at_price is in pounds.
Yes. Bo+Tee is sold on the same storefront and appears in /ohpolly/products with vendor Bo+Tee. It made up nearly half of the first 500 products on 2026-09-18. Filter on vendor to separate the two labels.
/ohpolly/store reported 3,502 published products and 687 collections on 2026-09-18, with product URLs split across 4 product sitemaps.
/ohpolly/* pins Oh Polly's own storefront URL (https://www.ohpolly.com) server-side, so every call needs only your Crawlora API key — no url parameter. The same storefront is also reachable through /shopify/* by passing url=https://www.ohpolly.com, which is the only way to reach this storefront's sort and filter options on /shopify/products and /shopify/collections/{handle}/products — those two parameters are not exposed on the brand-pinned routes.