Hi All,

I am currently trying to display the GBIF data in a format which is currently not supported by the GBIF API. For exmaple, displaying the list of species within few KM radius from a specific location ordered by species occurrence count.

To accomplish this, I decided to use the occurrence download API to fetch the data for all the required regions, store it in a database and query as per my requirement. I decided to go with following 2 simple tables in the database, 
  1. Species - stores species related data like scientific name, vernacular names, representative image url, etc
  2. Occurences - stores occurence related data like eventDate, gbifid, decimalLatitude, decimalLongitude, etc
After having a quick look at the downloaded occurrences.txt file, following queries came to my mind,

1. What should be my primary key for species table? I see 'speciesKey' column as a candidate, but it is set as null for some species. The occurrence record has a scientific name but no speciesKey. Any suggestions on this? What field I can use as unique identifier for species?

2. Vernacular names are missing for almost all the occurrences. Is there any API by which I can also obtain vernacular names for a species? http://api.gbif.org/v1/species/{int}/vernacularNames seems to do the job, but what is {int} (speciesKey?) and how do I get it from occurrence data?

3. I also need few representative images of the species. http://api.gbif.org/v1/species/{int}/media seems to do the job, but it returns a large image and I am looking for a small thumbnail image. Any way to accomplish this? Also, any API that can provide me both the vernacular names and imge url in single API call?

Thanks,
Priyank