v:verza
verza / docs / cipc-registration-number-check

CIPC registration number check

A CIPC enterprise number has the shape YYYY/NNNNNN/TT. The first four digits are the registration year, the next six are a sequence, and the last two are an entity type code. verza checks that shape and decodes the year and the type. Code 12 is a non-profit external company, named in the CIPC XBRL filing guide.

The check is free. It does not confirm the enterprise exists, is in business, or its name. CIPC offers no free machine-readable registry lookup. The full registry check remains /v1/company-check, and it is not live.

Endpoints

GET /v1/company-validate FREE

Decode a South African CIPC enterprise number (YYYY/NNNNNN/TT): registration year, sequence and entity type. Free. It confirms the number is well formed. It does not confirm the enterprise exists, is in business, or its name. CIPC offers no free machine-readable registry lookup.

free, no payment challenge · example: /v1/company-validate?reg=2015/123456/07 · also callable as /v1/company-validate/{reg}

How you pay

API key. The free tier issues a key at /signup: send it as Authorization: Bearer <key> and calls come off a monthly allowance, no crypto anywhere in that path. Every key comes with a sandbox twin (vz_test_) that never counts against quota and accepts only the documented test inputs, so you can wire up an integration before spending a single call.

Pay per call. Send no key at all and a paid endpoint replies HTTP 402 with the exact payment requirements; an x402 client pays USDC on Base (about two seconds to settle) and retries automatically. No account, no signup, which is what makes it work for autonomous agents.

Either way, invalid input is rejected with a free 400 before any payment is challenged, so you never pay (or spend quota) to learn you made a typo.

Questions

Does this confirm the company exists?
No. A well-formed number can still belong to no enterprise, or to one that has been deregistered. The response says that on every valid result. CIPC offers no free machine-readable registry lookup.
Why not BizPortal?
BizPortal requires a login, allows 20 searches a day, and its terms forbid automated search without CIPC's written permission. verza does not call it.
How do I check a number?
GET /v1/company-validate?reg=2015/123456/07, or /v1/company-validate/2015-123456-07. Digits, slashes, hyphens and spaces are accepted, up to 20 characters. A missing or illegal value is a free 400. A well-formed number always answers 200, including when valid is false.
What does valid mean?
The number has 12 digits after the separators are removed, the year is from 1900 through the current year, and the sequence is not all zeros. There is no check digit. An unknown type code is still valid, with entity_type null and the flag unknown type code. A close corporation dated after 2011 stays valid and is flagged.

Related

South African ID number validation API South African VAT number validation API NCA credit agreement lawfulness API South African KYB and onboarding API South African contact validation API Domain age and registry status API IP address screening API Business pre-screen API Risk score API Guides: how the interest rate caps work zaref: NCA maximum interest rates