Find the record without knowing the code.
You know the hospital's name but not its CCN, or the procedure but not its APC code. Search closes that gap so you can get to a precise query.
Try it
A real request, a real response
Every figure below is what the endpoint returns today, read from the live dataset at build time.
curl "https://api.vemon.io/v1/search?q=tampa&type=facility" \ -H "Authorization: Bearer vm_live_…"
No key yet? Generate one — the free trial needs no card. Or see the data first in the Explorer.
{
"query": "tampa",
"summary": { "matches": 8, "returned": 8 },
"data": [
{
"dataset": "healthcare-prices",
"type": "facility",
"id": "100071",
"title": "Tampa General Hospital Brooksville",
"subtitle": "Brooksville, FL",
"matched_field": "name",
"score": 0.9
}
]
}How it works
Design decisions, and why
Where a choice costs convenience, the reason is stated rather than hidden.
Not fuzzy, by design
Exact substrings only. A ranking a reader can predict beats a clever one nobody has tuned — and on pricing data, a typo returning confident wrong results is worse than returning nothing.
Prefix-weighted ranking
A match at the start of a name outranks one in the middle, and an exact procedure code outranks both. Every result carries its score.
Facilities and procedures together
One query covers both entity types. Filter with type when you already know which you want.
The matched field comes back
Results say whether the hit was on a name, a city, or a code, so you can build a sensible result list rather than guessing.
Use cases
What people build with it
Typeahead in your own UI
Resolve a hospital name a user typed into the CCN your queries actually need.
Data reconciliation
Match records from another system against canonical facility identifiers.
Exploration
Find which procedure groups exist before committing to an APC code.
Specification
The details
| Matching | Case-insensitive substring. Minimum two characters. |
|---|---|
| Scope | Facility names, cities, procedure descriptions, APC codes. |
| Ranking | Prefix-weighted, score returned with every hit. |
| Types | facility, procedure, or both. |
| Limit | 1–50, defaults to 20. |
| Index size | 2,993 facilities, 68 procedure groups |
Questions
Asked most often
- Why doesn't search handle typos?
- Because a fuzzy matcher nobody has tuned returns confident wrong answers, and on pricing data a confident wrong answer is worse than an empty one. Substring matching is predictable: if it matched, you can see why.
- Does it search across every dataset?
- It searches every dataset currently loaded. Today that is one, so results are all healthcare. The response carries a dataset field, so multi-dataset results will not break existing clients.
- How are results ranked?
- A match at the start of a name scores highest, then a match elsewhere in the name, then a city match. Exact procedure codes rank at the top. The score comes back so you can re-rank if your use case differs.
Also on the platform
The other surfaces
Generate a key and query it.
The free trial key takes a minute and needs no card.