Pinlocus Pinlocus

Pinlocus for business

Resolve a Pinlocus id to the current phone number, email address or street address straight from your own systems.

Try it in the API console

Open lookup, one parameter

One keyless request carrying nothing but a Pinlocus id returns the active public phone, email and address — exactly what the /p/{id} page already shows. Records marked partner-only still need a licence.

curl https://pinlocus.goldenwakaf.id/api/v1/lookup/10000

1. Obtain an access token

curl -X POST https://pinlocus.goldenwakaf.id/api/v1/token \
  -H "Content-Type: application/json" \
  -d '{"grant_type":"client_credentials","client_id":"pk_live_xxx","client_secret":"yyy"}'

2. Resolve an id

curl https://pinlocus.goldenwakaf.id/api/v1/pincodes/ABCD \
  -H "Authorization: Bearer <access_token>"

Endpoints

EndpointScopeReturns
GET /api/v1/pincodes/{id}addressEvery record the key is entitled to read
GET /api/v1/pincodes/{id}/phonephoneThe active phone number
GET /api/v1/pincodes/{id}/emailemailThe active email address
GET /api/v1/pincodes/{id}/addressaddressThe active address and map point
GET /api/v1/pincodes/{id}/availabilityavailabilityWhether an id exists, without exposing any record
POST /api/v1/webhooksaddressSubscribes to change notifications for one id
GET /api/v1/usageavailabilityYour own call count and remaining quota
GET /api/v1/lookup/{id}—The active public phone, email and address. No key.

Unknown id versus empty record

An unknown id returns error code not_found with id_exists false. An id that exists but has no active record of that kind returns no_active_record with id_exists true. Integrations should treat these differently.

Verifying a notification

Every call carries an X-Pinlocus-Signature header holding the HMAC-SHA256 of the body, keyed with your signing secret. Reject any call whose signature does not match.

Get a licence