Skip to main content

NPWP Verification

Verify an NPWP or NIK and match name and address.

Base URL​

https://use.api.co.id

Send a JSON body with npwp, name, and address to POST /npwp/verify with the x-api-co-id header. The response contains transaction_id, the provider's name/address data, status_wp, status_spt, and the provider message.

Request fields​

FieldRequiredRule
npwpyes15–16 digits, either NPWP or NIK as supported by the provider
nameyes2–100 characters
addressyes7–255 characters

API.CO.ID generates transaction_id when the request is received, sends it to the provider as a tracking ID, and returns it in the response.

curl -X POST "https://use.api.co.id/npwp/verify" \
-H "Content-Type: application/json" \
-H "x-api-co-id: YOUR_API_KEY" \
-d '{
"npwp": "594032120444000",
"name": "John Doe",
"address": "Jl. Sesama No. 10"
}'

Response​

{
"is_success": true,
"message": "Success",
"data": {
"transaction_id": "trx-provider-0001",
"data": {
"name": "John Doe",
"address": "Jl. Sesama No. 10",
"status_wp": "ACTIVE",
"status_spt": "VALID"
},
"message": "npwp verification successfully"
}
}

Access & billing​

API.CO.ID checks access in this order:

  1. Valid API key.
  2. Enough balance/subscription for npwp-verification.
  3. Customer eKYC approved.
  4. Request forwarded to the provider.
  5. Points charged only if the provider processes the request successfully.

If payment or eKYC requirements are not met, the request stops before reaching the provider and no points are charged.

Common errors​

HTTPCondition
400Bad RequestInvalid JSON body
401UnauthorizedAPI key missing or wrong
402Payment RequiredInsufficient balance/subscription
403ForbiddeneKYC not approved, pending, rejected, or expired
404Not FoundNPWP/NIK not found by the provider
422UnprocessableInvalid npwp, name, or address format
502Bad GatewayProvider auth/server/response error
503UnavailableProvider unavailable or under maintenance
504Gateway TimeoutProvider timeout
Was this page helpful?