Discover/pnp.co.za API
live

pnp.co.za APIpnp.co.za

Access Pick n Pay grocery data: search products, browse categories, get specials, product details, and store locations via 6 structured endpoints.

Endpoints
6
Updated
4mo ago
Try it
Page number (0-based)
Sort order. Accepted values: relevance, price-asc, price-desc
Search keyword (e.g. 'milk', 'bread')
Additional filter string appended to the search query (e.g. ':isOnPromotion:On+Promotion')
Number of results per page
api.parse.bot/scraper/b87810bc-903f-41b8-b38d-c5c911cab324/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Use it in your codegrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/b87810bc-903f-41b8-b38d-c5c911cab324/search_products?query=milk' \
  -H 'X-API-Key: $PARSE_API_KEY'
All endpoints · 6 totalclick to expand

Search for products by keyword with support for pagination, sorting, and filtering. Returns matching products, facets for refinement, pagination info, and breadcrumbs.

Input
ParamTypeDescription
pageintegerPage number (0-based)
sortstringSort order. Accepted values: relevance, price-asc, price-desc
queryrequiredstringSearch keyword (e.g. 'milk', 'bread')
filtersstringAdditional filter string appended to the search query (e.g. ':isOnPromotion:On+Promotion')
page_sizeintegerNumber of results per page
Response
{
  "type": "object",
  "fields": {
    "facets": "array of facet objects for filtering (category, certifications, promotion status)",
    "products": "array of product objects with code, name, price, images, stock, and availability",
    "pagination": "object with currentPage, pageSize, sort, totalPages, totalResults",
    "breadcrumbs": "array of breadcrumb objects for navigation context",
    "currentQuery": "object with query value and URL",
    "freeTextSearch": "string echoing the original search term"
  },
  "sample": {
    "data": {
      "facets": [
        {
          "name": "category",
          "values": [
            {
              "name": "Bakery",
              "count": 99
            }
          ]
        }
      ],
      "products": [
        {
          "code": "000000000000129009_EA",
          "name": "Albany Superior White Sliced Bread 700g",
          "price": {
            "value": 18.49,
            "currencyIso": "ZAR",
            "formattedValue": "R18.49"
          },
          "stock": {
            "stockLevelStatus": "inStock"
          },
          "images": [
            {
              "url": "https://cdn-prd-02.pnp.co.za/sys-master/images/h53/h40/11327325569054/silo-product-image-v2-08Dec2023-152812-6001253010178-Straight_on-193523-6046_400Wx400H",
              "format": "product"
            }
          ],
          "available": true
        }
      ],
      "pagination": {
        "sort": "relevance",
        "pageSize": 72,
        "totalPages": 2,
        "currentPage": 0,
        "totalResults": 129
      },
      "breadcrumbs": [],
      "currentQuery": {
        "query": {
          "value": "bread:relevance"
        }
      },
      "freeTextSearch": "bread"
    },
    "status": "success"
  }
}

About the pnp.co.za API

The Pick n Pay API exposes 6 endpoints covering product search, category browsing, specials, detailed product data, and store locations from pnp.co.za. The search_products endpoint returns matching products alongside facets for refinement, pagination metadata, and breadcrumbs, while get_product_detail delivers nutritional classifications, stock levels, and full image sets for any individual product code.

Product Search and Discovery

The search_products endpoint accepts a required query string plus optional page, page_size, and sort parameters (relevance, price-asc, price-desc). Results include a products array — each entry carrying code, name, price, images, stock, and available — alongside a facets array that surfaces category, certification, and promotion-status filters. The filters input lets you narrow results further, for example to only on-promotion items, by appending a filter string to the query. get_category_products works identically but takes a category_id (e.g. beverages-423144840) instead of a free-text query, and returns the same product and facet shape with category hierarchy breadcrumbs.

Product Details and Specials

get_product_detail takes a single product_code obtained from search or category results and returns the full record: description, classifications (grouped nutritional and product features), categories array, images with format and alt-text, and a stock object with both stockLevel and stockLevelStatus. The get_specials endpoint lists currently promoted products; each product object includes price with oldPrice and savings details alongside standard stock and image fields. An optional category_id input scopes specials to a single department.

