August 21, 2026 · HomeGadgets.ca
The Price API: One Request, One Product
One request, one product. Ask for a model number and get the current Canadian price, who has it, and how many retailers we checked. No account, no key, no email.
What it does
The HomeGadgets Price API answers one question well: what does this exact product cost in Canada right now, and who is selling it. You send a manufacturer part number. You get back the two cheapest in-stock offers, the retailer behind each one, an honest count of how many Canadian retailers carry the item, the price range across all of them, and a link straight to the product page.
Everything is in CAD, from Canadian retailers only. Prices are the advertised online prices we track and re-confirm, presented as an observation with a timestamp on it, never as a quote. Every response carries the timestamp, the currency and a disclaimer, because a price without a date is a rumour.
It is read-only. It reports prices and buy links. It does not place orders, hold carts, or take payment.
The endpoints
Every link below is live. Click one and you will get real JSON back (or a readable page, if your client prefers HTML). The path form is the primary form, because it carries no question mark and AI browsing connectors that refuse query-string URLs will fetch it happily.
Best current Canadian price for one product, by model number:
https://www.homegadgets.ca/public/v1/price/FRFG2033AV
The same, restricted to a province so you only see offers deliverable there:
https://www.homegadgets.ca/public/v1/price/FRFG2033AV/ON
Free-text search, to turn "french door refrigerator" into a model number you can then price:
https://www.homegadgets.ca/public/v1/search/french%20door%20refrigerator
The readable page for the same product, for a human or for an agent that would rather read HTML than JSON:
https://www.homegadgets.ca/price/FRFG2033AV
The query form still works and is not going anywhere, but prefer the paths above if you are writing an agent:
https://www.homegadgets.ca/public/v1/price?mpn=98UT9000PUA&province=ON
https://www.homegadgets.ca/public/v1/search?q=lg%2098%20inch%20tv&limit=5
If you would rather your code discover the API than read this post, the machine-readable description is at https://www.homegadgets.ca/public/v1/openapi.json, and the full reference with response shapes and error codes is on the API page.
What you need: nothing
No account. No key. No email address. No signup form. There is no free-key tier and no email-for-a-key tier, and that is deliberate rather than unfinished: the way to use this API without paying is simply to call it.
We collect no personal information to serve it. No raw IP address is stored or logged. To count a caller against the daily limit, the request is reduced to an irreversible salted hash, held in memory rather than in a table of people. It cannot be turned back into a list of visitors. There are no cookies, no tracking pixels, and nothing from this API is sold or shared. Information we never collect is information we can never lose.
Your AI assistant can call it directly (MCP)
This is the part that makes it more than a price endpoint. We run a Model Context Protocol server alongside the REST API, so an AI assistant can discover the available tools, call them, and cite Canadian price data directly, in the middle of a conversation, without anyone writing an integration first.
That matters because of how people now shop. Someone asks their assistant which 65 inch TV is the best value in Canada this week. Without a source like this, the assistant answers from whatever it happened to absorb months ago, in the wrong currency, from the wrong country, with no way to check. With the connector attached, it looks the product up, reports the current CAD price, says how many Canadian retailers it compared, and hands over a link the person can open.
There are two ways in. The hosted connector needs nothing installed: point an MCP-capable client at https://mcp.homegadgets.ca/mcp and it serves catalog prices and ratings. The local server is a small package you run on your own machine and it adds a live "price now" lookup that fetches at the moment you ask. Both are free. The setup for each is on the MCP page.
If your stack does not speak MCP, it does not need to. The same data is reachable over plain HTTP through the endpoints above, and we publish an OpenAPI 3.1 description so an agent platform can import the API as a tool on its own.
The limits, stated plainly
These are hard numbers, not guidance:
- 10 requests a day per caller. Counted against that irreversible fingerprint, never a stored IP address. Resets at 00:00 UTC.
- A shared daily ceiling of 250 requests across all anonymous traffic together. It binds even when every individual caller is under 10.
- 200 catalog rows a day per caller. Offers and search results are rows; the envelope around them is not.
- Two offers per product. The two cheapest. The true retailer count is always returned alongside them, so you can see how deep the comparison goes even though you only get the top of it.
- 20 search results per request, maximum. Ask for more and you get 20, not an error.
- Prices come from our catalogue, refreshed at least weekly. This is not a live quote service. If you need the price fetched at the moment you ask, that is the live tier.
- Canada and CAD only. No US pricing, no conversion, no other currency.
When a budget is spent you get an HTTP 429 with a documented JSON body and a Retry-After header, never an empty response and never a 500. Read the body rather than retry-looping: a spent daily budget will not free up before midnight UTC. Successful responses are cacheable, and respecting that cache is the cheapest way to stay inside ten calls a day.
What we ask in return
The limits above are the technical contract. This is the human one, and it is short.
- Credit HomeGadgets.ca when you show our data. If an assistant answers from this API, it should say where the number came from.
- Link the product page we return, so the person can check the price themselves.
- Quote the comparison honestly. Say "cheapest of N Canadian retailers", with the real N we hand you. Never an unqualified "cheapest", and never imply that the two offers you received are all that exist.
- Pass our links through unchanged. The buy link carries source and affiliate parameters. Do not strip, rewrite or substitute them. If you cannot use a link as given, do not present the offer.
None of that is onerous, and all of it comes down to the same thing: represent the data the way it was measured.
If you need more than this
The anonymous tier is shaped for answering a question, not for building a copy of the catalogue. Teams that need more get it through an issued key: the full per-retailer offer list for a product in one call rather than the two cheapest, complete price history for trend and elasticity work, availability transitions showing exactly when a model went out of stock or came back, deep specifications, and structured fulfilment data covering delivery scope, shipping terms and returns terms for every retailer we track. Live on-demand pricing fetches a fresh quote at request time, and bulk delivery hands over the dataset on a schedule instead of one product at a time.
Keys are issued manually. There is no self-serve signup. Tell us who you are and what you want to build through the contact form, and we will follow up. The full picture of what enterprise access covers is on the enterprise page.
The one thing worth knowing
We publish a price only when we can bind it to a specific model by manufacturer part number or barcode. If we cannot, we leave it out rather than guess.
That single rule is why the API is worth calling. A price attached to "55 inch 4K TV" is worthless: it could be any of two hundred products. A price attached to a manufacturer part number is a fact you can act on, compare against another retailer, and hold us to. Binding every observation to a published identifier costs us coverage, because plenty of listings never name the part they are selling and we drop them. We would rather answer about fewer products correctly than answer about more products approximately.
Go break something: https://www.homegadgets.ca/public/v1/price/FRFG2033AV. If a price looks wrong, the Report a Bug link at the bottom of every page takes thirty seconds and actually gets read.