Pricechecker APIpricechecker.com ↗
Access PriceCheck South Africa product listings via 5 endpoints. Search products, browse data contracts, retrieve specs, and compare prices side-by-side.
What is the Pricechecker API?
The PriceCheck South Africa API exposes 5 endpoints for querying product listings on pricecheck.co.za, covering keyword search, category browsing, detail retrieval, and side-by-side comparison. The search_plans endpoint accepts a free-text query and returns matched listings with name, price, speed, contract terms, description, URL, and image. The compare_plans endpoint accepts multiple listing URLs and returns their full specs in a single response array.
curl -X GET 'https://api.parse.bot/scraper/a6b36c1d-ac66-4271-a74e-e92512a282b4/search_plans?query=laptop' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace pricechecker-com-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
from parse_apis.pricecheck_south_africa_api import PriceCheck, ProductSummary, Product
client = PriceCheck()
# Search for laptop products
for item in client.productsummaries.search(query="laptop"):
print(item.name, item.price, item.url)
# Browse the Data Contracts category (auto-paginates)
for product in client.productsummaries.list_data_contracts():
print(product.name, product.price, product.speed)
# Get full details for a specific product via navigation
summary = client.productsummary(url="https://www.pricecheck.co.za/offers/213858854/FSP+Nb+65W+Universal+Notebook+Adapter")
detail = summary.details()
print(detail.name, detail.price, detail.specs.speed, detail.specs.contract_terms)
# Compare multiple products side-by-side
import json
urls_json = json.dumps([
"https://www.pricecheck.co.za/offers/213858854/FSP+Nb+65W+Universal+Notebook+Adapter",
"https://www.pricecheck.co.za/offers/213858856/FSP+Nb+C+Type-c+65W+Universal+Laptop+Adapter",
])
for compared in client.products.compare(urls=urls_json):
print(compared.name, compared.price, compared.specs.description)
Full-text product search on PriceCheck South Africa. Returns a list of product listing summaries matching the keyword, each with name, price, speed (if applicable), contract terms, description, URL, and image. Omitting the query defaults to 'fiber internet'.
| Param | Type | Description |
|---|---|---|
| query | string | Search keyword (e.g. 'fiber', 'broadband', 'laptop', 'smartphone') |
{
"type": "object",
"fields": {
"plans": "array of product listing summary objects with keys: name, price, speed, contract_terms, description, url, image",
"query": "the search query used",
"total": "number of plans returned"
},
"sample": {
"data": {
"plans": [
{
"url": "https://www.pricecheck.co.za/offers/213858854/FSP+Nb+65W+Universal+Notebook+Adapter",
"name": "FSP Nb 65W Universal Notebook Adapter",
"image": "https://images.pricecheck.co.za/images/objects/hash/product/2aa/2d7/121/image_medium_213858854.jpg?1643417689",
"price": "R 839.00",
"speed": "N/A",
"description": "FSP introduces the Nb 65W Universal Notebook Adapter, a reliable power solution designed for laptops requiring 18-20V input.",
"contract_terms": "N/A"
}
],
"query": "laptop",
"total": 20
},
"status": "success"
}
}About the Pricechecker API
Search and Browse
The search_plans endpoint takes an optional query string (defaulting to 'fiber internet') and returns an array of product listing summaries. Each object in the plans array includes name, price, speed, contract_terms, description, url, and image. The total field reports how many listings matched. The get_data_contracts endpoint targets the PriceCheck 'Data Contracts' category — covering mobile devices, SIM-only deals, and smartphones — and supports page-based pagination with a 1-based page number.
Detail Retrieval and Comparison
Once you have a listing URL from either search or category results, pass it to get_plan_details to retrieve a single product's full information: name, price (formatted with currency, e.g. ZAR 631.00), and a specs object containing optional speed, contract_terms, and description fields. To compare multiple listings in one call, use compare_plans with a JSON-encoded array of URLs in the urls body parameter. The response returns a comparison array where each element mirrors the get_plan_details shape.
Combined Connectivity Feed
The get_isp_plans endpoint merges keyword search results for 'fiber internet' with paginated Data Contracts category results, deduplicating across both sources before returning. The page parameter advances only the category portion of the merge; the fiber search results remain fixed. This endpoint is suited for building a unified view of connectivity-related products — fibre, broadband, and mobile data — in a single list.
The Pricechecker API is a managed, monitored endpoint for pricechecker.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when pricechecker.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official pricechecker.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Track price changes for specific smartphones across PriceCheck listings using
get_plan_detailswith stored URLs - Build a fibre and broadband comparison tool using
get_isp_planscombined withcompare_plans - Populate a South African mobile deal aggregator by paginating through
get_data_contracts - Validate contract terms and speeds for SIM-only deals using the
specsfields fromget_plan_details - Alert users when the
pricefield on a saved product URL drops below a threshold - Generate side-by-side product tables for e-commerce research using
compare_planswith multiple URLs
| 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 | 100 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 PriceCheck South Africa have an official developer API?+
What does `get_data_contracts` return, and how does pagination work?+
plans, total, page, and category. Pagination is 1-based via the page integer parameter.Does the API cover product reviews or seller ratings from PriceCheck?+
Is the `speed` field always populated in search results?+
speed is present on connectivity-related listings such as fibre and broadband plans, but it is not guaranteed for all product types. Electronics listings like laptops or smartphones may return null or omit that key. The same applies to contract_terms, which is only meaningful for contract-based products.Can I search listings by category other than 'Data Contracts'?+
get_data_contracts) and one combined feed (get_isp_plans). Other PriceCheck categories — such as laptops, TVs, or home appliances — are not directly browsable by category. The search_plans endpoint can surface products from those categories via keyword. You can fork this API on Parse and revise it to add category-specific endpoints for other verticals.