Number Plate Recognition API Integration Guide
Integrating a number plate recognition API into your application doesn't have to be complicated. This guide walks you through the entire process — from obtaining API credentials to handling responses in production.
1. Get Your API Key
Start by creating a free account on NPR API. Once registered, navigate to your dashboard to generate an API key. The free Developer plan includes 1,000 requests per month — enough to build and test your integration.
2. Understand the Endpoint
NPR API exposes a single primary endpoint for plate recognition:
POST /v1/read
You can submit images as a base64-encoded string in the JSON body, as a multipart file upload, or by providing a publicly accessible URL.
3. Submit an Image
Here's a minimal example using cURL:
curl -X POST https://api.npr-api.com/v1/read \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"image": "BASE64_ENCODED_IMAGE"}'
4. Handle the Response
A successful response returns structured JSON with plate data:
{
"results": [{
"plate": "AB12 CDE",
"confidence": 0.997,
"region": "gb",
"vehicle": {
"make": "BMW",
"model": "3 Series",
"colour": "black"
}
}],
"processing_time_ms": 42
}
Key fields to work with:
- plate — The recognised number plate text.
- confidence — A score between 0 and 1 indicating recognition certainty.
- region — The detected country/region of the plate format.
- vehicle — Optional vehicle metadata (available on Startup plan and above).
5. Error Handling
Your integration should handle these common scenarios:
- No plate found — The results array will be empty. This typically means the image doesn't contain a visible plate.
- Low confidence — Set a threshold (e.g. 0.85) and treat results below it as uncertain.
- Rate limiting — If you receive a 429 status, implement exponential backoff.
- Invalid image — Ensure images are JPEG, PNG, or WebP and under 10MB.
6. Best Practices
- Image quality matters — Higher resolution images yield better accuracy. Aim for at least 100 pixels across the plate width.
- Crop when possible — If you know the approximate plate location, cropping the image reduces processing time.
- Cache results — Store plate reads locally to avoid redundant API calls for the same vehicle.
- Use webhooks for batch — For high-volume processing, use the batch endpoint with webhook callbacks rather than polling.
Ready to start building?
Get Your Free API Key