FAQs

General TinEye use

For general TinEye use, please refer to our TinEye FAQs.

Answers

TinEye Services Authentication

Do I really need to provide my server’s IP address?

IP address based filtering is a better security approach than using password-based authentication, but we support both. Providing your IP addresses is optional, but is highly recommended if your servers have static IP addresses.

If you are unsure of your IP address, run the following from your server(s):

$ curl http://ifconfig.me/ip
192.0.43.10

How can I add or remove IP addresses?

Registered IP(s) that can connect to your API appear in your dashboard. You can directly edit your registered IP list from that page.

If you are currently setup for password-based authentication, then instead of an IP list there will be a “contact us” link to enable IP-based authentication.

Can I add a range of IP addresses?

Yes, our IP authentication system accepts IP address ranges. When setting up your IP-based security for the first time, or when adding or removing IP addresses in your dashboard, simply enter the range in CIDR notation. For example, 10.10.8.0/29.

What should I do if I have a dynamic IP?

Please use services.tineye.com/support to request a user name and password to log in with. We will also turnoff IP-based authentication for you.

I can’t reset my password, what do I do?

Go to forgot_password. If you are still having problems, please contact us and we will investigate the issue as soon as possible.

TinEye Services Billing

What methods count toward searches?

In MatchEngine and MobileEngine only the ‘search’ and ‘compare’ requests count as searches. In MulticolorEngine only ‘color_search’ does.

Where can I find my current usage of the API?

Go to the summary log in your dashboard.

TinEye Services Errors

Why am I getting a 401 (Authorization Required) error?

For password authentication your username/password is wrong. For IP-based filtering, your server’s IP address is not the one we have listed for you. You can get the IP address of your server by running curl http://automation.whatismyip.com/n09230945.asp on the server. If this does not help, please contact us and we will get in touch as soon as possible.

Why am I getting a 500 error?

This may be because the HTTP request sent was malformed; missing multipart boundaries or the last boundary not ending with “–” are common problems. If that is not it, please send us the details of the request you sent and the response you got, using services.tineye.com/support and we will get back to you as soon as possible.

Only 20 images were added, what’s going on?

Listing your collection only shows 20 images by default. To confirm that the images were added, it is faster to use the 'count' request.

TinEye Services Use

Do I need to use curl to make API requests?

No, you can use any method which sends HTTP requests to the server, and retrieves the results. All major programming languages and platforms have HTTP libraries, and you should use one for your development environment. We use curl in our examples because it is a handy way to try it out from a terminal, and to make simple scripts.

How do I send files using curl?

You can find an example on the Request page. The format is the same for all the APIs. Be careful about the use of 'images', 'filepaths' and '@'; their meanings are not obvious.

Can I call my API directly from a browser or mobile device/application? Can I make AJAX calls to my API?

Your API should only be called from your server’s scripts and never from a browser or a mobile application. Otherwise you would expose your API to the public.

How many concurrent operations can be done?

APIs can run 4 operations simultaneously except for add, delete and update_metadata operations. Those last 3 run atomically.

What programming language can be used to connect with the API?

You can use any language which can make HTTP requests and receive the results.

Can I use the API explorer on my site?

You can, but you must proxy the calls to the API, or use wrappers to make those calls from your own site. This is necessary because of the Ajax same-origin policy, which enhances security.

TinEye Services Images

How do I access my image collection?

You can view your collection images by accessing the following URL:

https://mobileengine.tineye.com/<company name>/collection/?filepath=<filepath>

How do I access my query images?

You can view query images by accessing the following URL:

https://mobileengine.tineye.com/<company name>/query/?filepath=<filepath>

How long are query and overlay images stored for?

Overlay and query images are stored for one day.

Can I clear my API’s image collection?

Please contact us if you wish to clear your image collection.

What image formats do the APIs accept?

APIs accept JPEG, PNG, and GIF images. Animated images are not supported. The format is found from the file content; the associated filename extension, if any, is not used.

What is the suggested size for images?

Images should be 300px in the smaller dimension for MatchEngine/MobileEngine, and 200px for MulticolorEngine. Images larger than optimal will be resized by the API. For example, a 800x600px image will be resized to 400x300px by MatchEngine/MobileEngine and 267x200px by MulticolorEngine. To reduce upload time, it is recommended that you pre-scale your images accordingly.

Are folders for images created dynamically?

Yes. They are created when images are uploaded, using the path in the ‘filepath’ parameter.

I added > 20 images to my collection, but only 20 images appear when I list them, what’s going on?

Listing your collection only shows 20 images by default. To confirm that the images were added, it is faster to use the ‘count’ request.

TinEye Services Metadata

Is there a way to store tag information with images?

You can use metadata. That is available in MulticolorEngine only. See services.tineye.com/developers/multicolorengine/metadata.html

Why is my numeric metadata query not working?

You will need to use numeric comparison operators. The operators are documented on services.tineye.com/developers/multicolorengine/metadata.html#comparison-operators