| data | ||
| src | ||
| .env.example | ||
| .gitignore | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| setup.ps1 | ||
| setup.sh | ||
VerifyIndia API
A comprehensive verification API for Indian documents and data including IFSC codes, PIN codes, GST numbers, PAN cards, and bank account verification.
Tech Stack
- Runtime: Node.js
- Framework: Express.js
- Database: PostgreSQL
- Cache: Redis
- Authentication: JWT (JSON Web Tokens)
Project Structure
verify-india-api/
├── src/
│ ├── index.js # Application entry point
│ ├── routes/ # API route handlers
│ │ ├── auth.js # Authentication routes
│ │ ├── ifsc.js # IFSC code lookup
│ │ ├── pincode.js # PIN code lookup
│ │ ├── gst.js # GST verification
│ │ ├── pan.js # PAN verification
│ │ ├── bank.js # Bank account verification
│ │ └── user.js # User management
│ ├── middleware/ # Express middleware
│ │ ├── auth.js # Authentication middleware
│ │ ├── rateLimit.js # Rate limiting
│ │ └── errorHandler.js # Error handling
│ ├── services/ # Business logic services
│ │ ├── gstService.js # GST verification service
│ │ ├── panService.js # PAN verification service
│ │ ├── bankService.js # Bank verification service
│ │ └── analytics.js # Analytics service
│ ├── database/ # Database configuration
│ │ ├── connection.js # Database connection
│ │ └── setup.js # Database setup scripts
│ └── cache/ # Caching layer
│ └── redis.js # Redis configuration
├── data/ # Static data files
│ ├── ifsc.json # IFSC code database
│ └── pincodes.json # PIN code database
├── package.json
├── .env.example
└── README.md
Getting Started
Prerequisites
- Node.js >= 18.0.0
- PostgreSQL
- Redis
Installation
- Clone the repository
- Install dependencies:
npm install - Copy
.env.exampleto.envand configure your environment variables:cp .env.example .env - Start the development server:
npm start
Environment Variables
| Variable | Description | Example |
|---|---|---|
PORT |
Server port | 3000 |
DATABASE_URL |
PostgreSQL connection string | postgresql://user:pass@localhost:5432/db |
REDIS_URL |
Redis connection string | redis://localhost:6379 |
JWT_SECRET |
Secret key for JWT signing | your_secret_key |
API_KEY_PREFIX |
Prefix for API keys | vi_ |
API Endpoints
/api/auth- Authentication endpoints/api/ifsc- IFSC code lookup/api/pincode- PIN code lookup/api/gst- GST verification/api/pan- PAN verification/api/bank- Bank account verification/api/user- User management
License
ISC