I try to implement a lazy-loading taxonomy tree (as a demo for a open source javascript tree plugin). 

See here for an example:
http://rawgit.com/mar10/fancytree/master/demo/taxonomy-browser/index.html#key=7348228

What JSON API should use to get the top level nodes (i.e. Kingdoms)?
Currently I call 
   http://api.gbif.org/v1/species/search?rank=kingdom
but this returns much more than the ~7 entries I expect (Animalia, Plantae, Fungi, …)

I seem to get reasonable results, if I only display nodes with key == nubKey.

But the search results retrieved by `species/search?q=homo sapiens` returns multiple hits, and some of them have keys different from nubKey.
Those matches seem to be descendants of an `Animals` kingdom that also has nubKey != key.

I guess my mental model of the data structure is too naïve:
- why are there different ‚Animals‘ kingdoms with different keys but identical nubKey?
- does it make sense at all to display a tree (with only one ‚animals‘ node)?
- when I restrict the search results to entries that have a kingdom with key == nubKey, what will the user miss?

Thanks
Martin Wendt