Tracker will have a nice API...
It will be called XESAM
In response to the plea of Emmanuele (and a big thank you for sorting out the gtk filechooser search stuff), the existing APIs of tracker, beagle, strigi and other indexing engines will become less relevant as XESAM takes shape and provides a common dbus interface for search and metadata. And you can bet there will be a nice gobject client lib for XESAM which should suffice for languages which dont have nifty dbus bindings.
I dont want to waste time developing new APIs for something thats going to become deprecated in the near future (Id rather spend the time implementing XESAM support in tracker and beagle has a SoC for doing likewise)
Of course if there is anything not covered by XESAM in tracker then we can look at creating nicer gobject based APIs for those too.
We also really need to encourage devs to use XESAM as soon as its finished and available as it will save a lot of duplication of code and needless squabbles over the "one true indexing system".