Skip to the review
reviews.com.im

The verdict desk · directories judged against each other

Review 01 · open registers

Dentist — verdict: candid

An open register of 109,030 dental practices that tells you, on every page, how much of itself is missing. Then it opens on the one region it has never given an address to.

Most directories are built to look larger than they are. Dentist is built the other way round. Its city pages lead with the number of practices they hold and then immediately print three figures that say how thin those practices are. The Anchorage page opens with 50 dentists · 20% with a postcode · 14% with a phone · 12% with opening hours — a brave thing to put above the fold. A register that advertises an 86% missing-telephone rate in its masthead is not trying to fool anybody.

That candour is the product. Everything else here is competent; this is the unusual part.

What it is, measured

At 22:39 UTC the whole register, with the Everywhere region selected, reported 109,030 practices across 69 countries and 21,078 cities, 42% carrying a postcode and 35% a telephone. The data is OpenStreetMap under the ODbL, and the footer says so along with the thing that follows from it: if your practice is missing or wrong, fix it in OpenStreetMap and it appears in the next edition. There is no paid inclusion and no paid ranking — the register states that in its own footer, and the absence of a "claim this listing" button anywhere on the site backs it up.

The engineering worth naming is the sharding. The 69 countries are 69 separate JSON files, fetched only when you look at them, and the page tells you so in a line under the region tabs: "Search downloads only the countries of this region." The difference is not theoretical. At 22:35 UTC the Costa Rica shard was 59,918 bytes and the Germany shard was 4,323,151 bytes — seventy-two times larger. A visitor looking for a dentist in San José never pays for Germany. That is an ordinary decision made well, and it is the reason a 21 MB register loads at all on a phone.

The before and after nobody mentions

Here is the first thing this desk measured that the property does not advertise. The front door does not open on the register. It opens on Latin America, and the five headline figures describe Latin America only. You have to press Everywhere to see the register you were told about.

The Dentist front page as it loads: the region tab strip shows LATIN AMERICA selected, and the row of outlined figure chips below reads 15,425 dentists, 25 countries, 2,256 cities, 30% with postcode, 21% with phone.
As it loads. labs.llc/dentist/ at 22:37 UTC on 22 September 2026. The Latin America tab is selected for you, and the chips report that region: 15,425 dentists, 25 countries, 2,256 cities.
The same Dentist front page after the EVERYWHERE region tab is pressed: the figure chips now read 109,030 dentists, 69 countries, 21,078 cities, 42% with postcode, 35% with phone, and the specialty table numbers have all grown.
After one press. The same page at 22:39 UTC with Everywhere selected: 109,030 dentists, 69 countries, 21,078 cities. The specialty table grows with it — general dentistry from 13,318 to 91,882.

Neither the string 109,030 nor its European formatting appears anywhere in the HTML the server actually sends. This desk checked by fetching the page and searching the bytes: zero occurrences, at 22:34 UTC. The five headline chips ship as <b id="st-total">—</b> and are filled in by JavaScript once a 417,660-byte metadata file has arrived. Anything that reads the page without running scripts — and that includes a good many things — sees five em-dashes where the register's size should be.

Where the candour is real

The Dentist city page for Anchorage, Alaska: a serif headline reading Dentists in Anchorage, then four outlined chips reading 50 dentists, 20% with a postcode, 14% with a phone, 12% with opening hours, then a specialty strip and a three-column list of practice names.
The masthead that tells on itself. labs.llc/dentist/us/alaska/anchorage/ at 22:37 UTC. The four figures are counted out of the register at request time, not written by hand — the page returned in 30,156 bytes with the numbers already in the HTML, 0.309 s to first byte.

City pages are server-rendered, which is why those numbers sit in the delivered markup instead of waiting on a script. They are properly addressed too: /dentist/us/alaska/anchorage/ is a real URL with its own canonical, its own title per language, and the register's edition date — OpenStreetMap · 2026-09-04 — at the foot. That is the only place on the property this desk could find a date at all.

The shortcoming

Published shortcoming

The register opens on Latin America, and Latin America has no addresses. At 22:43 UTC, /dentist/mx/, /dentist/la/mexico/ and /dentist/latam/mexico/ all returned HTTP 404. The rewrite rule that feeds the city-page renderer accepts two region prefixes, us and eu, and nothing else. The sitemap agrees: 1 + 156 + 3,798 = 3,955 declared URLs, all of them United States or Europe. Twenty-five Latin American countries and 2,256 Latin American cities — the region the front page selects for you — have not one crawlable page between them.

Two smaller things, both real. The Anchorage list of 50 offices contains four consecutive entries named "Bty Dental", identical, all filed under general dentistry, with no address, phone or hours to tell them apart — 8% of that city page is one name repeated four times. The same page carries "Alaska Advanced Destistry" and "Century Dental Denter", typos inherited from the source map and printed unchanged. Mirroring OpenStreetMap rather than editing it is a defensible position; not noticing that four rows in fifty are the same row is a different matter.

And the criterion it shares with its sibling: on one screenful with Everywhere selected, the summary bar reads 109,030 practices · 69 countries · 20,550 cities while the chip strip immediately beneath it reads 21,078 cities. Two counts of the same thing, 528 apart, unlabelled, both visible at 22:39 UTC.

The verdict

MeasuredFront doorCity page
Bytes to first number30,926 B page + 417,660 B JSON30,156 B, number included
Time to first byte0.237 s0.309 s
Numbers without scriptsnone — five em-dashesall four
Edition date shownno2026-09-04
Language servedSpanish, whatever ?lang= saysper language, self-canonical

Candid — 23 out of 30. The good half of this register is the half that is server-rendered: dated, addressed, honest about its holes, and fast. The weak half is the front door, which is the part most people will meet, and which manages to be undated, script-dependent, monolingual in its markup, and pointed at the one region it cannot give you a link to. The fix is not new data. It is two more region prefixes in a rewrite rule and five numbers printed in the HTML instead of computed after it.