btw, StartSSL offers free SSL certs that work with most browsers.
If something goes wrong then StartSSL revocation is not free but as the revocation system is pretty broken anyways u might not care, see [1] for details, if interested.
I'd use a recognized CA also for the API (smth recognized by all supported language SDKs). It can be a trouble to guide users through adding your CA as trusted CA for each case. Python, Java etc look up certs with a different strategy/have different CA truststores. For me namecheap has been one of the best offers for cheap SSL certs when StartSSL becomes too inflexible [2] or is not supported widely enough [3].
[1] http://www.ahtik.com/blog/startssl-revocation-fees-will-not-...
[2] Each free StartSSL domain can have exactly one alternate domain name, so you can have one cert with both template2pdf.com and www.template2pdf.com OR template2pdf.com and api.template2pdf.com OR www.template2pdf.com and api.template2pdf.com.
[3] AFAIK at least java 6 & 7 does NOT ship with StartSSL CA included in truststore.