I haven't added an end user api yet but the client JS does already access an Ajax JSON interface. It would require at your end a fairly small function to do the final key addition. I'd have to create a few samples in php, python etc.
Unlike most other web systems my back end is 100% C++ so I would be hoping for something simpler (such as just using "curl" to get back CSV).

Due to how it combines keys at the client end a simple csv api call wouldn't work as that would mean I know your keys.
But it would be fairly easy for me to create a C++ function you integrate at your end to add the keys. The code is readable in the vanitygen keyconv utility and was what I based my own JS client code on. At the C++ end it would require linking to the openssl library and only a few lines to add the keys. openssl provides the BigNum functions for addition. I'd have to look into.
My api would provide the partial keys as a list (could be csv or json or whatever) but then those partial keys need a bit of openssl magic to make the final keys. You wouldn't need to create the private key as that can be done on bitaddress.org or even on my site since it has a backup button that copy the key for backup. I use BitcoinJS to do this in the browser.
edit: it also may be feasible that a subprocess call to openssl cmd line tool could work. I have not explored that yet at all.