AI License Plate Recognizer (OCR)
Pricing
from $350.00 / 1,000 license plate recognizeds
AI License Plate Recognizer (OCR)
Read vehicle license plates from image URLs using AI vision. Returns plate, confidence, vehicle make/model/color, day/night and image metadata as JSON. Batch or real-time API.
🚗 AI License Plate Recognizer (OCR)
Read vehicle license plates from image URLs using AI vision. Send one or more public image links (JPG, PNG, WebP and more) and get a clean JSON record per image: the plate number, a confidence score, the vehicle make/model/color, whether it's day or night, image metadata, and a reason when a plate can't be read (dirty plate, glare, rain, blur...).
🎯 Built for plates. Instead of a generic OCR that dumps raw text, this Actor is prompted specifically to find and normalize the license plate and describe the vehicle and scene around it.
What you get
| Field | Description | |
|---|---|---|
| 🔑 | licensePlate | The recognized plate, uppercased and normalized (main field) |
| 🎯 | plateConfidence | Confidence of the read (0-1) |
| 🌍 | plateRegion | Plate country/standard when identifiable (e.g. "Brazil (Mercosul)") |
| 🌗 | timeOfDay | day, night or unknown |
| 🌦️ | weather | Scene weather: clear, rain, fog, snow, cloudy, unknown |
| 🔍 | imageQuality | Perceived quality: good, fair, poor |
| 📐 | viewAngle | Camera view: front, rear, side, unknown |
| 🚙 | vehicleMake / Model / Color / Type | Vehicle attributes (type: car, motorcycle, truck...) |
| 🖼️ | imageWidth / imageHeight / imageFormat / imageSizeBytes | Image pixel size, format and byte size (flat, one column each) |
| ⚠️ | failureReason | Why the plate couldn't be read, when applicable |
How to use
1. Provide image URLs
{"imageUrls": ["https://upload.wikimedia.org/wikipedia/commons/6/66/Car_vehicle_israel_license_plate_%284893367447%29.jpg","https://upload.wikimedia.org/wikipedia/commons/1/19/Michigan_Dealer_License_Plate.jpg"]}
Supports JPG/JPEG, PNG, WebP and other common image formats. Up to 50 images per run (send larger volumes via sequential calls).
2. Run it - each image is downloaded and analyzed in parallel.
3. Read the JSON - one record per image in the dataset (export as JSON, CSV or Excel), or get it synchronously via the Standby API.
Pricing
Charged per image where a plate is read (event plate-recognized).
- Images that fail to download: not charged
- Images where no plate is readable: not charged
Example output
[{"imageUrl": "https://.../car.jpg","success": true,"licensePlate": "ABC1D23","plateConfidence": 0.97,"plateRegion": "Brazil (Mercosul)","timeOfDay": "day","weather": "clear","imageQuality": "good","viewAngle": "front","vehicleMake": "Volkswagen","vehicleModel": "Gol","vehicleColor": "silver","vehicleType": "car","imageWidth": 1280,"imageHeight": 720,"imageFormat": "jpg","imageSizeBytes": 184320,"failureReason": null,"processedAt": "2026-01-01T12:00:00.000Z","error": null},{"imageUrl": "https://.../blurry.jpg","success": false,"licensePlate": null,"plateConfidence": null,"plateRegion": null,"timeOfDay": "night","weather": "rain","imageQuality": "poor","viewAngle": "rear","vehicleMake": null,"vehicleModel": null,"vehicleColor": "black","vehicleType": "car","imageWidth": 800,"imageHeight": 600,"imageFormat": "jpg","imageSizeBytes": 95000,"failureReason": "glare","processedAt": "2026-01-01T12:00:01.000Z","error": null}]
FAQ
Which images work best?
Clear photos where the plate is visible. Heavy glare, motion blur, dirt, rain or very low resolution may prevent a read - the reason is reported in failureReason.
What plate formats are supported?
The model reads plates from most regions and reports the standard in plateRegion when it can identify it.
Can I call it in real time?
Yes. The Standby endpoint POST /recognize responds synchronously. See below.
Do failed images cost anything? No. You are only charged for images where a plate is actually read.
🔌 API integration
Batch run:
curl -X POST "https://api.apify.com/v2/acts/acme-ai~plate-recognizer-ai/run-sync-get-dataset-items?token=YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{"imageUrls":["https://upload.wikimedia.org/wikipedia/commons/6/66/Car_vehicle_israel_license_plate_%284893367447%29.jpg","https://upload.wikimedia.org/wikipedia/commons/1/19/Michigan_Dealer_License_Plate.jpg"]}'
Standby (POST /recognize):
curl -X POST "https://acme-ai--plate-recognizer-ai.apify.actor/recognize" \-H "Authorization: Bearer YOUR_APIFY_TOKEN" \-H "Content-Type: application/json" \--compressed \-d '{"imageUrls":["https://upload.wikimedia.org/wikipedia/commons/6/66/Car_vehicle_israel_license_plate_%284893367447%29.jpg","https://upload.wikimedia.org/wikipedia/commons/1/19/Michigan_Dealer_License_Plate.jpg"]}'
The token goes in the Authorization: Bearer header, never in the URL.
Notes
This Actor analyzes images you provide. You are responsible for having the right to process the images and any personal data they may contain (such as plates or people).