A fake merchant usually fails on the physical side. The company may be registered, the website may look real, but nobody trades at the address on the application, or the "office" is a mailbox shared by hundreds of companies. Checking that by hand for every applicant doesn't scale. These are the checks you can automate.
Four questions to ask about every applicant
- Does this business exist at the address it gave? Look for independent evidence that a business by that name trades there: a map listing, its own website, reviews, social profiles.
- Is it still operating? A business that closed last year can keep an active registration for a long time.
- Is the name right? "J&M Auto LLC" on the form and "J and M Auto Repair" on the storefront is fine. A name nobody uses anywhere is not.
- What kind of address is the registered office? A real building, a PO box, or a virtual office used by many unrelated companies.
Exists, and open or closed
The VOYGR Validate API takes a name and full address:
curl https://api.voygr.tech/v1/validate \
--request POST \
--header "X-API-Key: $VOYGR_API_KEY" \
--header "Content-Type: application/json" \
--data '{"poi_name": "Example Auto Repair", "address": "123 Example Street, Oakland, CA 94607, US"}'
existence_confidence (0 to 1) scores whether a matching place has existed at that location. operational_status.status says open, closed, unknown or not_exists. Treat not_exists as a red flag and unknown as "review by hand".
Name and address checks
The Enrich API has three checks you switch on per request:
curl https://api.voygr.tech/v1/enrich \
--request POST \
--header "X-API-Key: $VOYGR_API_KEY" \
--header "Content-Type: application/json" \
--data '{
"poi_name": "Example Auto Repair",
"address": "123 Example Street, Oakland, CA 94607",
"registered_address": "456 Sample Ave, Suite 100, Wilmington, DE 19801",
"country": "US",
"attributes": ["open_closed", "phone", "website"],
"verify_name": true,
"verify_address": true,
"verify_registered_address": true
}'
-
identity.namecomes backconfirmed(your name was right),corrected(we replaced it) orunresolved. -
address_checks.addresssaysconfirmed_at_address,not_found_at_addressorfound_elsewhere, with the address where the evidence actually places the business. -
address_checks.registered_addressreports whether the address is a real building (match_quality) and itspremises_type:premises,po_boxormail_drop.mail_dropmeans many unrelated companies share it, or it's sold as a virtual office or formation-agent address.
Name and trading-address checks cost one extra credit per business together, and the registered-address check one more. Add "estimate_only": true to see the cost without running anything.
These aren't postal validation. A confirmed address means the business publishes that address about itself. Pair it with operational_status to know whether it still operates there.
At onboarding volume
Validation jobs take 1 to 10,000 businesses per job and return results asynchronously. Route not_exists, not_found_at_address and mail_drop to manual review, and pass the rest.
For the cases that stay unclear, PlaceCall can phone the business and ask.
Free key with 2.5K credits: api.voygr.tech/checkout. Docs: api.voygr.tech/docs.
Top comments (0)