PristineMarketplace API endpoint
Returns products, collections, and query suggestions from Pristine Marketplace's (https://www.pristinemarketplace.com) predictive search. The storefront URL is fixed server-side.
/pristine-marketplace/search/suggestThis is a brand-pinned endpoint: the storefront URL (https://www.pristinemarketplace.com) is fixed server-side, so unlike the generic /shopify/* family this wraps, there is no url request parameter. The same storefront is reachable through the generic family by passing url=https://www.pristinemarketplace.com directly.
Query parameters:
q: required. Search query text.types: optional comma-separated suggestion types. Allowed values: product, collection, query. Defaults to product,collection,query.limit: optional. Defaults to 10, maximum 20.Notable response behavior:
200 with empty arrays.| Field | Filled in, of 3 checked | Values in the sample |
|---|---|---|
| id | 3 | |
| handle | 3 | |
| title | 3 | “Packers Jordan Love Authentic Signed Green Nike Limited Jer…” and 2 other values |
| url | 3 | pristinemarketplace.com |
| description | 3 | median 1,146 characters |
| vendor | 3 | “Press Pass Collectibles” and 1 other value |
| product_type | 3 | “Jerseys” and 1 other value |
| price | 3 | 269 to 619, median 619 |
| featured_image | 3 | cdn.shopify.com |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| q | string | Yes | Search query | jordan | |
| types | string | No | Comma-separated suggestion types. Allowed values: product, collection, query | product,collection,query | |
| limit | integer | No | 10 and supports up to 20 | Maximum results per type, defaults to 10 and supports up to 20 | 10 |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/pristine-marketplace/search/suggest?q=jordan&limit=10" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"store_url": "https://www.pristinemarketplace.com",
"source_url": "https://www.pristinemarketplace.com",
"query": "jordan",
"types": [
"product",
"collection",
"query"
],
"limit": 10,
"products": [
{
"handle": "jordan-love-signed-green-bay-packers-funko-pop-307",
"title": "Jordan Love Signed Green Bay Packers Funko Pop #307"
}
],
"collections": [
{
"handle": "michael-jordan",
"title": "Michael Jordan Memorabilia"
}
],
"queries": [
{
"text": "jordan",
"url": "https://www.pristinemarketplace.com/search?q=jordan"
}
]
}
}Request schema
No body schema
Response schema
#/definitions/shopifybrands.searchSuggestResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | shopify.SearchSuggestResponse | No | ||||
| data.collections | array | No | Collections suggested for the query. CollectionItem record, 9 fields: created_at, description, handle, id, products_count, published_at, title, updated_at, url. Described under Pristine Marketplace Collections API. | |||
| data.limit | integer | No | 10 | Maximum number of suggestions requested. | ||
| data.products | array | No | Products suggested for the query. ProductItem record, 57 fields: available, canonical_colour, collection_tags, colour, compare_at_price, condition, created_at, description, discount_percentage, featured_image, handle, id and 14 more. Described under Pristine Marketplace Search API. | |||
| data.queries | array | No | Search phrases suggested for the query. | |||
| data.queries[].text | string | No | wool | Suggested search phrase. | ||
| data.queries[].url | string | No | https://www.allbirds.com/search?q=wool | Storefront search results URL for the phrase. | ||
| data.query | string | No | wool | Search text that was run. | ||
| data.source_url | string | No | https://www.allbirds.com | URL the data was read from. | ||
| data.store_url | string | No | https://www.allbirds.com | Base URL of the Shopify storefront that was queried. | ||
| data.types | array | No | product,collection,query | Suggestion types returned: `product`, `collection` and `query`. | ||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 429 | Too Many Requests | #/definitions/app.Response |
| 503 | Service Unavailable | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/pristine-marketplace/search/suggest?q=jordan&limit=10" \
-H "x-api-key: $CRAWLORA_API_KEY"