Introduction
Welcome to the Plate Recognizer Snapshot API! You can use our API to access our API endpoints, which can read license plates from images. For detailed instructions on how to install the SDK, go here.
We have multiple language bindings. You can view code examples in the dark area to the right, and you can switch the programming language of the examples with the tabs in the top right.
Authentication
Plate Recognizer Snapshot API is only available to registered users. Sign up for a Free Trial and get an API key. It has to be included in all API calls. The HTTP headers must contain:
Authorization: Token my-token******
License Plate Recognition
Read Number Plates from an Image
# gem install multipart-post
require 'net/http/post/multipart'
url = URI.parse('https://api.platerecognizer.com/v1/plate-reader/')
path = '/path/to/car.jpg'
File.open(path) do |jpg|
req = Net::HTTP::Post::Multipart.new url.path,
"upload" => UploadIO.new(jpg, "image/jpeg", path)
req['Authorization'] = 'Token my-token******'
res = Net::HTTP.start(url.host, url.port, use_ssl: true) do |http|
http.request(req)
end
end
<?php
// CREATE FILE READY TO UPLOAD WITH CURL
$file = realpath('example.jpg');
if (function_exists('curl_file_create')) { // php 5.5+
$cFile = curl_file_create($file);
} else {
$cFile = '@' . realpath($file);
}
//ADD PARAMETER IN REQUEST LIKE regions
$data = array(
'upload' => $cFile,
'regions' => 'us-ca' // Optional
);
// Prepare new cURL resource
$ch = curl_init('https://api.platerecognizer.com/v1/plate-reader/');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLINFO_HEADER_OUT, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_2TLS);
// Set HTTP Header for POST request
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
"Authorization: Token my-token******" //API KEY
)
);
// Submit the POST request and close cURL session handle
$result = curl_exec($ch);
print_r($result);exit;
curl_close($ch);
?>
# pip install requests
import requests
from pprint import pprint
regions = ['mx', 'us-ca'] # Change to your country
with open('/path/to/car.jpg', 'rb') as fp:
response = requests.post(
'https://api.platerecognizer.com/v1/plate-reader/',
data=dict(regions=regions), # Optional
files=dict(upload=fp),
headers={'Authorization': 'Token my-token******'})
pprint(response.json())
# Calling with a custom engine configuration
import json
with open('/path/to/car.jpg', 'rb') as fp:
response = requests.post(
'https://api.platerecognizer.com/v1/plate-reader/',
data=dict(regions=['us-ca'], config=json.dumps(dict(region="strict"))), # Optional
files=dict(upload=fp),
headers={'Authorization': 'Token my-token******'})
# On Linux
# Calling the API with 2 regions (Mexico and California).
curl -o /tmp/car.jpg https://app.platerecognizer.com/static/demo.jpg # Get an image
curl -F "upload=@/tmp/car.jpg" \
-F regions=mx \
-F regions=us-ca \
-H "Authorization: Token my-token******" \
https://api.platerecognizer.com/v1/plate-reader/
# Calling the API with a custom engine configuration and region California.
curl -F "upload=@/path/to/car.jpg" \
-F regions=us-ca \
-F config="{\"region\":\"strict\"}" \
-H "Authorization: Token my-token******" \
https://api.platerecognizer.com/v1/plate-reader/
# Calling the API with an image URL.
curl -X POST -F upload_url="https://app.platerecognizer.com/static/demo.jpg" -H "Authorization: Token my-token*****" https://api.platerecognizer.com/v1/plate-reader
# On Windows
# Calling the API with 2 regions (Mexico and California).
curl -o car.jpg https://app.platerecognizer.com/static/demo.jpg
curl -F "upload=@car.jpg" ^
-F regions=mx ^
-F regions=us-ca ^
-H "Authorization: Token my-token******" ^
https://api.platerecognizer.com/v1/plate-reader/
# Calling the API with a custom engine configuration and region California.
curl -F "upload=@c:\path\to\car.jpg" ^
-F regions=us-ca ^
-F config="{\"region\":\"strict\"}" ^
-H "Authorization: Token my-token******" ^
https://api.platerecognizer.com/v1/plate-reader/
// Using Node-RED?
// Check https://github.com/parkpow/node-red-contrib-plate-recognizer
const fetch = require("node-fetch");
const FormData = require("form-data");
const fs = require("fs");
let image_path = "/path/to/car.jpg";
let body = new FormData();
body.append("upload", fs.createReadStream(image_path));
// Or body.append('upload', base64Image);
body.append("regions", "us-ca"); // Change to your country
fetch("https://api.platerecognizer.com/v1/plate-reader/", {
method: "POST",
headers: {
Authorization: "Token my-token******",
},
body: body,
})
.then((res) => res.json())
.then((json) => console.log(json))
.catch((err) => {
console.log(err);
});
// Complete Example:
// https://github.com/marcbelmont/deep-license-plate-recognition/tree/master/csharp/PlateRecognizer
// Function calling the API:
// https://github.com/marcbelmont/deep-license-plate-recognition/blob/master/csharp/PlateRecognizer/PlateReader.cs#L23
// Complete Example:
// https://github.com/marcbelmont/deep-license-plate-recognition/tree/master/java/PlateRecognizer
// Function calling the API:
// https://github.com/marcbelmont/deep-license-plate-recognition/blob/master/java/PlateRecognizer/src/main/java/com/mycompany/numberplate/recognize.java#L17
// Complete Android App Example:
// https://github.com/parkpow/alpr-anpr-android/
// Complete Example (Windows or Linux):
// https://github.com/marcbelmont/deep-license-plate-recognition/tree/master/java/PlateRecognizer
// Function calling the API:
// https://github.com/marcbelmont/deep-license-plate-recognition/blob/master/cpp/linux/numberPlate.cpp#L25
// https://github.com/marcbelmont/deep-license-plate-recognition/blob/master/cpp/windows/ConsoleApplication2/ConsoleApplication2.cpp#L29
Return value
{
"processing_time": 288.758,
"results": [
{
"box": {
"xmin": 143,
"ymin": 481,
"xmax": 282,
"ymax": 575
},
"plate": "nhk552",
"region": {
"code": "gb",
"score": 0.747
},
"vehicle": {
"score": 0.798,
"type": "Sedan",
"box": {
"xmin": 67,
"ymin": 113,
"xmax": 908,
"ymax": 653
}
},
"score": 0.904,
"candidates": [
{
"score": 0.904,
"plate": "nhk552"
}
],
"dscore": 0.99,
// Make Model, Orientation and Color are only available if you set mmc=true
"model_make": [
{
"make": "Riley",
"model": "RMF",
"score": 0.306
}
],
"color": [
{
"color": "black",
"score": 0.937
}
],
"orientation": [
{
"orientation": "Front",
"score": 0.937
}
]
}
],
"filename": "1617_7M83K_car.jpg",
"version": 1,
"camera_id": null,
"timestamp": "2020-10-12T16:17:27.574008Z"
}
This Snapshot API endpoint reads all license plates from an image.
To programmatically process a bunch of images in a folder, refer to our Snapshot Guides.
If you need to detect vehicles and decode license plates from a live camera or video feed, consider using Plate Recognizer Stream. Contact us to request a Free Trial of Stream.
If you need to blur license plates, consider using Plate Recognizer Blur. Contact us for more info.
HTTP Request
POST https://api.platerecognizer.com/v1/plate-reader/
* The CORS policy of this endpoint allows requests from all origins.
POST Parameters
Parameter | Required | Description |
---|---|---|
upload | Yes | The file to be uploaded. The parameter can either be the file bytes (using Content-Type multipart/form-data) OR a base64 encoded image. This parameter becomes optional if upload_url parameter is present. |
upload_url | No | The url of file to be uploaded. This parameter is to be used as an alternative to upload parameter. |
regions | No | Match the license plate pattern of a specific region or regions. This parameter can be used multiple times to specify more than one region. It is treated as a guide and the template will be ignored if the prediction differs too much from it. That's because we want to still be able to read plates from foreign vehicles. The system may sometimes mistake a local vehicle for a foreign one. |
camera_id | No | Unique camera identifier. |
timestamp | No | ISO 8601 timestamp. For example, 2019-08-19T13:11:25 . The timestamp has to be in UTC. |
mmc | No | Predict vehicle make, model, orientation and color. This feature is available for an additional fee. Set parameter to true (mmc=true) if you have this feature enabled/purchased to get vehicle make, model and color. Possible values are true or false . |
config | No | Additional engine configuration. See details. |
JSON Response
The response is a list of all the license plates found in the image. Each license plate has the following elements:
Attribute | Description |
---|---|
results/plate | Text of the license plate. |
results/box | Bounding box for the license plate. Coordinates in pixel of the top left and bottom right corners of the plate. |
results/dscore | Confidence level for plate detection. See below for more details. |
results/score | Confidence level for reading the license plate text. See below for more details. |
results/vehicle/type | Vehicle type: Big Truck, Bus, Motorcycle, Pickup Truck, Sedan, SUV, Van, Unknown. |
results/vehicle/score | Confidence level for vehicle type prediction. If we cannot find a vehicle, the score is set to 0. |
results/vehicle/box | Vehicle bounding box. If we cannot find a vehicle, the coordinates are all 0. |
results/region/code | Region of license plate. Returns a code from the country list. |
results/region/score | Confidence level for license plate region. |
results/candidates | List of predictions for the license plate value. The first element is the top prediction (same as results/plate ). |
results/model_make/make | Prediction of vehicle make. |
results/model_make/model | Prediction of vehicle model. |
results/model_make/score | Confidence level for vehicle make and model prediction. |
results/color/color | Vehicle color. One of black , blue , brown , green , red , silver , white , yellow , unknown . |
results/color/score | Confidence level for vehicle color prediction. |
results/orientation/orientation | Vehicle orientation. One of Front , Rear , Unknown . |
results/orientation/score | Confidence level for vehicle orientation prediction. |
- Scores vary between 0 and 1. A prediction with a score close to 1 indicates high confidence.
- The value dscore is the confidence level of the object detection. A score close to 1 indicates a high confidence. For example, if you don't want to miss any vehicles and you can tolerate some false positives, you can decide to use all results with a score above 0.3. However, if you want to avoid false positives and can tolerate missing a few vehicles, then discarding results below 0.7 is preferable. It depends on the use case and quality of the images you use.
Error Responses
Engine Configuration
A lookup request can accept the parameter config
. It is a JSON value to change the engine configuration. It can include the following values:
{"detection_rule":"strict"}
: The license plates that are detected outside a vehicle will be discarded.{"detection_mode":"vehicle"}
: The default detection mode (plate) only returns vehicles if a license plate is also detected. To get vehicles without plates, use the value vehicle. See the response format.{"region":"strict"}
: Only accept the results that exactly match the templates of the specified region. For example, if the license plate of a region is 3 letters and 3 numbers, the valueabc1234
will be discarded. For regions with vanity license plates (e.g. in us-ca), we do not recommend the use of Strict Mode. Otherwise, the engine will discard the vanity plates. A region must be specified in order for this parameter to work.{"threshold_d":0.2, "threshold_o":0.6}
: By default the engine will use those thresholds to filter the detection and OCR results. Anything below that will be discarded. You can set different values.{"mode":"fast"}
: The number of detection steps is always 1. On average it gives a 30% speed-up. May result in lower accuracy when using images with small vehicles.{"mode":"redaction"}
: Used for Plate Recognizer Blur. It includes more candidates during the plate detection step. This configuration will miss fewer plates but will increase the number of false positives (objects that are not license plates).{"text_formats":["..."]}
: List of regular expressions. They are used to guide the engine's predictions. For example, if you know the output is generally 3 digits and 2 letters, you would use{"text_formats":["[0-9][0-9][0-9][a-z][a-z]"]}
. More information about the format. The engine may not follow the format when the predictions are too different. If you want to exactly match the regexp, you should also use"region":"strict"
(see above).
Examples
Here are a couple of examples of how to use the config
parameter (with Shell or Python).
# On Linux
# Custom threshold and fast mode:
curl -F "upload=@/path/to/car.jpg" \
-F config="{\"mode\":\"fast\", \"threshold_d\":0.2, \"threshold_o\":0.6}" \
-H "Authorization: Token my-token******" \
https://api.platerecognizer.com/v1/plate-reader/
# Strict region matching:
curl -F "upload=@/path/to/car.jpg" \
-F config="{\"region\":\"strict\"}" \
-F region=us-ca \
-H "Authorization: Token my-token******" \
https://api.platerecognizer.com/v1/plate-reader/
# Prediction must include a vehicle:
curl -F "upload=@/path/to/car.jpg" \
-F config="{\"detection_rule\":\"strict\"}" \
-H "Authorization: Token my-token******" \
https://api.platerecognizer.com/v1/plate-reader/
# On Windows
# Custom threshold and fast mode:
curl -F "upload=@c:\path\to\car.jpg" ^
-F config="{\"mode\":\"fast\", \"threshold_d\":0.2, \"threshold_o\":0.6}" ^
-H "Authorization: Token my-token******" ^
https://api.platerecognizer.com/v1/plate-reader/
# Strict region matching:
curl -F "upload=@c:\path\to\car.jpg" ^
-F config="{\"region\":\"strict\"}" ^
-F region=us-ca ^
-H "Authorization: Token my-token******" ^
https://api.platerecognizer.com/v1/plate-reader/
# Prediction must include a vehicle:
curl -F "upload=@c:\path\to\car.jpg" ^
-F config="{\"detection_rule\":\"strict\"}" ^
-H "Authorization: Token my-token******" ^
https://api.platerecognizer.com/v1/plate-reader/
import json
with open('/path/to/car.jpg', 'rb') as fp:
response = requests.post(
'https://api.platerecognizer.com/v1/plate-reader/',
data=dict(config=json.dumps(dict(region="strict"))),
files=dict(upload=fp),
headers={'Authorization': 'Token my-token******'})
Detection Zones
Detection Zones exclude overlay texts, street signs or other objects.
Vehicle Only Response
Return value
{
"filename": "car.jpg",
"timestamp": "2021-11-23 17:56:47.896406",
"camera_id": "my-camera",
"processing_time": 58.184,
"results": [
{
"plate": {
"type": "Plate",
"score": 0.925,
"box": {
"xmin": 146,
"ymin": 481,
"xmax": 276,
"ymax": 576
},
"props": {
"plate": [
{
"value": "nhk552",
"score": 0.838
}
],
"region": [
{
"value": "gb",
"score": 0.931
}
]
}
},
"vehicle": {
"type": "Sedan",
"score": 0.834,
"box": {
"xmin": 68,
"ymin": 103,
"xmax": 914,
"ymax": 643
},
"props": {
"make_model": [
{
"make": "Riley",
"model": "RMF",
"score": 0.339
}
],
"orientation": [
{
"value": "Front",
"score": 0.939
}
],
"color": [
{
"value": "black",
"score": 0.846
}
]
}
}
}
]
}
When the parameter detection_mode
is set to vehicle
, the output includes vehicles without a license plate. The lookup response is as follows.
- Each element of the list is now an object with two optional elements:
plate
andvehicle
. - The license plate text is stored in
plate.props.plate
as a list. The first element is the top prediction. - The license plate region is in
plate.props.region
. - The vehicle properties (orientation, make model and color) are in
vehicle.props
. Each include the top 3 predictions.
On-Premise SDK
Our service is also available on-premises. Get started with the SDK. It has a similar interface as the recognition API and it is hosted locally. See differences below.
Recognition API
# On Linux
# Calling the API with just the image
curl -o car.jpg https://app.platerecognizer.com/static/demo.jpg # Get an image
curl -F "upload=@car.jpg" \
http://localhost:8080/v1/plate-reader/
# Calling with API with optional parameters config and mmc
# The region is set to Mexico and California
curl -F "upload=@/path/to/car.jpg" \
-F regions=mx \
-F regions=us-ca \
-F mmc=true \
-F config="{\"mode\":\"fast\"}" \
http://localhost:8080/v1/plate-reader/
# On Windows
# Calling the API with just the image
curl -o car.jpg https://app.platerecognizer.com/static/demo.jpg
curl -F "upload=@car.jpg" ^
http://localhost:8080/v1/plate-reader/
# Calling with API with optional parameters config and mmc
# The region is set to Mexico and California
curl -F "upload=@c:\path\to\car.jpg" ^
-F regions=mx ^
-F regions=us-ca ^
-F mmc=true ^
-F config="{\"mode\":\"fast\"}" ^
http://localhost:8080/v1/plate-reader/
Return value
{
"usage": {
"max_calls": 1000,
"calls": 44
},
"results": [
// Same as cloud API example above.
],
"camera_id": "null",
"timestamp": "2020-01-16 17:00:00",
"filename": "car.jpg"
}
HTTP Request
POST http://localhost:8080/v1/plate-reader/
* The CORS policy of this endpoint allows requests from all origins.
POST Parameters
Parameter | Required | Description |
---|---|---|
- | - | All the parameters from recognition API. |
JSON Response
Returns the same parameters as the recognition API. In addition to that, it returns the number of calls used.
SDK Version
Return value
{
"version": "1.3.8",
"license_key": "XXX",
"total_calls": 2500,
"usage": {"calls": 10},
"webhooks": []
}
Show version, webhooks and usage information.
HTTP Request
GET http://localhost:8080/info/
JSON Response
Returns the SDK version, license key and webhooks.
WebHooks
Example of POST payload
{
"hook": {
"target": "http://localhost:8081/",
"id": 2,
"event": "image.done"
},
"data": {
"processing_time": 0.186,
"timestamp": "2019-08-31T14:22:06.983Z",
"results": [
{
"box": {
"xmin": 563,
"ymin": 530,
"ymax": 579,
"xmax": 702
},
"plate": "765410",
"score": 0.9131534678711563,
"dscore": 0.4084282568529709
},
{
"box": {
"xmin": 563,
"ymin": 530,
"ymax": 579,
"xmax": 702
},
"plate": "830265",
"score": 0.7700640306685624,
"dscore": 0.8493143507578083
}
],
"filename": "14_22_test.jpeg",
"version": 1,
"camera_id": null
}
}
Our service also supports webhooks. It allows you to receive a HTTP POST request to a target URL of your choosing. Go to webhooks settings page to manage your webhooks or add a new webhook target. If you are using Stream, see those instructions.
- The
target_url
should return a valid HTTP status code (200). If thetarget_url
consistently returns an error code, the hook will be removed and an email will be sent to the account owner. - To quickly test out this feature, you can use http://webhook.site. It generates a unique target URL and displays all the requests made to that URL.
- A webhook is sent for each call to the recognition API even when no license plate is found.
Data Only Webhook
Snapshot: HTTP Request
POST target_url
The request body contains the payload above in JSON format.
Stream: HTTP Request
POST target_url
The request body contains a json
field with JSON encoded data. See the example above for the content of that field.
Webhook With Image
Snapshot & Stream: HTTP Request
POST target_url
The request body contains a multipart/form-data
content. Receiving this data is like receiving the content of a form with an input
of type file. It has two fields:
upload
contains the image binary contentjson
is the JSON encoded data. See the example of the payload above.
Statistics
Get number of recognition calls done during the current month. This API is for Snapshot Cloud only. For Snapshot SDK, use the info API.
HTTP Request
GET https://api.platerecognizer.com/v1/statistics/
curl -H "Authorization: Token my-token******" \
https://api.platerecognizer.com/v1/statistics/
Return value
{
"usage": {
"month": 1,
"calls": 128,
"year": 2019,
"resets_on": "2019-01-14T00:00:00Z"
},
"total_calls": 2500
}
JSON Response
Attribute | Description |
---|---|
calls | Number of API calls made during the current period. |
month | Month of the current period. |
year | Year of the current period. |
resets_on | Date when the counter will reset. |
total_calls | Maximum number of API calls you can make during the period. Need more? Upgrade. |
─
Doc for Other Products
The documentation for Stream, our Highly-accurate ALPR software that processes live camera or video feeds quickly & efficiently, is on a different page.
For Stream and other products, see this documentation.
FAQ
Can't make it work? Check our step by step guides or FAQ.
Countries
Codes for the regions
parameter. You can also provide a state to select more specific license plate patterns. States are only supported for some countries.
Don't see your country listed? Contact us for more info.
The column Prediction indicates if the region is supported by our region classification predictor (field results/region/code
).
Country Codes
Country | Region code | Prediction |
---|---|---|
Aland Island | ax | |
Albania | al | |
Algeria | dz | |
American Samoa | as | |
Andorra | ad | |
Angola | ao | |
Anguilla | ai | |
Antarctica | aq | |
Antigua and Barbuda | ag | |
Argentina | ar | Yes |
Armenia | am | Yes |
Aruba | aw | |
Australia | au | Yes |
Austria | at | Yes |
Azerbaijan | az | Yes |
Bahamas | bs | |
Barbados | bb | |
Belarus | by | Yes |
Belgium | be | Yes |
Belize | bz | |
Benin | bj | |
Bermuda | bm | |
Bolivia | bo | |
Bonaire, Saint Eustatius and Saba | bq | |
Bosnia and Herzegovina | ba | |
Brazil | br | Yes |
British Indian Ocean Territory | io | |
British Virgin Islands | vg | |
Brunei | bn | |
Bulgaria | bg | Yes |
Burkina Faso | bf | |
Burundi | bi | |
Cambodia | cb | |
Cameroon | cm | |
Canada | ca | Yes |
Cape Verde | cv | |
Cayman Islands | cy | |
Central African Republic | cf | |
Chad | td | |
Chile | cl | Yes |
Christmas Island | cx | |
Cocos Island | cc | |
Colombia | co | Yes |
Comoros | km | |
Congo | cg | |
Cook Islands | ck | |
Costa Rica | cr | Yes |
Cote D'Ivoire | ci | |
Croatia | hr | Yes |
Cuba | cu | |
Curacao | cw | |
Cyprus | cy | |
Czechia | cz | Yes |
Denmark | dk | Yes |
Dominica | dm | |
Dominican republic | do | |
Ecuador | ec | |
Egypt | eg | Yes |
El Salvador | sv | |
Equatorial Guinea | gq | |
Eritrea | er | |
Estonia | ee | Yes |
Falk Islands | fk | |
Faroe Island | fo | |
Fiji | fj | |
Finland | fi | Yes |
France | fr | Yes |
French Guiana | gf | |
French Polynesia | pf | |
French Southern Territories | tf | |
Gabon | ga | |
Gambia | gm | |
Georgia | ge | Yes |
Germany | de | Yes |
Ghana | gh | |
Gibraltar | gi | |
Greece | gr | Yes |
Greenland | gl | |
Grenada | gd | |
Guadeloupe | gp | |
Guam | gu | |
Guatemala | gp | |
Guernsey | gg | |
Guinea | gn | |
Guinea-Bissau | gw | |
Guyana | gy | |
Haiti | ht | |
Holy See | va | |
Honduras | hn | |
Hong Kong | hk | |
Hungary | hu | Yes |
Iceland | is | |
India | in | Yes |
Indonesia | id | Yes |
Ireland | ie | |
Isle of Man | im | |
Israel | il | Yes |
Italy | it | Yes |
Jamaica | jm | |
Japan | jp | Yes |
Jersey | je | |
Jordan | jo | |
Kazakhstan | kz | Yes |
Kenya | ke | |
Kiribati | ki | |
Korea, Republic of | kr | |
Kyrgyztan | kg | |
Latvia | lv | Yes |
Lebanon | lb | |
Lesotho | ls | |
Liberia | lr | |
Liechtenstein | li | |
Lithuania | lt | Yes |
Luxembourg | lu | Yes |
Madagascar | mg | |
Malawi | mw | |
Malaysia | my | |
Maldives | mv | |
Mali | ml | |
Malta | mt | |
Marshall Islands | mh | |
Martinique | mq | |
Mauritius | mu | |
Mayotte | yt | |
Mexico | mx | |
Micronesia | fm | |
Moldova, Republic of | md | Yes |
Monaco | mc | Yes |
Montenegro | me | Yes |
Montserrat | ms | |
Myanmar | mm | |
Namibia | na | |
Nauru | nr | |
Nepal | np | |
Netherlands | nl | Yes |
New Caledonia | nc | |
New Zealand | nz | Yes |
Nicaragua | ni | |
Niger | ne | |
Nigeria | ng | |
Niue | nu | |
Norfolk Island | nf | |
North Macedonia | mk | |
Northern Mariana Islands | np | |
Norway | no | Yes |
Palau | pw | |
Panama | pa | |
Papua New Guinea | pg | |
Paraguay | py | |
Peru | pe | Yes |
Philippines | ph | |
Poland | pl | Yes |
Portugal | pt | Yes |
Puerto Rico | pr | |
Qatar | qa | |
Reunion Island | re | |
Romania | ro | Yes |
Russian Federation | ru | |
Rwanda | rw | |
Saint Barthelemy | bl | |
Saint Kitts and Nevis | kn | |
Saint Lucia | lc | |
Saint Martin | mf | |
Saint Pierre and Miquelon | pm | |
Saint Vincent and the Grenadines | vc | |
Samoa | ws | |
San Marino | sm | |
Sao Tome and Principe | st | |
Saudi Arabia | sa | |
Serbia | rs | Yes |
Seychelles | sc | |
Sierra Leone | sl | |
Singapore | sg | |
Sint Maarten | sx | |
Slovakia | sk | Yes |
Slovenia | si | |
Solomon Islands | sb | |
South Africa | za | Yes |
South Sudan | ss | |
Spain | es | Yes |
Sri Lanka | lk | |
Suriname | sr | |
Svalbard and Jan Mayen | sj | |
Swaziland | sz | |
Sweden | se | Yes |
Switzerland | ch | Yes |
Taiwan | tw | |
Tajikistan | tj | |
Tanzania | tz | |
Thailand | th | Yes |
Timor Leste | tl | |
Togo | tg | |
Tonga | to | |
Trinidad and Tobago | tt | |
Turkey | tr | Yes |
Turkmenistan | tm | |
Turks and Caicos Islands | tc | |
Tuvalu | tv | |
U.S. Minor Outlying Islands | um | |
U.S. Virgins Islands | vi | |
Ukraine | ua | Yes |
United Arab Emirates | ae | Yes |
United Kingdom of Great Britain | gb | Yes |
Uraguay | uy | |
USA | us | Yes |
Uzbekistan | uz | Yes |
Vanuatu | vu | |
Venezuela | ve | |
Vietnam | vn | Yes |
Wallis and Futuna | wf | |
Western Sahara | eh | |
Zambia | zm | |
Zimbabwe | zw |
Countries with Province Codes
United Arab Emirates
State | Region Code |
---|---|
Abu Dhabi | ae-az |
Ajman | ae-aj |
Dubai | ae-du |
Fujairah | ae-fu |
Ras Al Khaimah | ae-rk |
Sharjah | ae-sh |
Umm Al Quwain | ae-uq |
Australia
State | Region code |
---|---|
Australian Capital Territory | au-act |
New South Wales | au-nsw |
Queensland | au-qld |
South Australia | au-sa |
Tasmania | au-tas |
Victoria | au-vic |
Western Australia | au-wa |
Brazil
State | Region Code |
---|---|
Acre | br-ac |
Alagoas | br-al |
Amapá | br-ap |
Amazonas | br-am |
Bahia | br-ba |
Ceará | br-ce |
Distrito Federal | br-df |
Espírito Santo | br-es |
Goiás | br-go |
Manias Gerais | br-mg |
Maranhão | br-ma |
Mato Grosso do Sul | br-ms |
Mato Grosso | br-mt |
Pernambuco | br-pe |
Pará | br-pa |
Paraíba | br-pb |
Paraná | br-pr |
Piauí | br-pi |
Rio de Janeiro | br-rj |
Rio Grande do Norte | br-rn |
Rio Grande do Sul | br-rs |
Rondônia | br-ro |
Roraima | br-rr |
São Paulo | br-sp |
Sergipe | br-se |
Santa Catarina | br_sc |
Tocantins | br-to |
Canada
State | Region Code |
---|---|
Alberta | ca-ab |
British Columbia | ca-bc |
Manitoba | ca-mb |
New Brunswick | ca-nb |
Newfoundland and Labrador | ca-nl |
Northwest Territories | ca-nt |
Nova Scotia | ca-ns |
Nunavut | ca-nu |
Ontario | ca-on |
Prince Edward Islands | ca-pe |
Quebec | ca-qc |
Saskatchewan | ca-sk |
Yukon | ca-yt |
Egypt
State | Region Code |
---|---|
Ad Daqahlīyah | DK |
Al Baḩr al Aḩmar | BA |
Al Buḩayrah | BH |
Al Fayyūm | FYM |
Al Gharbīyah | GH |
Al Iskandarīyah | ALX |
Al Ismā'īlīyah | IS |
Al Jīzah | GZ |
Al Minūfīyah | MNF |
Al Minyā | MN |
Al Qāhirah | C |
Al Qalyūbīyah | KB |
Al Uqşur | LX |
Al Wādī al Jadīd | WAD |
As Suways | SUZ |
Ash Sharqīyah | SHR |
Aswān | ASN |
Asyūţ | AST |
Banī Suwayf | BNS |
Būr Sa‘īd | PTS |
Dumyāţ | DT |
Janūb Sīnā' | JS |
Kafr ash Shaykh | KFS |
Maţrūḩ | MT |
Qinā | KN |
Shamāl Sīnā' | SIN |
Sūhāj | SHG |
Japan
State | Region code |
---|---|
一宮 | ACI |
春日井 | ACK |
名古屋 | ACN |
愛 | ACN |
豊橋 | ACT |
三河 | ACM |
岡崎 | ACZ |
豊田 | ACY |
秋田 | ATA |
秋 | ATA |
青森 | AMA |
青 | AMA |
戸 | AMH |
千葉 | CBC |
千 | CBC |
成田 | CBT |
習志野 | CBN |
船橋 | CBN |
野田 | CBD |
柏 | CBK |
浦 | CBS |
愛媛 | EH |
福井 | FI |
福岡 | FOF |
福 | FOF |
留米 | FOR |
福島 | FS |
会津 | FSA |
岐阜 | GFG |
岐 | GF |
飛騨 | GFH |
飛驒 | GFH |
群馬 | GMG |
群 | GM |
前橋 | GMM |
高崎 | GMT |
福山 | HSF |
広島 | HSH |
広 | HSH |
旭川 | AKA |
旭 | AKA |
函館 | HDH |
函 | HDH |
北見 | KIK |
北 | KIK |
釧路 | KRK |
釧 | KRK |
室蘭 | MRM |
室 | MRM |
帯広 | OHO |
帯 | OHO |
札幌 | SPS |
札 | SPS |
姫路 | HGH |
水戸 | IGM |
茨城 | IGM |
茨 | IGM |
土浦 | IGT |
石川 | IKI |
石 | IKI |
金沢 | IKK |
岩手 | ITI |
岩 | ITI |
平泉 | ITH |
盛岡 | ITM |
香川 | KAK |
香 | KAK |
島 | KOK |
鹿 | KOK |
奄美 | KOA |
相模 | KNS |
川崎 | KNK |
横浜 | KNY |
神 | KNY |
熊本 | KUK |
熊 | KUK |
三重 | MEM |
三 | MEM |
鈴鹿 | MES |
宮城 | MGM |
宮 | MG |
仙台 | MGS |
宮崎 | MZ |
松本 | NNM |
諏訪 | NNS |
長野 | NNN |
長 | NN |
長崎 | NS |
佐世保 | NSS |
奈良 | NRN |
奈 | NR |
長岡 | NGO |
新潟 | NGN |
新 | NG |
岡山 | OYO |
岡 | OY |
倉敷 | OYK |
沖縄 | ONO |
沖 | ONO |
和泉 | OSZ |
泉 | OSZ |
堺 | OSS |
佐賀 | SAS |
佐 | SAS |
春日部 | STB |
越谷 | STY |
熊谷 | STK |
川口 | STW |
所沢 | STT |
川越 | STG |
滋賀 | SIS |
滋 | SIS |
島根 | SN |
嶋 | SN |
浜松 | SZH |
沼津 | SZN |
伊豆 | SZI |
静岡 | SZS |
静 | SZS |
宇都宮 | TGU |
栃木 | TGU |
栃 | TGU |
那須 | TGN |
徳島 | TST |
徳 | TST |
足立 | TKA |
足 | TKA |
多摩 | TKT |
多 | TKT |
練馬 | TKN |
練 | TKN |
杉並 | TKM |
世田谷 | TKG |
鳥取 | TTT |
鳥 | TTT |
富山 | TYT |
富 | TYT |
和歌山 | WKW |
和 | WKW |
山形 | YA |
山口 | YUY |
山 | YUY |
下関 | YUS |
山梨 | YN |
富士山 | YNF |
八王子 | TKH |
尾張小牧 | ACO |
筑豊 | FOC |
北九州 | FOK |
いわき | FSI |
郡山 | FSK |
神戸 | HGK |
つくば | IGK |
つくば | IGK |
湘南 | KNN |
高知 | KCK |
高 | KCK |
京都 | KTK |
京 | KTK |
大分 | OT |
大阪 | OSO |
大 | OSO |
なにわ | OSN |
大宮 | STO |
埼玉 | STO |
埼 | STO |
とちぎ | TCK |
王子 | TKH |
品川 | TKS |
品 | TKS |
庄 | YAS |
江東 | YOI |
鹿児島 | LSC |
袖ヶ浦 | OIT |
市川 | SC |
松戸 | SHT |
市原 | SHM |
庄内 | SNA |
板橋 | SBR |
八戸 | AMH |
久留米 | FOR |
とちぎ | TCK |
高松 | KAK |
Peru
State | Region Code |
---|---|
Amazonas | pe-ama |
Ancash | pe-anc |
Apurímac | pe-apu |
Arequipa | pe-are |
Ayacucho | pe-aya |
Cajamarca | pe-caj |
Cusco | pe-cus |
Huancavelica | pe-huv |
Huánuco | pe-huc |
Ica | pe-ica |
Junín | pe-jun |
La Libertad | pe-lal |
Lambayeque | pe-lam |
Lima | pe-lim |
Loreto | pe-lor |
Madre de Dios | pe-mdd |
Moquegua | pe-moq |
Pasco | pe-pas |
Piura | pe-piu |
Puno | pe-pun |
San Martín | pe-sam |
Tacna | pe-tac |
Tumbes | pe-tum |
Ucayali | pe-uca |
Thailand
Thai characters are not supported on our Cloud API. You will need a custom Docker image.
Replace platerecognizer/alpr
by platerecognizer/alpr:thailand
in the installation instructions.
State | Region code |
---|---|
Amnat Charoen | th-37 |
Ang Thong | th-15 |
Ayutthaya | th-14 |
Bangkok | th-10 |
Bangkok | th-10b |
Bangkok | th-10c |
Batong | th-99 |
Bueng Kan | th-38 |
Buri Ram | th-31 |
Chachoengsao | th-24 |
Chai Nat | th-18 |
Chaiyaphum | th-36 |
Chanthaburi | th-22 |
Chiang Mai | th-50 |
Chiang Rai | th-57 |
Chon Buri | th-20 |
Chumphon | th-86 |
Kalasin | th-46 |
Kamphaeng Phet | th-62 |
Kanchanaburi | th-71 |
Khon Kaen | th-40 |
Krabi | th-81 |
Lampang | th-52 |
Lamphun | th-51 |
Loei | th-42 |
Lop Buri | th-16 |
Mae Hong Son | th-58 |
Maha Sarakham | th-44 |
Mukdahan | th-49 |
Nakhon Nayok | th-26 |
Nakhon Pathom | th-73 |
Nakhon Phanom | th-48 |
Nakhon Ratchasima | th-30 |
Nakhon Sawan | th-60 |
Nakhon Si Thammarat | th-80 |
Nan | th-55 |
Narathiwat | th-96 |
Nong Bua Lam Phu | th-39 |
Nong Khai | th-43 |
Nonthaburi | th-12 |
Pathum Thani | th-13 |
Pattani | th-94 |
Phangnga | th-82 |
Phatthalung | th-93 |
Phayao | th-56 |
Phetchabun | th-67 |
Phetchaburi | th-76 |
Phichit | th-66 |
Phitsanulok | th-65 |
Phrae | th-54 |
Phuket | th-83 |
Prachin Buri | th-25 |
Prachuap Khiri Khan | th-77 |
Ranong | th-85 |
Ratchaburi | th-70 |
Rayong | th-21 |
Roi Et | th-45 |
Sa Kaeo | th-27 |
Sakon Nakhon | th-47 |
Samut Prakan | th-11 |
Samut Sakhon | th-74 |
Samut Songkhram | th-75 |
Saraburi | th-19 |
Satun | th-91 |
Sing Buri | th-17 |
Sisaket | th-33 |
Songkhla | th-90 |
Sukhothai | th-64 |
Suphan Buri | th-72 |
Surat Thani | th-84 |
Surin | th-32 |
Tak | th-63 |
Trang | th-92 |
Trat | th-23 |
Ubon Ratchathani | th-34 |
Udon Thani | th-41 |
Uthai Thani | th-61 |
Uttaradit | th-53 |
Yala | th-95 |
Yasothon | th-35 |
United States of America
State | Region code |
---|---|
Alabama | us-al |
Alaska | us-ak |
Arizona | us-az |
Arkansas | us-ar |
California | us-ca |
Colorado | us-co |
Connecticut | us-ct |
Delaware | us-de |
District of Columbia | us-dc |
Florida | us-fl |
Georgia | us-ga |
Hawaii | us-hi |
Idaho | us-id |
Illinois | us-il |
Indiana | us-in |
Iowa | us-ia |
Kansas | us-ks |
Kentucky | us-ky |
Louisiana | us-la |
Maine | us-me |
Maryland | us-md |
Massachusetts | us-ma |
Michigan | us-mi |
Minnesota | us-mn |
Mississippi | us-ms |
Missouri | us-mo |
Montana | us-mt |
Nebraska | us-ne |
Nevada | us-nv |
New Hampshire | us-nh |
New Jersey | us-nj |
New Mexico | us-nm |
New York | us-ny |
North Carolina | us-nc |
North Dakota | us-nd |
Ohio | us-oh |
Oklahoma | us-ok |
Oregon | us-or |
Pennsylvania | us-pa |
Rhode Island | us-ri |
South Carolina | us-sc |
South Dakota | us-sd |
Tennessee | us-tn |
Texas | us-tx |
Utah | us-ut |
Vermont | us-vt |
Virginia | us-va |
Washington | us-wa |
West Virginia | us-wv |
Wisconsin | us-wi |
Wyoming | us-wy |
Errors
Error Code | Meaning |
---|---|
403 | Forbidden: you do not have enough credits to perform this request or your API key is wrong. |
413 | Payload Too Large response status code indicates that the request entity is larger than limits defined by our server. See upload limits. |
429 | Indicates the user has sent too many requests in a given amount of time. The Free Trial Snapshot API Cloud Plan has a limit of 1 lookup per second. A Snapshot API Cloud Subscription has a limit of 8 lookups per second. The Snapshot SDK does not have any lookup limits per second. Subscribe for a higher number of calls per second for your API Cloud plan. The response is {"detail":"Request was throttled. Expected available in 1 second.","status_code":429} . |