Frequently Asked Questions

We invite you to check our collection of videos to get a general understanding of the product. 

General questions

Our service is built upon REST API that is programming language-independent. Anything that can initiate a TCP / IP connection can be used.

Our service is platform-independent: Windows, Linux, Android, iOS…

REST API can be easily called from a programming environment such as Java, JavaScript, PHP, C ++, C #, Python, Swift or even Curl, without deeper programming knowledge. It is also possible to use the JAVA SDK, which makes integration even easier by using objects.

You need to know the business logic of your own solution and the programming language of your application. You must be able to use the REST API to invoke the service. Read more about how to start using the service.

ANPR Cloud

Introduction

cloud-anpr-non-optimal-images

Start using the service

You will receive a code to confirm your registration by email and activate your account. Login to your ANPR Cloud DevPortal and walk through our how-to-use page. See the steps of registration →

We support countries all over the world with characters in many different languages. In our European DevPortal we support these countries.

On the node side, in 80 milliseconds. Since we are talking about network communication, this number can go up to 500 milliseconds, depending on the current state of your network and the size of the image you sent (please keep it under 200 Kbytes).

Our service does not require any classic integration skills. Anyone with intermediate, general IT skills can perform the setup. You only need to know how to use REST API and understand the JSON format.

The ANPR Cloud REST API can be accessed in any language. To learn about the REST API, more information can be found in our DevPortal’s how-to-use page and client side sample code on GitHub.

Data usage

No data is stored in ANPR Cloud. Your data are used only for the recognition process, temporarily stored in the Amazon web server’s ultra-encrypted storage before being entirely deleted. Both, images submitted to the cloud and the data sent back to your system, are secured with SSL encryption. All data are managed according to EU’s GDPR regulation. Please review our Data Processing Agreement and our Privacy Agreement. We use HTTPS channel for communication and AWS security services.

We will not make your image available to the public, or share it with anyone else, except as necessary to provide the ANPR Cloud API service.

For example, we use third-party vendor (AWS services) to help us provide some aspect of our services, such as storage or transmission of data, who will be under appropriate security and confidentiality contractual obligations.

We will not share the image that you send with any other parties, or make it public, for any other purpose. Please review our Data Processing Agreement.

When you send an image to ANPR Cloud API, we must store it for a short period of time (80-200 milliseconds) in order to perform the recognition and return the results to you. For online (immediate response) operations, the image data is processed in memory and not persisted to disk.

ANPR Cloud does not claim any ownership of any of the content (including images) that you transmit to the ANPR Cloud API.

Pricing

Yes, our free subscription (trial) does not require any payment information. Once you use up all 200 of your free credits, you have to wait until the beginning of the next month, when you will be granted another 200 transactions.

Beyond the free tier providing 200 credits per month, additional credits can be purchased through AWS Marketplace or Stripe.

Except as otherwise noted, our prices are exclusive of applicable taxes and duties, including VAT and applicable sales tax.

We only charge for HTTP 200 and 400 status codes.

The HTTP 200 OK success status response code indicates that the request has succeeded. The response will contain a result in JSON format.

The HTTP 400 is an Invalid Image error message. This means that the size (the image is less than 10MB) and format (jpeg, bmp, etc.) of the image was correct, but the vehicle and license plate are not recognizable on it by the service. That is, the service was executed and the algorithm and resources processed the image but we could not provide a usable result.

To prevent this error happening, in the testing phase, please use our demo application on the Dashboard and use images generated by your camera.

For every still image, a minimum of 1 credit is deducted, whether it contains vehicles or not.

You can use the “maxreads” optional parameter to set the maximum number of readings from one image.
For example, if you want us to return no more than five license plates per one image, set the parameter to 5. If the software finds 2, it will cost you 3 credits, because the software will keep trying to find another vehicle. If it finds 5, it will cost you 5 credits.

 

ANPR Cloud will notify you when you have reached 80% of your pre-purchased credit package. You have the option to purchase a larger package. Once you reached the limit of your credit package, we do not stop the service, but continue to provide it at a flat rate.

Image quality

The recognition capabilities ANPR Cloud are extremely wide. However, it is possible that the attributes of your image are outside the data set we used to train the algorithm.

To avoid this, the client side and the recognition service must be synchronized. For this, go to the demo interface of DevPortal Dashboard and upload some typical images. If the returned results are good, then there is nothing to do. Otherwise please check your camera settings and our input image guide.

Please note that images should ideally be clearly visible, i.e. distortion-free, contrasting, with legible characters, etc. To test your “hard-to-read” images, you can use the DevPortal demo application.

Ideal image size is around 100 Kbytes for fast processing.

Client-side integration

Calling the service is REST-based and we give a step by step guide on the DevPortal’s how-to-use page. REST-based http calls can be integrated into any programming language environment. We provide sample code in Curl, C++ SDK, JavaScript and Java SDK that will guide you building up the client-side implementation. The Curl and JavaScript code elements can be found on the DevPortal’s how-to-use page, while the Java SKD and C++ SDK implementation has been uploaded to GitHub.

 

Representational state transfer (REST) is a software architectural style that defines a set of constraints to be used for creating Web services. Learn more about it on Wikipedia.

To learn how to use it please visit stackoverflow, best practices.

The service is based on the request to response structure, i.e. we call the service with http post, the input data is wrapped in JSON data format and ANPR Cloud sends a response. Upon successful processing (HTTP 200) the response is packaged in JSON data format, upon unsuccessful processing, it sends a HTTP error status that must be handled by the client-side implementation.

You can find the http status codes on the DevPortal how-to-use subpage by clicking on ANPR Cloud API field:

  • Input Image issues: HTTP 400, 413 error messages. In this case, please check the input image guide and correct the camera settings or the image preselection module in your application.

 

  • API key issues: HTTP 401, 403 In this case, check the DevPortal’s how-to-use subpage for a valid API key per user and update your application.
  • You have run out of free credit: HTTP 429. In this case, please subscribe for a monthly package (overview subpage on your Dashboard).

 

  • Network issues: HTTP 408, 500, 503, 504. Since we are talking about a network service, there may be server problems. In this case, no processing will take place and, of course, no credit will be deducted. On our side, we have minimized this risk by solving all infrastructure elements with AWS services and AWS availability is 99.9999%.These status messages must also be handled on the client side. We recommend that exception handling be considered. We advise this in the Java SDK (see exception handling section).

Still have questions?