Browse documentation
Business & GST Verification APIs

Mobile to Udyam API

List Udyam registration numbers linked to a mobile number, without an OTP step.

What it verifies

Lists Udyam registration numbers linked to a mobile number, without sending an OTP. Returns each linked Udyam number and enterprise name when records exist.

Who uses it

  • Onboarding flows that hold a business mobile but not the Udyam number
  • Lead enrichment for MSME outreach
  • Support teams resolving which Udyam registrations belong to a contact number

Request and response

POSThttps://verification.techinnoverz.com/api/v1/business-gst/mobile-to-udyam

List Udyam registrations linked to a mobile number. This call is billed when it returns a successful result.

Request body

mobilestringrequired

10-digit Indian mobile number linked to the Udyam registration.

consentstringrequired

Must be "Y". Records that the end customer consented to this check; logged against the transaction.

referenceIdstringoptional

Your own id, echoed back in the response for reconciliation.

Example requests

curl -X POST "https://verification.techinnoverz.com/api/v1/business-gst/mobile-to-udyam" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "mobile": "6376627166",
  "consent": "Y",
  "referenceId": "app_20915"
}'

200 response — status "found"

Response
{
  "status": "found",
  "data": {
    "mobile": "6376627166",
    "registrations": [
      {
        "udyamNumber": "UDYAM-RJ-17-0389777",
        "enterpriseName": "GREENFINCH REAL ESTATE ENGINEERS & CONSULTANTS PRIVATE LIMITED"
      },
      {
        "udyamNumber": "UDYAM-RJ-17-0424001",
        "enterpriseName": "GREENFINCH TECH PROCESS PRIVATE LIMITED"
      }
    ]
  },
  "source": "provider",
  "dataAsOf": "2026-11-03T09:30:00.000Z",
  "referenceId": "app_20915",
  "billing": {
    "charged": true,
    "walletBalance": "12450.00"
  },
  "txnId": "txn_8c31ba90",
  "livemode": true
}

Fields returned in data

mobilestringoptional

The mobile that was looked up.

registrationsarrayoptional

Linked Udyam registrations, each with udyamNumber and enterpriseName.

Error codes

Errors return a non-200 HTTP status and the same envelope, so your retry logic and your reconciliation agree.

400 INVALID_INPUT

A field is missing or malformed. The details list each problem. Not charged.

401 INVALID_KEY

The key is missing, revoked, or not a key we issued.

402 WALLET_EMPTY

Your available balance is below the price of this call. Top up and retry. Not charged.

403 PRODUCTION_NOT_ENABLED

A live key was used before live access was enabled for your account. Use a test key, or ask us to enable live access.

403 TEST_NOT_ENABLED

A test key was used before test (UAT) access was enabled for your account. Ask us to enable it.

403 API_NOT_ENABLED

This check is switched off for your account, or is not available for live use yet.

403 IP_NOT_ALLOWED

The key is restricted to certain IP addresses and this call came from another.

403 ACCOUNT_SUSPENDED

The account is suspended. Contact support.

404 NO_DATA

A valid request, but no record was found. Not charged.

404 ROUTE_NOT_FOUND

There is no endpoint at that path.

405 METHOD_NOT_ALLOWED

Use the method shown in the Allow header.

409 IDEMPOTENCY_IN_PROGRESS

A call with the same Idempotency-Key is still being processed. Retry after the delay in Retry-After.

413 PAYLOAD_TOO_LARGE

The request body is too large. Not charged.

415 UNSUPPORTED_MEDIA_TYPE

Send the request with Content-Type: application/json.

422 IDEMPOTENCY_KEY_REUSED

This Idempotency-Key was already used with a different request body. Use a new key for a new request.

429 RATE_LIMITED

Too many requests or too many at once. Wait for the Retry-After delay.

500 INTERNAL_ERROR

Something went wrong on our side. Not charged. Quote the txnId if you contact support.

502 SOURCE_ERROR

The data source returned an error. Not charged.

503 SOURCE_DOWN

The data source is unavailable right now. Not charged. Retry after the delay in Retry-After.

504 SOURCE_TIMEOUT

The data source did not answer in time. Not charged.

Error response
{
  "status": "error",
  "error": {
    "code": "NO_DATA",
    "message": "No record found for the given input. Not charged."
  },
  "billing": {
    "charged": false
  },
  "txnId": "txn_8c31ba91",
  "livemode": true
}

Billing

You are charged only on successful hits. Failed, no-data and error calls are free.

Every response carries billing.charged and your remaining billing.walletBalance. Per-hit pricing is set on your rate card; book a demo to get yours.

Related checks

  • Udyam Verification API — Verify a Udyam registration number and return enterprise profile, address, industries and classification history.
  • PAN to Udyam API — Look up the Udyam registration linked to a business PAN, with enterprise details and certificate PDF when held.

All API documentation · OpenAPI specification · Docs as plain text