mediawiki-apiwikimedia-commons

How to search images in Wikimedia Commons by API?


I'm trying to query all images of cats (as an example) from Wikimedia Commons.

The way I thought about going about this is first search for the Cat page which is here (I don't know how to find this out programmatically, maybe redirects?):

https://commons.wikimedia.org/wiki/Felis_silvestris_catus

Hence to get the images I would just need to do this:

https://commons.wikimedia.org/w/api.php?action=query&prop=images&imlimit=500&titles=Felis_silvestris_catus

This would return what I want. However the same search for Cat returns nothing even though Cat redirects to Felis_silvestris_catus.

Does anyone know if there is any simple way to do an image search on Wikimedia Commons just starting with "Cat" that would return Cat images and if there isn't what's the best that can be done?

I've been looking at the API for hours but I can't seem to figure it out.


Solution

  • Just add redirects=1 to your request.

    https://commons.wikimedia.org/w/api.php?action=query&prop=images&imlimit=500&redirects=1&titles=Cat
    

    Update: To get the image info for each one returned image use query with generator=images and prop=imageinfo:

    https://commons.wikimedia.org/w/api.php?action=query&generator=images&prop=imageinfo&gimlimit=500&redirects=1&titles=Cat&iiprop=timestamp|user|userid|comment|canonicaltitle|url|size|dimensions|sha1|mime|thumbmime|mediatype|bitdepth
    

    where iiprop includes some of imageinfo properties (check API documentation for all them)