API DOCUMENTATION — REST V1
Integrate QR code generation and analytics directly into your applications with our powerful REST API. Complete with authentication, rate limiting, and bulk operations.
Sign up for a Pro plan or higher and create an API key in your dashboard.
Include your API key in the Authorization header of every request.
curl -X GET "https://qr-insights.com/api/v1/qr-codes" \ -H "Authorization: Bearer qr_live_your_api_key_here" \ -H "Content-Type: application/json"
Send a POST request to create a trackable QR code.
curl -X POST "https://qr-insights.com/api/v1/qr-codes" \ -H "Authorization: Bearer qr_live_your_api_key_here" \ -H "Content-Type: application/json" \ -d '{ "name": "My Campaign QR", "destination_url": "https://example.com/campaign", "styling": { "foreground_color": "#000000", "background_color": "#ffffff" } }'
/api/v1/qr-codesList all QR codes for the authenticated user
curl -X GET "https://qr-insights.com/api/v1/qr-codes?page=1&limit=10" \ -H "Authorization: Bearer qr_live_your_api_key_here"
{
"success": true,
"data": [
{
"id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"name": "My Campaign QR",
"destination_url": "https://example.com/campaign",
"short_url": "https://qr-insights.com/q/abc123",
"is_active": true,
"created_at": "2024-01-15T10:30:00Z"
}
],
"pagination": {
"page": 1,
"limit": 10,
"total": 25,
"totalPages": 3
}
}/api/v1/qr-codesCreate a new QR code
curl -X POST "https://qr-insights.com/api/v1/qr-codes" \ -H "Authorization: Bearer qr_live_your_api_key_here" \ -H "Content-Type: application/json" \ -d '{ "name": "My Campaign QR", "destination_url": "https://example.com/campaign", "styling": { "foreground_color": "#000000", "background_color": "#ffffff" } }'
{
"success": true,
"data": {
"id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"name": "My Campaign QR",
"destination_url": "https://example.com/campaign",
"short_code": "abc123",
"short_url": "https://qr-insights.com/q/abc123",
"qr_data": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA...",
"is_active": true,
"styling": {
"foreground_color": "#000000",
"background_color": "#ffffff"
},
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T10:30:00Z"
}
}/api/v1/qr-codes/bulk TEAMS+Create multiple QR codes in a single request
curl -X POST "https://qr-insights.com/api/v1/qr-codes/bulk" \ -H "Authorization: Bearer qr_live_your_api_key_here" \ -H "Content-Type: application/json" \ -d '{ "qr_codes": [ { "name": "Product A", "destination_url": "https://example.com/product-a" }, { "name": "Product B", "destination_url": "https://example.com/product-b" } ] }'
{
"success": true,
"result": {
"created": 2,
"failed": 0,
"total": 2
},
"errors": [],
"data": [/* QR codes */]
}/api/v1/qr-codes/{id}/analyticsGet scan analytics for a specific QR code
curl -X GET "https://qr-insights.com/api/v1/qr-codes/{id}/analytics" \ -H "Authorization: Bearer qr_live_your_api_key_here"
{
"success": true,
"data": {
"total_scans": 1247,
"scans_today": 23,
"scans_this_week": 156,
"scans_this_month": 432,
"top_locations": [
{
"country": "United States",
"count": 456
},
{
"country": "Canada",
"count": 234
}
],
"device_breakdown": {
"mobile": 789,
"desktop": 345,
"tablet": 113
},
"recent_scans": [
{
"scanned_at": "2024-01-15T14:30:00Z",
"country": "United States",
"region": "California",
"city": "San Francisco",
"device_type": "mobile"
}
]
}
}{
"error": {
"message": "QR code limit exceeded. You have 3/3 QR codes.",
"code": "LIMIT_EXCEEDED",
"details": {
"current": 3,
"limit": 3
}
}
}Official JavaScript SDK for Node.js and browser environments.
npm install @qr-insights/sdk import { QRInsights } from '@qr-insights/sdk' const client = new QRInsights('your_api_key')
Official Python SDK for server-side applications.
pip install qr-insights from qr_insights import QRInsights client = QRInsights('your_api_key')
Sign up for a Pro plan to get API access and start integrating QR code generation into your applications.
SECURE API KEYS /// FAST RESPONSE TIMES /// 99.9% UPTIME