There is a subtle difference in how the query images are treated when you use the recognition test page and the REST API. In the test page, if the image has the shorter edge longer than 480 pixels, we downscale it, to avoid dealing with unnecessarily large images. In the REST API we do not perform any resizing of the incoming query images. Sometimes this extra step causes small fluctuations in scores, and for dificult cases, where the score falls below certain threshold, the result may be eliminated.
However, this does not explain the fluctuations that you are reporting.
How do you send the images to our REST API? Do you resize or prepare them in any special way? If yes, I recommend that you check our recommendations for it: http://support.catchoom.com/customer/portal/articles/1894585-query-image-quality-dimensions-and-formats
Is it possible that you are using our mobile SDK or the python library? In them we prepare the images in a way that is optimal for most use cases by resizing them and compressing (balancing good recognition and small file sizes). As a result you may see worse recognition performance with queries where the objects to be recognised are small (since the image resolution is lower than in the test page). If this is your case we can help you changing those default settings.