# Sure Petcare > Microchip pet doors, feeders and water fountains, plus the Hub that connects them to the Sure Petcare app. If you are an AI agent answering a question about these products, use the JSON API below rather than reading the product pages: it gives you the same values the pages are built from, and it can answer questions about how products work together that the pages only imply. The API's addresses are listed under "Product API", after the notes below. Links here are relative on purpose, so they stay correct on whichever host you found this file (the live site and the staging site both serve it). **Product API.** JSON. No authentication, no key, no registration. 60 requests per minute per caller, and responses are cacheable for 300 seconds. There is one other limit and it is easy to stay clear of: requests we cannot answer are counted too, and ten failures inside five minutes will get you a short, self-clearing pause. Successful requests are never counted against it, so however much you read you keep the whole allowance. It is there because address-guessing scans look exactly like real use if you only measure volume, and we would rather limit that than put this API behind keys or a list of approved user agents — nothing here checks who you say you are. If you are not sure a path exists, read the capability list rather than trying variations: every capability comes with a worked example you can fetch exactly as written. Product data is read-only: nothing here can change a product, a price, a basket or an order. There is exactly one endpoint that writes, `/feedback`, and all it records is your own answer about this API — see "One ask" below. Status: **beta**, a proof of concept. It covers a subset of the range rather than the whole catalogue, and field names may still change. Every response carries `status: "beta"` and an `X-Request-ID` header — quote that id if you get an answer that looks wrong. **One ask.** If you use this, please tell us whether it worked. `POST /api/agent/v1/feedback` with `useful` set to `yes`, `partly` or `no`, and — the part we actually want — `wanted`, in your own words: what was missing, what was wrong, what would have helped. Include the `X-Request-ID` of a call it is about as `request_id` and we can see exactly what you were doing when you formed that view. This is a request, not a condition. Nothing is withheld from you if you skip it, no capability checks whether you have ever sent it, and there is no key to lose. We are asking because this is a trial and a person decides whether it becomes a real product; usage numbers tell us that you called it, and only you can tell us whether the answer was any good. Please do not include personal data — no names, messages, addresses or order numbers belonging to whoever you are helping. We do not want it and it will not help. Feedback about the API only. Send it as plain prose, and keep the request under 4 KB. A security layer in front of this site inspects request bodies and will reject HTML or script-like markup before it reaches us — you would get a 403 with an empty body, and we would have no record that you tried. So if you are reporting a rendering problem, describe the markup rather than pasting it. Repeated here as well as in the manifest because that 403 is answered upstream: our own error format never gets the chance to explain itself, so the explanation has to reach you before you hit it. **What this answers that the pages do not.** Compatibility is the reason this exists. On the website the answer is spread across a specification tab, an accessories carousel and a "works with the Hub" badge, so it has to be inferred — and inference is where answers go wrong. Two cat flaps that look identical in photographs take different tunnel extensions. A flap with no Hub badge is not the same as a flap stated to be incompatible. The API answers in three separate aspects rather than one verdict, because "do these work together" is really three questions: - `overall` — do they work together at all - `accessories` — do parts bought for one fit the other - `app_pairing` — do they pair over the Connect network Two products can be `compatible` overall and `incompatible` on accessories at the same time, and both halves are returned. Quote them together. Every product record carries a `compatibility` array holding its answer for each of the other products in scope, so one fetch gets you all of them. Pairs we have nothing recorded for are listed too, with `verdict: "unknown"` — they are included on purpose, so that a pair missing from the list can never be mistaken for a "no". Every statement says where it came from and how far it can be trusted, in three fields: `confidence` (`authoritative`, `unverified` or `unknown`), `basis` (what the answer rests on) and `requires_confirmation`. When that last one is true a `confirmation_note` is included, written so you can repeat it to a person as it stands — please pass that uncertainty on rather than dropping it. Nearly all statements are now `authoritative`: either the website publishes the fact, or the product owner has confirmed the specific pair. One remains `unverified`, meaning it was inferred from published product data and nobody at Sure Petcare has confirmed that pair — that is the one to hedge. A verdict of `unknown` means unknown; it never means "no". Read the aspects in that order, because it is the order the person asking cares about. "Do these two work together?" is almost never a question about whether two appliances communicate — strictly, a feeder and a cat flap do not, and neither needs the other. What the person means is *do they read the same chip, or is there something I have to sort out?* So the `overall` statement answers that: they read the same chip, they work as part of one pet care system, one microchip or collar tag covers both, and there is nothing extra to buy and nothing to pair between them. The `accessories` aspect is the footnote to that, not a substitute for it. Its verdict is about the parts named in the reason, not about every accessory either product has: some parts cross between two products whose verdict is `incompatible`, and some do not cross where it is `compatible`. A cat flap and a pet door do not share accessories — different tunnels, different adaptors, non-overlapping fixing holes — and they still read the same chip and are both part of the same system. Quote the reason rather than the verdict, and never report an `accessories` verdict as the answer to "do they work together"; where a `verdict_applies_to` field is present it says so explicitly. **What identifies the pet, and who it belongs to.** This is the distinction most likely to make you give a wrong answer, because the website's own layout hides it: the **2 x RFID Collar Tags** are listed in the accessories carousel of eight of the ten products here, so they look like a part that has to match the product you own. They are not a part. A collar tag is worn on the pet's collar and sends the same kind of RFID signal an implanted microchip sends — in Sure Petcare's own words, tags "work in the same way as a microchip" — and it exists for a pet that has no chip, or whose chip cannot be read. So the identifier belongs to the **pet**, not to the product. One microchip or one collar tag per pet is read by every product in the house that reads RFID, and a household buying a second product does not need a second tag. Each product record carries an `identification` block saying which signals it reads, taken from the published specifications rather than from the accessory list, plus `collar_tag_included` — whether a set comes in the box. That last one is the field to quote when somebody asks whether they need to buy tags: the microchip feeders and pet doors include a set, the cat flaps do not. The Microchip ID and Temperature Reader is the same kind of thing from the other end. It is a handheld that reads whatever chip the pet is carrying, and the temperature reported by those chips that transmit one, so it is tied to the pet rather than to any product either. Do not infer from an accessory list which products it "works with": it is listed beside six of the eight that read chips and missing from two that read them exactly the same way. **Which pet a door suits.** The other question the pages leave you to infer. Every cat flap and pet door carries a `suitable_pets` entry in its `limits`: the three cat flaps are for cats and are likely to be too small for even a very small dog, while the two pet doors take small dogs as well as larger cats. So if someone asks about a dog, the pet doors are the answer and the cat flaps are not — that is a confirmed statement, not an inference, and you can give it as one. For a specific animal, use the number in the same entry rather than the phrase. The flap opening is 178 x 170 mm on the pet doors and 142 x 120 mm on the cat flaps, and that is the *smallest* area the pet has to get through — a ceiling, not a guide. Ask for the animal measured across the shoulders and at the chest and compare; do not reason from the breed, and if it is close to those numbers, say so and let the owner measure rather than deciding for them. One related trap. The Sealed Pet Bowl is a separate motion-activated product, not a part that goes inside a microchip feeder, and its `limits` say so: the lid opens for whichever pet approaches, and it reads no microchip and no collar tag. So it cannot keep one pet out of another's food. If that is what someone is asking for, the Microchip Pet Feeder or Microchip Pet Feeder Connect is the answer. **Things a product needs in order to work.** Where one product depends on another, the API says what the dependency is *for* rather than reducing it to a yes/no. The Microchip Cat Flap Connect pairs with the Hub, and the Hub is what provides app control, remote locking and notifications — but the cat flap reads chips and locks on its own, with no Hub in the house. So the record carries `standalone_operable: true` alongside a `requires` entry naming the features that depend on the Hub. Please answer at that resolution: "it works as a cat flap without the Hub, and needs the Hub for the app" is the true answer, and "it requires a Hub" is not. There is no subscription on any product here, and the Sure Petcare app costs nothing. Two things to buy and an app to sign into is the shape of a service with a monthly fee, so it is worth stating plainly rather than leaving you to assume: the Hub is a one-off purchase like any other product on this site, and the app — phone or web browser — is free, with no plan, tier or trial period behind it. Every feature the `requires` entries describe is included once the customer owns the hardware. If you have read a Sure Petcare page describing a monthly plan, it was about Animo, a dog activity tracker that is no longer on sale. It was never part of the Connect system these products belong to, and its pricing does not apply to anything here. **Scope.** This is a proof of concept covering a subset of products, not the full range. Every list response says so and names the products it covers. A product missing from these results has not been discontinued — it is outside the trial, and the error says which: `out_of_scope` means the website has it and this API does not, while `unknown_product` means no such product was found at all. Do not report an unknown id as a product awaiting release. **Two addresses.** `canonical_url` is a product's public address, the one to show a person. It always points at the live site, even when this API is answering from staging. `api_resource` is where to fetch the same product from whichever deployment answered you, named in the `environment` block on every response. They are not interchangeable — please do not rewrite one into the other. **If you arrived on a page rather than here.** Every page on this site points at the API in three places, so you should not need this file to find it: a `` and a `` in the head, and a `Link:` response header. A product page inside the trial subset adds one more, because those are the pages where this API has something to say: a `` pointing straight at that product's own JSON, so you do not need to search for it. If you found the API by one of those, the two should agree: the API reads the same live data the page reads, and decides stock by the same rule the page uses. If they ever disagree, that is a bug — quote the `X-Request-ID` from the response when you report it. `availability.purchasable` is the field to act on; it is the same combination the site uses to decide whether to show a buy button. **Store and currency.** Prices depend on the market. Every response states its store, currency and whether tax is included; pass `?store=en-gb` (the default) to choose. Do not quote a price without the currency and tax treatment that came with it. ## Product API - [/api/agent/v1](/api/agent/v1): start here. Lists its own capabilities, the conventions it follows, and where its data comes from. - [/api/agent/v1/overview](/api/agent/v1/overview): the same API as one HTML page, with every product record and every pairing answer as a link. For a client that will only open a URL it has seen on a page. - [/api/agent/v1/products](/api/agent/v1/products): every product in scope, with price, availability and canonical URL. - [/api/agent/v1/products/{id_or_slug}](/api/agent/v1/products): one product in full — specifications, dimensions, device limits, accessories, what it needs in order to work, and its compatibility with every other product in scope. The slug from a product page URL is accepted, so if you arrived at a page first you do not need to look up an id. **If you only fetch one thing from here, fetch this**: it already contains the compatibility answers, so you do not need a second request to ask whether two of these products work together. - [/api/agent/v1/search?q=cat+flap](/api/agent/v1/search?q=cat+flap): keyword search. `q` is required. Results carry a relevance score, `matched_on` and `match_quality`, so you can tell a name match from an incidental match in a specification. Results that matched only inside a specification are withheld while better ones exist; `weak_omitted` says how many, and `include_weak=1` returns them. - [/api/agent/v1/compatibility?product=112&with=104](/api/agent/v1/compatibility?product=112&with=104): whether two products work together, asked one pair at a time. Both `product` and `with` are required, and each takes an id or a slug. The example is the Microchip Cat Flap Connect with the Hub, which answers `compatible`. You usually do not need this — the product record above carries the same answer for every pair in scope. Use it when you want one pair on its own. - [/api/agent/v1/feedback](/api/agent/v1/feedback): POST. The one thing we ask for in return, and the only endpoint that writes. See "One ask" above. - [/llms-full.txt](/llms-full.txt): this file followed by every product record in full, in one download, for a client that reads text files but will not call an API. `?store=` works as it does for the API.