Overview
Way2API® is a unified RESTful API platform for real-time identity verification and KYC (Know Your Customer) services in India. Currently offering 17 APIs — PAN Verification, GST Verification, Driving License Verify, Voter ID Verification, Operator and Circle Check, Domain Check, VPA Validation, Bank Account Validation and 9 more — all from a single integration. Every endpoint accepts JSON request bodies, returns structured JSON responses, and follows REST conventions with standard HTTP methods and status codes.
Quick Start
1. Register an account at the Way2API® dashboard
2. Copy your API Key from Dashboard → API Keys
3. Include it in the Authorization header of every request
4. Make API calls to any verification endpoint you have access to
Authentication
All verification endpoints require a valid API key. Pass it as Authorization: Bearer <key> (recommended) or via the X-API-Key header. Keys are generated from your Dashboard → API Keys page.
Option 1 — Bearer Token (Recommended)
Option 2 — X-API-Key Header
Keep your API keys secure. Do not expose them in client-side code or public repositories. If compromised, regenerate your keys immediately from the dashboard.
Rate Limits
Rate limits protect the API from abuse. Limits are applied per API key, per service. When exceeded, the API returns 429 Too Many Requests with a Retry-After header.
Free: 10 req/min | Pro: 60 req/min | Enterprise: Custom
Rate limits use a 1-minute sliding window.
HTTP Status Codes
Standard HTTP status codes indicate the outcome of every request. Check the success field in the response body for programmatic determination.
| Code | Status | Description |
|---|---|---|
| 200 | OK | Verification result returned |
| 400 | Bad Request | Verification failed or invalid vendor response |
| 401 | Unauthorized | Missing or invalid API key |
| 402 | Payment Required | Insufficient balance — recharge required |
| 403 | Forbidden | No access to this API service |
| 422 | Unprocessable Entity | Input validation failed |
| 429 | Too Many Requests | Rate limit exceeded |
| 503 | Service Unavailable | Vendor temporarily unavailable |
Response Format
Every response follows a consistent JSON structure: success (boolean), message (human-readable), and data (result object with order_id, verified flag, and result).
{
"success": true,
"message": "Verification successful.",
"data": {
"order_id": "W2A1739512345abcdef01",
"verified": true,
"result": { ... }
}
}
{
"success": false,
"message": "Error description here.",
"data": {
"order_id": "W2A1739512345abcdef01",
"error_code": "VERIFICATION_FAILED"
}
}
Endpoints
Health Check API — Check whether the Way2API® service is online. No authentication required. Ideal for uptime monitoring and CI/CD readiness checks.
None
curl -X GET https://app.way2api.com/api/v1/health
{
"success": true,
"message": "Service is healthy.",
"data": {
"status": "ok",
"service": "Way2API®",
"version": "1.0.0",
"timestamp": "2026-06-19T12:13:35+00:00"
}
}
PAN Verification API — Verify a 10-character Permanent Account Number (PAN) issued by the Indian Income Tax Department. Essential for financial KYC, income tax compliance, and onboarding workflows in the banking, insurance, and lending sectors. Returns the PAN holder's full name, PAN status (Existing and Valid, Deactivated, etc.), category (Individual, Company, HUF, Trust, etc.), Aadhaar seeding status, and other detailed information. Validates the PAN format and checks it against official government records.
🗺️ Country-specific
India
| Parameter | Type | Required | Description |
|---|---|---|---|
| pan_number | string | Required | 10-character PAN — format: [A-Z]{5}[0-9]{4}[A-Z] (e.g. ABCDE1234F) |
curl -X POST https://app.way2api.com/api/v1/pan/verify \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"pan_number":"ABCDE1234F"}'
{
"success": true,
"message": "",
"data": {
"order_id": "W2A1739512345abcdef01",
"result": {
"pan_number": "ABCDE1234F",
"full_name": "RAJESH KUMAR",
"title": "",
"full_name_split": [
"",
"",
"RAJESH KUMAR"
],
"pan_status": "E",
"pan_status_desc": "EXISTING AND VALID",
"aadhaar_seeding_status": "Y",
"aadhaar_seeding_status_desc": "Seeded",
"pan_modified_date": null,
"category": "individual",
"client_id": "pan_advanced_v2_xxxxxxxxxxxxxxxxxxxx"
}
}
}
{
"success": false,
"message": "Invalid PAN",
"data": {
"order_id": "W2A1739512345abcdef01",
"error_code": "VERIFICATION_FAILED",
"result": {
"pan_number": "AABCY04940",
"full_name": "",
"title": "",
"full_name_split": [],
"pan_status": "",
"pan_status_desc": "",
"aadhaar_seeding_status": "",
"aadhaar_seeding_status_desc": "",
"pan_modified_date": null,
"category": "company"
}
}
}
GST Verification API — Verify a 15-character GSTIN (Goods & Services Tax Identification Number) registered under India's GST system. Critical for B2B vendor verification, invoice validation, and supply chain compliance. Returns the business legal name, trade name, registration status (Active, Cancelled, Suspended), taxpayer type, constitution (Private Limited, LLP, etc.), registration date, registered address with state and pincode, PAN number, nature of business activities, and e-invoice status. Use this endpoint to validate GST invoices, verify suppliers before onboarding, and ensure regulatory compliance under GST law.
🗺️ Country-specific
India
| Parameter | Type | Required | Description |
|---|---|---|---|
| gst_number | string | Required | 15-character GSTIN — format: [0-9]{2}[A-Z]{5}[0-9]{4}[A-Z][0-9A-Z][Z][0-9A-Z] (e.g. 10AABCY0494J1ZF) |
curl -X POST https://app.way2api.com/api/v1/gst/verify \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"gst_number":"10AABCY0494J1ZF"}'
{
"success": true,
"message": "",
"data": {
"order_id": "W2A1739512345abcdef01",
"result": {
"gstin": "10AABCY0494J1ZF",
"lgnm": "YOFLIC INDIA PRIVATE LIMITED",
"tradeNam": "YOFLIC INDIA PRIVATE LIMITED",
"sts": "Active",
"dty": "Regular",
"ctb": "Private Limited Company",
"rgdt": "16/05/2019",
"lstupdt": "13/07/2023",
"stj": "Saran 1",
"ctj": "CHHAPRA RANGE",
"panNo": "AABCY0494J",
"einvoiceStatus": "Yes",
"nba": [
"Office / Sale Office",
"Recipient of Goods or Services",
"Supplier of Services",
"Retail Business"
],
"pradr": {
"addr": {
"bnm": "C/O RITA DEVI, VILL-JALALPUR",
"st": "PANCH-BISHUNPURI,BLOCK-JALALPUR",
"loc": "JALALPUR",
"dst": "Saran",
"stcd": "Bihar",
"pncd": "841412"
},
"ntr": "Office / Sale Office, Supplier of Services"
}
}
}
}
{
"success": false,
"message": "Invalid GSTIN / UID",
"data": {
"order_id": "W2A1739512345abcdef01",
"error_code": "INVALID_GSTIN",
"result": {
"gst_number": "10AABCY0494J2ZFA"
}
}
}
Driving License Verification API — Verify any Indian driving license number with date of birth against government RTO records in real time. Returns the license holder's name, address, gender, father/husband name, date of birth, issue and expiry dates, vehicle classes, issuing authority, and profile image availability. Useful for KYC onboarding, identity verification, ride-hailing driver validation, and fleet compliance. The profile image is excluded from the response for privacy.
🗺️ Country-specific
India
| Parameter | Type | Required | Description |
|---|---|---|---|
| dl_number | string | Required | Driving license number (10-20 characters, e.g. MH0320140001234). |
| dob | string | Required | Date of birth of the license holder in dd/mm/yyyy format. |
curl -X POST https://app.way2api.com/api/v1/driving-license/verify \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"dob":"15/06/1992","dl_number":"MH0320140001234"}'
{
"success": true,
"message": "",
"data": {
"order_id": "W2A1739512345abcdef01",
"result": {
"license_number": "MH0320140001234",
"state": "Maharashtra",
"name": "SURESH PATEL",
"permanent_address": "42 MG ROAD, PUNE, MAHARASHTRA",
"permanent_zip": "411001",
"temporary_address": "42 MG ROAD, PUNE, MAHARASHTRA",
"temporary_zip": "411001",
"citizenship": "",
"ola_name": "RTO PUNE",
"ola_code": "MH032",
"gender": "M",
"father_or_husband_name": "RAMESH PATEL",
"dob": "1992-06-15",
"doe": "2034-08-10",
"transport_doe": "1800-01-01",
"doi": "2014-08-11",
"transport_doi": "1800-01-01",
"has_image": true,
"blood_group": "B+",
"vehicle_classes": [
"MCWG",
"LMV-NT"
],
"less_info": false
}
}
}
{
"success": false,
"message": "Verification Failed.",
"data": {
"order_id": "W2A1739512345abcdef01",
"result": {
"license_number": "MH0320140001234",
"state": null,
"name": null,
"permanent_address": null,
"gender": null,
"father_or_husband_name": null,
"dob": "1992-06-15",
"doe": null,
"doi": null,
"has_image": false,
"vehicle_classes": [],
"less_info": false
}
}
}
Voter ID Verification API — Verify any Indian Voter ID (EPIC) number against Election Commission records in real time. Returns the voter's name, relation name, relation type, gender, age, date of birth, area, state, and house number. Useful for KYC onboarding, identity verification, electoral compliance, and address validation workflows.
🗺️ Country-specific
India
| Parameter | Type | Required | Description |
|---|---|---|---|
| voter_id | string | Required | 10-character EPIC (Voter ID) number (e.g. ABC1234567). |
curl -X POST https://app.way2api.com/api/v1/voter-id/verify \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"voter_id":"ABC1234567"}'
{
"success": true,
"message": "",
"data": {
"order_id": "W2A1739512345abcdef01",
"result": {
"relation_type": "F",
"gender": "M",
"age": "32",
"epic_no": "ABC1234567",
"dob": "1992-06-15",
"relation_name": "RAMESH KUMAR",
"name": "SURESH KUMAR",
"area": "Sector 5, Dwarka",
"state": "Delhi",
"house_no": "42-B"
}
}
}
{
"success": false,
"message": "Verification Failed.",
"data": {
"order_id": "W2A1739512345abcdef01",
"result": {
"epic_no": "ABC1234567"
}
}
}
Operator Circle Lookup API — Instantly identify the telecom operator (Jio, Airtel, Vi, BSNL, etc.) and service circle/zone for any 10-digit Indian mobile number. Essential for mobile recharge platforms, DTH services, telecom analytics, and number portability checks. Returns the operator name, circle (e.g., Karnataka, Maharashtra), and connection type (Prepaid or Postpaid). Handles MNP (Mobile Number Portability) — results reflect the current operator, not the original.
🗺️ Country-specific
India
| Parameter | Type | Required | Description |
|---|---|---|---|
| mobile_number | string | Required | 10-digit Indian mobile number — format: [6-9][0-9]{9} (e.g. 9876543210) |
curl -X POST https://app.way2api.com/api/v1/operator-circle/check \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"mobile_number":"9876543210"}'
{
"success": true,
"message": "",
"data": {
"order_id": "W2A1739512345abcdef01",
"result": {
"mobile_number": "9876543210",
"operator": "Jio",
"circle": "Karnataka",
"type": "Prepaid"
}
}
}
Domain Check API — Look up the registration status and availability of any domain name. Returns domain registration details including registrar, creation date, and expiration date. Useful for domain resellers, web hosting platforms, and brand protection services.
🌍 Global — Available worldwide
| Parameter | Type | Required | Description |
|---|---|---|---|
| domain | string | Required | Domain name to check (e.g. example.com) |
curl -X POST https://app.way2api.com/api/v1/domain/check \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"domain":"example.com"}'
{
"success": true,
"message": "",
"data": {
"order_id": "W2A1739512345abcdef01",
"result": {
"domain": "example.com",
"available": false,
"registrar": "Example Registrar",
"expires": "2027-01-01"
}
}
}
🗺️ Country-specific
India
curl -X POST https://app.way2api.com/api/v1/upi/vpa_validation \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"vpa":"abc@upi"}'
Bank Account Verification API — Instantly verify Indian bank account details. Returns account holder name and account status for payout processing, KYC, and compliance workflows.
🗺️ Country-specific
India
curl -X POST https://app.way2api.com/api/v1/bank/account_validation \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
Mobile Prefill API — Fetch PAN and identity details linked to a mobile number using the subscriber's name. Useful for pre-filling KYC forms, onboarding flows, and identity resolution in lending, insurance, and fintech applications. Provide a 10-digit mobile number and the subscriber's name, and the API returns the associated PAN number along with detailed PAN holder information including full name, masked Aadhaar number, address, gender, and date of birth. Results are matched against government records for accuracy.
🗺️ Country-specific
India
| Parameter | Type | Required | Description |
|---|---|---|---|
| mobile_number | string | Required | 10-digit Indian mobile number (e.g. 9876543210) |
| name | string | Required | Subscriber name for identity matching |
curl -X POST https://app.way2api.com/api/v1/mobile/prefill \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"name":"Rajesh Kumar","mobile_number":"9876543210"}'
{
"success": true,
"message": "",
"data": {
"order_id": "W2A1739512345abcdef01",
"result": {
"mobile_no": "9876543210",
"name": "Rajesh",
"pan_number": "ABCDE1234F",
"pan_details": {
"full_name": "RAJESH KUMAR",
"full_name_split": [
"RAJESH",
"",
"KUMAR"
],
"masked_aadhaar": "XXXX-XXXX-1234",
"address": {
"line_1": "123 MG ROAD",
"line_2": "",
"street_name": "MG ROAD",
"city": "MUMBAI",
"state": "MAHARASHTRA",
"zip": "400001",
"country": "INDIA"
},
"gender": "M",
"dob": "1990-01-15",
"email": "[email protected]",
"phone_number": "9876543210",
"category": "individual",
"aadhaar_linked": true,
"pan_status": "VALID"
}
}
}
}
{
"success": false,
"message": "No PAN found linked to this mobile number",
"data": {
"order_id": "W2A1739512345abcdef01",
"error_code": "REQUEST_FAILED",
"result": {
"mobile_no": "9876543210",
"name": "Rajesh",
"pan_number": "",
"pan_details": {}
}
}
}
Credit Report PDF API — Fetch the credit report as a downloadable PDF for an individual using their Aadhaar or PAN number. Returns the credit score and a PDF download link for the full credit report. Useful for lending workflows, KYC, creditworthiness assessments, and financial compliance. Consent is automatically set to "Y".
🗺️ Country-specific
India
| Parameter | Type | Required | Description |
|---|---|---|---|
| name | string | Required | Full name of the individual. |
| number | string | Required | 12-digit Aadhaar number or 10-character PAN (based on fetch_by). |
| fetch_by | string | Required | Type of ID document: "aadhaar" or "pan". |
| mobile | string | Required | 10-digit mobile number of the individual. |
curl -X POST https://app.way2api.com/api/v1/credit-report/pdf \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"name":"Rajesh Kumar","mobile":"9876543210","number":"123456789012","fetch_by":"aadhaar"}'
{
"success": true,
"message": "",
"data": {
"order_id": "W2A1739512345abcdef01",
"result": {
"number": "123456789012",
"fetch_by": "aadhaar",
"mobile": "9876543210",
"name": "Rajesh Kumar",
"credit_score": "750",
"credit_report": {},
"credit_report_link": "https://example.com/credit-report.pdf"
}
}
}
{
"success": false,
"message": "Verification Failed.",
"data": {
"order_id": "W2A1739512345abcdef01",
"result": {
"number": "123456789012",
"fetch_by": "aadhaar",
"mobile": "9876543210",
"name": "Rajesh Kumar",
"credit_score": "",
"credit_report": {},
"credit_report_link": ""
}
}
}
Credit Report API — Fetch a detailed credit report (JSON) for an individual using their Aadhaar or PAN number. Returns the credit score and the full credit report data including inquiry details, account summaries, and credit history. Useful for lending decisions, KYC verification, and risk assessment. Consent is automatically set to "Y".
🗺️ Country-specific
India
| Parameter | Type | Required | Description |
|---|---|---|---|
| name | string | Required | Full name of the individual. |
| number | string | Required | 12-digit Aadhaar number or 10-character PAN (based on fetch_by). |
| fetch_by | string | Required | Type of ID document: "aadhaar" or "pan". |
| mobile | string | Required | 10-digit mobile number of the individual. |
curl -X POST https://app.way2api.com/api/v1/credit-report/fetch \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"name":"Rajesh Kumar","mobile":"9876543210","number":"123456789012","fetch_by":"aadhaar"}'
{
"success": true,
"message": "",
"data": {
"order_id": "W2A1739512345abcdef01",
"result": {
"number": "123456789012",
"fetch_by": "aadhaar",
"mobile": "9876543210",
"name": "Rajesh Kumar",
"credit_score": "750",
"credit_report": {
"InquiryResponseHeader": {},
"CCRResponse": {}
},
"credit_report_link": ""
}
}
}
{
"success": false,
"message": "Verification Failed.",
"data": {
"order_id": "W2A1739512345abcdef01",
"result": {
"number": "123456789012",
"fetch_by": "aadhaar",
"mobile": "9876543210",
"name": "Rajesh Kumar",
"credit_score": "",
"credit_report": {},
"credit_report_link": ""
}
}
}
Vehicle RC Verification API — Fetch full Registration Certificate (RC) details for any Indian vehicle using its registration number. Returns comprehensive vehicle information including owner name, vehicle make/model, fuel type, insurance details, fitness status, tax details, PUCC status, financer info, and more. Useful for used-car platforms, insurance underwriting, fleet management, RTO compliance, and loan verification. Optional chassis and engine number parameters for additional cross-verification.
🗺️ Country-specific
India
| Parameter | Type | Required | Description |
|---|---|---|---|
| rc_number | string | Required | Vehicle registration number (e.g. DL3CCV6131, MH12AB1234). |
| chassis_number | string | Optional | Chassis number for additional verification (optional). |
| engine_number | string | Optional | Engine number for additional verification (optional). |
curl -X POST https://app.way2api.com/api/v1/rc/verify \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"rc_number":"DL3CCV6131"}'
{
"success": true,
"message": "",
"data": {
"order_id": "W2A1739512345abcdef01",
"result": {
"rc_number": "DL3CCV6131",
"fit_up_to": "2037-03-20",
"registration_date": "2022-03-21",
"owner_name": "Vivek Kumar Singh",
"father_name": "",
"present_address": "B-40 Fourth Floor, Vasant Kunj, New Delhi, 110070",
"permanent_address": "B-40 Fourth Floor, Vasant Kunj, New Delhi, 110070",
"vehicle_category": "LMV",
"vehicle_chasi_number": "WBA37AK09NY407428",
"vehicle_engine_number": "0004Y375",
"maker_description": "BMW INDIA PVT LTD",
"maker_model": "BMW 220I GRAN COUPE M SPORT",
"body_type": "SEDAN",
"fuel_type": "PETROL",
"color": "SNAPPER ROCKS BLUE M",
"norms_type": "BHARAT STAGE VI",
"financer": "ICICI BANK LTD",
"financed": true,
"insurance_company": "GoDigit General Insurance Ltd.",
"insurance_policy_number": "D203450761",
"insurance_upto": "2026-05-20",
"manufacturing_date_formatted": "2022-03",
"registered_at": "SOUTH DELHI, Delhi",
"rc_status": "ACTIVE"
}
}
}
{
"success": false,
"message": "Verification Failed.",
"data": {
"order_id": "W2A1739512345abcdef01",
"result": {
"rc_number": "KA12AC3456",
"registration_date": null,
"owner_name": null,
"vehicle_category": null,
"maker_model": null,
"fuel_type": null,
"rc_status": null
}
}
}
TAN Advanced Verification API — Verify any 10-character TAN (Tax Deduction Account Number) issued by the Income Tax Department. Returns the deductor's full name, allotment date, registered address, email, and phone number. Useful for employer/deductor KYC, TDS compliance, and business verification workflows.
🗺️ Country-specific
India
| Parameter | Type | Required | Description |
|---|---|---|---|
| tan_number | string | Required | 10-character TAN number (e.g. ABCT12345E). |
curl -X POST https://app.way2api.com/api/v1/tan/fetch_adv \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"tan_number":"ABKT12345E"}'
{
"success": true,
"message": "",
"data": {
"order_id": "W2A1739512345abcdef01",
"result": {
"tan": "ABKT12345E",
"details": {
"full_name": "SOLUTIONS PRIVATE LIMITED",
"first_name": "",
"middle_name": "",
"last_name": "",
"tan_allotment_date": "2050-12-18",
"address": {
"line_1": "H.NO 123 ,SHIV COLONY",
"line_2": ",",
"line_3": "",
"line_4": "",
"line_5": "PANCHKULA",
"state_code": 99,
"zip": "123456",
"full": "H.NO.123 SHIV COLONY , PANCHKULA 123456"
},
"email_1": "[email protected]",
"email_2": "",
"phone_number": "1234567890"
}
}
}
}
{
"success": false,
"message": "Verification Failed.",
"data": {
"order_id": "W2A1739512345abcdef02",
"result": {
"tan": "RTKT12345",
"details": {}
}
}
}
Aadhaar–PAN Link Check API — Check whether a given Aadhaar number is linked to a PAN card as mandated by the Income Tax Department. Returns the masked PAN, linking status, and reason. Essential for tax compliance, financial onboarding, and regulatory verification.
🗺️ Country-specific
India
| Parameter | Type | Required | Description |
|---|---|---|---|
| aadhaar_number | string | Required | 12-digit Aadhaar number. |
curl -X POST https://app.way2api.com/api/v1/aadhaar/aadhaar_pan_link_check \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"aadhaar_number":"443205881234"}'
{
"success": true,
"message": "",
"data": {
"order_id": "W2A1739512345abcdef01",
"result": {
"masked_pan": "EKXXXXXX6F",
"linking_status": true,
"reason": "linked",
"detailed_reason": null
}
}
}
{
"success": false,
"message": "Invalid Aadhaar Number",
"data": {
"order_id": "W2A1739512345abcdef02",
"result": {
"masked_pan": "",
"linking_status": false,
"reason": "invalid_aadhaar",
"detailed_reason": null
}
}
}
Look up geolocation, ISP, and network information for any public IPv4 or IPv6 address.
🌍 Global — Available worldwide
| Parameter | Type | Required | Description |
|---|---|---|---|
| ip_address | string | Optional | A valid public IPv4 or IPv6 address. If omitted, returns info for the caller s IP. |
curl -X POST https://app.way2api.com/api/v1/ip/check \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"ip_address":"195.250.21.125"}'
{
"success": true,
"message": "",
"data": {
"order_id": "W2A_SAMPLE_ORDER",
"result": {
"query": "195.250.21.125",
"status": "success",
"country": "India",
"countryCode": "IN",
"region": "MH",
"regionName": "Maharashtra",
"city": "Navi Mumbai",
"zip": "400703",
"lat": 19.0336,
"lon": 73.0118,
"timezone": "Asia/Kolkata",
"isp": "WHG Hosting Services Ltd",
"org": "WHG Hosting Services Ltd",
"as": "AS199404 WHG Hosting Services Ltd"
}
}
}
{
"success": false,
"message": "ip_address must be a valid IPv4 or IPv6 address.",
"data": {
"error_code": "VALIDATION_ERROR"
}
}
Send a transactional OTP or PIN SMS to a mobile number worldwide via Text SMS. Supports strict purpose and share_with validation.
🌍 Global — Available worldwide
| Parameter | Type | Required | Description |
|---|---|---|---|
| number | string | Required | Country code + mobile number. Currently supported: +91 (India). Example: 919876543210. |
| content | string | Required | Content type: "OTP" or "PIN". |
| value | string | Required | The OTP/PIN code to send (4 to 8 digits only). |
| purpose | string | Required | Purpose of the SMS. Allowed: login, registration, password_reset, transaction, account_verification, two_factor_auth, payment_confirmation, order_confirmation, profile_update, withdrawal. |
| share_with | string | Required | Sharing instruction. Allowed: no_one, executive, manager, support_team, admin. |
curl -X POST https://app.way2api.com/api/v1/aws/send_otp-pin \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"value":"5289","number":"919876543210","content":"OTP","purpose":"login","share_with":"no_one"}'
{
"success": true,
"message": "",
"data": {
"order_id": "W2A_SAMPLE_ORDER",
"result": {
"phone": "+919876543210",
"content_type": "OTP",
"purpose": "login",
"share_with": "no_one",
"sms_status": "sent"
}
}
}
{
"success": false,
"message": "content must be either \"OTP\" or \"PIN\".",
"data": {
"error_code": "VALIDATION_ERROR"
}
}
Domain WHOIS Lookup API — Retrieve comprehensive WHOIS registration information for any domain name. Returns registrar details, registration/expiry dates, registrant contact, administrative and technical contacts, name servers, and domain status. Powered by WhoisFreaks.
🌍 Global — Available worldwide
| Parameter | Type | Required | Description |
|---|---|---|---|
| domain_name | string | Required | Fully qualified domain name to look up (e.g. example.com, example.co.in). |
curl -X POST https://app.way2api.com/api/v1/domain/whois_live \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"domain_name":"kwikapi.com"}'
{
"success": true,
"message": "Verification successful.",
"data": {
"order_id": "W2A1739512345abcdef01",
"verified": true,
"result": {
"domain_name": "kwikapi.com",
"domain_registered": "yes",
"create_date": "2019-03-19",
"update_date": "2024-02-18",
"expiry_date": "2025-03-19",
"domain_registrar": {
"iana_id": "1068",
"registrar_name": "NAMECHEAP INC",
"whois_server": "whois.namecheap.com",
"website_url": "http://www.namecheap.com",
"email_address": "[email protected]",
"phone_number": "+1.9854014545"
},
"registrant_contact": {
"name": "Redacted for Privacy",
"company": "Privacy service provided by Withheld for Privacy ehf",
"street": "Kalkofnsvegur 2",
"city": "Reykjavik",
"state": "Capital Region",
"zip_code": "101",
"country_name": "Iceland",
"country_code": "IS",
"email_address": "[email protected]",
"phone": "+354.4212434",
"fax": "N/A",
"mailing_address": "Kalkofnsvegur 2, 101 Reykjavik, Capital Region, Iceland"
},
"administrative_contact": {
"name": "Redacted for Privacy",
"company": "Privacy service provided by Withheld for Privacy ehf",
"street": "Kalkofnsvegur 2",
"city": "Reykjavik",
"state": "Capital Region",
"zip_code": "101",
"country_name": "Iceland",
"country_code": "IS",
"email_address": "[email protected]",
"phone": "+354.4212434",
"fax": "N/A",
"mailing_address": "Kalkofnsvegur 2, 101 Reykjavik, Capital Region, Iceland"
},
"technical_contact": {
"name": "Redacted for Privacy",
"company": "Privacy service provided by Withheld for Privacy ehf",
"street": "Kalkofnsvegur 2",
"city": "Reykjavik",
"state": "Capital Region",
"zip_code": "101",
"country_name": "Iceland",
"country_code": "IS",
"email_address": "[email protected]",
"phone": "+354.4212434",
"fax": "N/A",
"mailing_address": "Kalkofnsvegur 2, 101 Reykjavik, Capital Region, Iceland"
},
"name_servers": [
"dns3.cloudns.net",
"dns4.cloudns.net",
"dns7.cloudns.net",
"dns8.cloudns.net"
],
"domain_status": [
"clientTransferProhibited"
]
}
}
}
{
"success": false,
"message": "domain_name must be a valid domain name (e.g. example.com).",
"data": null
}
Error Handling
All errors return a consistent JSON structure with success: false and a human-readable message. Use the HTTP status code for classification and the message for logging.
// 401 — Missing API Key { "success": false, "message": "API key is required. Pass it via Authorization: Bearer <key> or X-API-Key header.", "data": null }
// 401 — Invalid API Key { "success": false, "message": "Invalid or inactive API key.", "data": null }
// 402 — Insufficient Balance { "success": false, "message": "Insufficient balance. Please recharge your account.", "data": null }
// 403 — No API Access { "success": false, "message": "You do not have access to this API service.", "data": null }
// 429 — Rate Limited { "success": false, "message": "Rate limit exceeded. Please try again later.", "data": null }
// 400 — Verification Failed { "success": false, "message": "Verification failed.", "data": { "order_id": "W2A1739512345abcdef01", "error_code": "VERIFICATION_FAILED" } }