KanataCloud

Open data

Take the data.
It's yours too.

The directory is public information about Canadian companies. Locking it behind a scraper-hostile site would defeat the point, so it's one JSON endpoint — no key, no rate limit, no sign-up.

The endpoint

GET https://kanatacloud.ca/api/directory
curl -s https://kanatacloud.ca/api/directory | jq '.companies[] | {name, category, replaces: [.replaces[].service]}'

It’s the same data the site renders from — 15 companies and 52 mapped American services — so it can’t drift from what a visitor sees. CORS is open.

Open the endpoint

What's in a company record

FieldMeaning
slugStable identifier. Safe to key on — it doesn't change once published.
name / companyProduct name and legal entity. Often different.
categoryOne of the directory's capability categories.
city / provinceHeadquarters, where known.
canadianOwned / canadianHostedTwo separate booleans. A company can be one without the other.
replaces[]American products this stands in for, each with an honest note on where the fit breaks.
pricing.statusunverified · published-list-price.
pricing.canadian / .americanamount is null unless verified. source and checkedAt accompany any non-null amount.
needsReviewPresent when something about the entry still needs checking.

Two things to get right

A null price is not zero. It means we haven’t verified a figure, not that the service is free or cheap. If you render this data, render the absence — don’t fill it with a placeholder number, and please don’t compute a saving from it.

A mapping is not parity. An entry in replaces[] means two products do the same job. Each one carries a note explaining where the fit breaks down. Carry the note with the mapping, or you’ll be telling people a switch is simpler than it is.

Licence

Published under CC BY 4.0. Use it commercially, build on it, redistribute it — just credit the Canadian Tech Alternatives Directory and link back so people can check the source.

The company logos are not covered by that licence. They belong to the companies, and each one’s brand guidelines govern how it may be used.

Building something with this?

We'd like to know — especially if you hit a field that's ambiguous or a mapping that doesn't hold up.