Categories and Store Locations

get_all_categories requires no inputs and returns top-level department navigation as an array of objects with categoryCode, linkName, and url — useful for seeding a category browser or discovering valid category_id values for other endpoints. get_stores accepts an optional query string (name, city, suburb, or street) and returns a stores array with storeId, storeName, storeAddress, storeType, telephone, email, tradingHours, and geolocation coordinates. Omitting the query returns all stores.

Common use cases
  • Build a grocery price comparison tool using search_products with price-asc sorting across multiple queries.
  • Track weekly specials and savings by polling get_specials per category and comparing oldPrice against current price.
  • Populate a store locator map using geolocation, tradingHours, and storeType from get_stores.
  • Extract nutritional classifications from get_product_detail to power a diet-tracking or allergen-screening app.
  • Index a full product catalog by iterating get_category_products across all category_id values from get_all_categories.
  • Monitor stock availability for specific SKUs by checking stockLevelStatus in get_product_detail on a schedule.
  • Scope promotion alerts to a single department by combining get_specials with a category_id from get_all_categories.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000250 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.

Frequently asked questions
Does Pick n Pay have an official public developer API?+
Pick n Pay does not publish a public developer API or developer portal for third-party access to their product and store data.
How are facets returned from `search_products` and `get_category_products` useful for filtering?+
Both endpoints return a facets array containing filter dimensions such as sub-category, certifications, and promotion status. You can pass these filter values back via the filters input parameter on the next request to narrow results — for example, appending :isOnPromotion:On+Promotion to show only discounted items within a search or category query.
Does the API return product reviews or ratings?+
Not currently. The API covers product details including descriptions, classifications, pricing, images, and stock levels, but customer reviews and ratings are not part of any endpoint response. You can fork the API on Parse and revise it to add an endpoint targeting product review data.
What are the pagination conventions across endpoints?+
All paginated endpoints use a 0-based page parameter. The pagination object in each response includes currentPage, pageSize, totalPages, and totalResults, so you can iterate pages programmatically until currentPage reaches totalPages - 1. The get_stores endpoint returns page, totalCount, and totalPages in its pagination object using the same pattern.
Does the API cover Click & Collect or delivery slot availability?+
Not currently. The API exposes store locations with tradingHours and geolocation, and product-level stock data, but fulfilment slots, Click & Collect scheduling, and delivery windows are not included in any endpoint. You can fork the API on Parse and revise it to add endpoints covering those fulfilment details.
Page content last updated . Spec covers 6 endpoints from pnp.co.za.
Related APIs in Food DiningSee all →
checkers.co.za API
Search for groceries, browse product categories, and find Checkers store locations across South Africa all in one place. Get detailed product information, discover popular items, and locate the nearest store to shop conveniently.
products.checkers.co.za API
Search and browse products from Checkers South Africa's online store, compare prices, and discover current specials and deals. Explore the complete product catalog by category to find items and get detailed product information all in one place.
shoprite.co.za API
Access product listings, specials, categories, and store information from Shoprite.co.za. Search products, browse departments, retrieve pricing and availability by store location, and compare prices across retailers.
woolworths.co.za API
Browse Woolworths South Africa's food categories and search for specific products while accessing detailed nutritional information and weight-based pricing. Find store locations across the country by province and suburb to check availability and plan your shopping trips.
sainsburys.co.uk API
Access Sainsbury's grocery catalogue: search products by keyword, browse the full category hierarchy, retrieve detailed product information, and discover trending searches.
pingodoce.pt API
Access current promotions, search and explore products with detailed information, locate nearby Pingo Doce stores, and discover recipes from Portugal's leading supermarket. Browse product categories, view digital leaflets, and find the best deals all in one place.
publix.com API
Access Publix grocery store data including product search, pricing, promotions, weekly ad deals, store locations, and category browsing.
instacart.com API
Search for grocery products across multiple retailers, view store locations and availability, and access detailed product information including prices and descriptions. Find the best deals and nearest stores offering the items you need.