The dial dictionary and the live commons, open to read.
theuniversal is the public face of Dialin: what people are tasting, signalling and looking for, right now, without anyone being singled out. The vocabulary people dial with, and the blurred commons it produces, are open for your software to read.
Open now Read-only, no key, CORS-open, cached at the edge.
Coming Keys for verified businesses on Dialin: demand questions answered as ranges, and rules we run for you inside the commons — "when 10 or more people near my place signal for pizza at lunch, show my lunch offer". Offers are always made in Dialin; nothing here writes.
What you can never get
- A name, a handle, an account or an exact location. Every live blip is placed somewhere in its ~5 km patch on purpose.
- Anything about fewer than 5 people. Who people are comes only from groups of 5 or more, counted in fives.
- Children or anyone who opted out. They are never in the commons.
- A person's own taste card — unless that person switched it on for their bat signal.
The dictionary
GET /api/dictionary
Every kind of thing and the dials it's described by — names, slugs, types and the named positions on each dial. The shared language: use the same words and you mean the same thing.
{"schemaVersion":2,"count":205,"subtypes":[{"typeSlug":"restaurant","dials":[{"name":"Cuisine","slug":"cuisine","type":"multi-choice","frames":["Italian","Mexican",…]}…]}…]}
GET /api/exchange/dials?category=food
The dial table for a category: the core four, the most-dialed dials people added, and the rating every thing carries.
GET /api/exchange/rank?dial=spice&lat=41.88&lng=-87.63&radius=8000&q=egg%20roll&order=desc&limit=20
Things near a point ranked by any dial's community consensus — "the spiciest egg rolls", "the least greasy fries".
The live commons
GET /api/commons/live
Right now: every lit bat signal (its taste and a randomized cell), every open offer (a randomized cell only — never what it is), the pairs that could meet, and recent meets. Refreshes every few seconds.
GET /api/commons/snapshot?tastes=food,pizza&facets={"age_band":["25-34"]}
A blurred snapshot of the people: how many match, and the tastes and demographics 5 or more of them share, in fives.
GET /api/commons/flow?since=2026-10-01T00:00:00Z&limit=500
Groups of 5 or more released into the commons over time — cell, kind, taste, how many, and who they are in shared demographics.
GET /api/commons/searches?hours=24
What people are looking for in Dialin, with how many looked — never who or where.
GET /api/commons/pulse ·
GET /api/commons/axes
Coarse totals (people on Dialin, released this week), and the core dials as the world is dialing them.
Fair use
- Responses are cached for seconds to minutes — polling faster than that only gets you the same answer. Heavy or abusive traffic is limited and blocked.
- Never try to work out who someone is — not by combining answers, not with other data. It breaks the terms and ends your access.
- Say where it came from: "Data: theuniversal by Dialin".