On private social networks, people sometimes post pictures pretending they have taken it, whereas in fact they just found the image on Google Search or Flickr.

This gave me the idea to implement a browser add-on that would add a small overlay to pictures that are not original.

So, I need a web service that:

  • Takes a picture (or picture's fingerprint calculated with a JavaScript function) as an argument
  • Returns a boolean: original or not
  • Is ultra-fast, must be applied as fast as people scroll their social news feed.
  • Is resistant to image resizing/resampling/encoding.

The web service would rely on the assumption that most original pictures posted on social networks don't leak too fast. It would keep a database of all published pictures (yes probably huge, but not huger that what image search engines have), and compare with that.

Note: Some people cross-post pictures on public Flickr and private Facebook, in that case the picture might be detected as not original, no problem as this is an edge case.

  • 3
    This looks like something that only Google Search Image could resolve... Jan 5, 2015 at 10:55
  • @Jean: Unfortunately they don't provide an API for this, and they probably would not tolerate screenscraping for long.
    – Nicolas Raoul
    Jan 5, 2015 at 11:01
  • 4
    Same as any other site... It's a gigantic job, it requires an enormous amount of resources. I fear that you're asking a little too much.. Jan 5, 2015 at 11:03
  • 2
    This sounds like asking to determine if the picture is of a bird.
    – hlovdal
    Jan 5, 2015 at 18:43
  • 3
    "It would keep a database of all published pictures (yes probably huge, but not huger that what image search engines have)" You actually have no idea of how much data you're talking about. You'll need professional quality hardware to even come close.
    – Mast
    Jan 5, 2015 at 21:00

2 Answers 2


How about using the TinEye reverse image search API? It would allow you to find images similar to other images on the internet. It's not free though.

  • 3
    +1 That could do the trick indeed! It does not have to be free, even though cheaper is better.
    – Nicolas Raoul
    Jan 5, 2015 at 11:40
  • 3
    +1 You beat me to it! :-) However, please note, that whatever API you use, you can never "detect whether a picture has been published on the Internet before or not", as some sites will prohibit web crawlers. You can get close though, especially with the big social media sites. As long as you say "this has been published before" and not "this has never been published before", you should be OK. This is a very interesting project & I would like to hear more of it.
    – Mawg
    Jan 5, 2015 at 14:24
  • 2
    Also keep in mind that even though you might find "another source" via whatever API doesn't give you an answer to who's the chicken and who's the egg, i.e. who was there first – unless both sides reveal a trustable timestamp for it. So all you might be able to state is "also published at", not necessarily "has been published before".
    – Izzy
    Jan 5, 2015 at 17:09

You could consider google's reverse image search. I know in Chrome it's available in the right click context menu, however it is accessable via URL. Your avatar for instance, returns a result like this. I'd be curious to know if the url arguement is just an encoded version of the image file.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.