head to head · open source
dots vs toapi
dots has 32,357 GitHub stars, 4,739 forks, 0 open issues and last shipped 3 days ago. toapi has 3,558 stars, 241 forks, 3 open issues and last shipped 2 months ago. dots leads on adoption by 809% (32,357 vs 3,558 stars). dots is written in TypeScript under MIT; toapi is written in Python under MIT. dots has attracted 15% as many forks as stars, toapi 7%. dots was the more recently maintained of the two, and both are self-hostable with no licence fee.
Two open source projects, one decision. Both are free and self-hostable — the differences are community size, license terms, language stack and release pace.
← all 20902 open source comparisons
Side by side
| dots | toapi | |
|---|---|---|
| GitHub stars | ★ 32K | ★ 3.6K |
| License | MIT | MIT |
| Written in | TypeScript | Python |
| Last push | 2026-10-31 | 2026-08-27 |
| Forks | ⑂ 4.7K | ⑂ 241 |
| Self-hosting | Yes | Yes |
| Data ownership | Your server | Your server |
pick dots if
- You weight community size — 32K stars and counting
- You want the MIT license terms
- Your stack matches TypeScript
- You value the larger contributor base for long-term maintenance
pick toapi if
- You want the toapi feature set and don't need the biggest community
- You prefer the MIT license terms
- Your stack matches Python
- You evaluated both and toapi fits your workflow better
About dots
dots Every AI agent is a model and a browser. You can swap the model with one flag. The browser is what the website sees. Windows, in PowerShell: Linux: Then open The conversation on the left, the browser on the right, live. It all comes down to the browser When a web agent fails, the model is rarely why. The page never loaded, a challenge appeared, the login expired, the click did not land. All of that happens in the browser, before the model gets to think. So dots is built around one: A real Firefox engine, patched in C++. The fingerprint is decided inside the engine, not painted over with JavaScript that a…
About toapi
toapi Turn any website into a JSON API — declaratively. toapi lets you point at a web page, declare the fields you want with CSS selectors, and get back a clean JSON API. No crawler to babysit, no database to maintain — pages are fetched and parsed on demand, with built‑in caching. Install Requires Python 3.10+. Quickstart Run it: Then visit and you get: How it works 1. Route — @api.route("/posts", "/news") maps your API path to a source URL. 2. Fetch — pages are fetched with requests (or a headless browser if you pass browser= ) and cached in memory. 3. Parse — each Item extracts fields with CSS selectors via…
read the full toapi overview →
More in Data & Analytics
Related comparisons
More Data Extraction & Web Scraping projects
Compare either of these against the rest of the Data Extraction & Web Scraping field.
Frequently asked questions
Is dots or toapi more popular?
dots has 32,357 GitHub stars and toapi has 3,558. dots has the larger community by that measure.
Are dots and toapi free?
Both are open source. dots is licensed under MIT and toapi under MIT. Neither carries a licence fee.
What is the difference between dots and toapi?
dots is written in TypeScript and toapi in Python. The practical differences are community size, licence terms, language stack and release cadence — all compared in the table above.
Which should I choose, dots or toapi?
Choose dots if you want the larger community (32,357 stars) or its MIT licence terms. Choose toapi if its feature set, stack or MIT licence fits better. Both are self-hostable.