DEV Community

VOYGR
VOYGR

Posted on

How to check if a business is permanently closed

If you work with lists of local businesses (leads, a store locator, a map layer, a vendor database), some of them have already closed and your data doesn't know it yet. Checking one place takes a few minutes by hand. Checking a few thousand takes an API.

Signs that a business has closed

Look for evidence that comes from outside the map listing:

  • a closure notice on the business's own website or social accounts
  • a dissolved or inactive record in the state business registry
  • a relocation notice that points to a new address
  • an obituary for a sole owner
  • a phone line that is disconnected or reaches a different business

If two sources disagree, call. A person picking up and confirming tells you more than any listing.

Why the map listing isn't enough

We tested this. We took 400 random US places from Overture Maps and the VOYGR Enrich API marked 93 of them as closed. Then we compared each one with its public Google Maps listing (August 2026) and checked every disagreement by hand.

Of the 86 places we confirmed as closed, 23 still showed as open or had no listing on Google Maps. That's 27%. The full method and tables are in the original study.

The phone check can mislead too. One closed restaurant chain still answered with "for store hours, please press one" weeks after its own website said every location had closed.

Check a business with one API call

The VOYGR Enrich API returns an open_closed status for each place you send: open, closed, unknown or not_exists. Each answer comes with a confidence and an as_of date.

curl https://api.voygr.tech/v1/enrich \
  --request POST \
  --header "X-API-Key: $VOYGR_API_KEY" \
  --header "Content-Type: application/json" \
  --data '{
    "id": "bakery-001",
    "poi_name": "Example Bakery",
    "address": "123 Example Street",
    "country": "US",
    "attributes": ["open_closed", "existence", "opening_hours", "phone"]
  }'
Enter fullscreen mode Exit fullscreen mode

The answer is in the status and operational_status objects of the response. A null value means the attribute wasn't available.

Standard attributes cost one credit per business, however many you ask for. For a big list, send a batch: the API takes up to 10,000 places per job.

When the data is unsure, make the call

For the places that come back unknown, or the ones that matter most, PlaceCall phones the business and asks. You send a US number and a brief in plain English:

{
  "target_phone": "+15551234567",
  "brief": "Ask whether the store is still open and what time it closes today.",
  "language": "en"
}
Enter fullscreen mode Exit fullscreen mode

You get back the outcome, a transcript and a recording. If the call fails or never reaches a real conversation, you don't pay for it.

Keys are free to start at api.voygr.tech/checkout. The Enrich API docs cover the response fields and error codes.

Top comments (0)