shop.deere.com APIshop.deere.com ↗
Search and browse the John Deere parts catalog. Access part details, pricing, availability, equipment model lookups, categories, and related part recommendations.
curl -X GET 'https://api.parse.bot/scraper/4211ceff-b33b-4e00-ae8f-4fb172d44b93/search_parts?page=1&size=24&sort=RELEVANCE&query=oil+filter' \ -H 'X-API-Key: $PARSE_API_KEY'
Search the John Deere parts catalog by keyword or part number. Returns paginated results with pricing information and available facets for filtering.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number. |
| size | integer | Results per page. |
| sort | string | Sort order. Accepted values: RELEVANCE, NAME_A_TO_Z, NAME_Z_TO_A. |
| queryrequired | string | Search keyword or part number. |
{
"type": "object",
"fields": {
"facets": "array of facet objects for filtering (models, categories, sub-categories)",
"products": "array of product objects with code, name, description, assets, categories, pricing",
"totalResults": "integer total number of matching products"
},
"sample": {
"data": {
"facets": [
{
"code": "fitment",
"name": "Models",
"facetValues": [
{
"name": "E140",
"count": 37
}
]
}
],
"products": [
{
"code": "AM125424",
"name": "AM125424: Engine Oil Filter",
"assets": [
{
"url": "https://johndeere.widen.net/content/xoqnizp1uj/webp/AM125424_iso1.webp",
"type": "Image",
"resolution": "original"
}
],
"pricing": {
"ecommPrice": {
"amount": "10.42",
"currency": "USD"
},
"availability": "InStock"
},
"categories": [
"Filters/EngineOilFilters"
],
"description": "Oil Filter",
"productType": "PARTS"
}
],
"totalResults": 7943
},
"status": "success"
}
}About the shop.deere.com API
The shop.deere.com API provides structured access to the John Deere parts catalog across 9 endpoints, covering part search, category browsing, equipment model lookups, pricing, and related product recommendations. The get_part_details endpoint returns real-time pricing fields including ecommPrice, regularPrice, and customerPrice alongside fulfillment details and frequentlyBoughtTogether recommendations — making it practical for building parts lookup tools, inventory integrations, or fleet maintenance workflows.
Searching and Browsing Parts
The search_parts endpoint accepts a query string (keyword or part number) and returns paginated products arrays with code, name, description, assets, categories, and pricing objects. Results can be sorted by RELEVANCE, NAME_A_TO_Z, or NAME_Z_TO_A and filtered using the facets array returned alongside results — facets include model, category, and sub-category dimensions. get_parts_by_category provides the same response shape when browsing a known category slug, discoverable via get_parts_categories, which lists every top-level category with its name and slug.
Part Details and Pricing
get_part_details takes a part_number (e.g. AM125424) and returns the full part record: pricing.availability, pricing.ecommPrice, pricing.regularPrice, pricing.customerPrice, fulfillment details, category path strings, and a frequentlyBoughtTogether array of related product objects. If you only need recommendation data without the full detail payload, get_related_parts returns a relatedProducts array where each entry includes productCode, productName, productAssets, and a confidence score.
Equipment Model and Maintenance Lookups
get_parts_by_equipment_model accepts a model number (e.g. Z445) and returns a catalogs array — each entry has a pcNumber and title that identify the relevant parts catalog for that machine. search_parts_by_model takes the same model param plus an optional query keyword to narrow results to parts associated with that specific equipment. get_maintenance_kits is a dedicated endpoint for the maintenance kits category, returning paginated kit products with code, name, description, assets, and pricing.
Subcategory Discovery
get_subcategories accepts a category_id and returns the full facets array for that category — including name, code, and facetValues — useful for populating filter UIs or enumerating valid filter parameters before passing them to get_parts_by_category.
- Build a parts lookup tool that resolves a part number to current
ecommPriceandcustomerPriceviaget_part_details. - Populate a compatible-parts page by calling
get_parts_by_equipment_modelwith a machine model to retrieve associated catalogpcNumberreferences. - Generate upsell recommendations in a checkout flow using
frequentlyBoughtTogetherfromget_part_detailsor theconfidence-scoredrelatedProductsfromget_related_parts. - Sync a third-party inventory system with John Deere filter parts by paginating
get_parts_by_categorywith theFilterscategory slug. - Surface maintenance kit options for a given machine by combining
search_parts_by_model(model param) withget_maintenance_kitsfor category-level browsing. - Enumerate all top-level categories and their sub-facets using
get_parts_categoriesfollowed byget_subcategoriesto build a navigable parts catalog tree. - Monitor price changes for a watchlist of part numbers by periodically calling
get_part_detailsand comparingregularPriceagainstecommPrice.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does shop.deere.com have an official developer API?+
What pricing fields does `get_part_details` return, and how do they differ?+
get_part_details returns three price fields: regularPrice (the standard list price), ecommPrice (the online store price), and customerPrice (a potentially account-specific or promotional price). The pricing object also includes availability status and fulfillment details. get_related_parts and search_parts also include pricing objects within their product arrays.Can I filter `search_parts` results by equipment model or category?+
search_parts endpoint returns a facets array containing model, category, and sub-category dimensions alongside results. However, the endpoint inputs currently accept query, page, size, and sort — facet-based filtering is not a direct input parameter. You can use get_parts_by_category with a category slug, or search_parts_by_model to scope results to a specific model.Does the API expose dealer location or in-store stock availability by ZIP code or region?+
pricing.availability and fulfillment from get_part_details) but does not include dealer locator or per-store inventory by geography. You can fork the API on Parse and revise it to add that endpoint if dealer-level stock data is accessible on the site.Are parts catalog PDFs or diagram images returned by any endpoint?+
assets array on product objects contains image and media asset references for parts. Full illustrated parts diagram PDFs (the type found in printed John Deere PC-numbered catalogs) are not currently returned — the get_parts_by_equipment_model endpoint returns catalog pcNumber and title references but not diagram content. You can fork the API on Parse and revise it to add an endpoint that retrieves diagram assets if they are accessible via catalog PC numbers.