No, there is no free SMS API - beware of people offering one!
Full answer: This does depend on your country. In over 99% of countries, No, there is no free SMS API. If there was, spammers would make SMS unusable.
USA has an odd exception to this rule, as most of their mobile companies charge the message recipient. This means they can offer email-to-SMS gateways, and occasionally a free API. You can use these for free, though the gateways are very unreliable, and mobile users will often block these messages, since spammers use this route.
In every country you will see many, many companies who will appear to send SMS for free, sometimes with an API. These companies exist to make money, and in most countries SMS costs them money, so they will do at least one of these:
intercept your messages and phone numbers, for resale, spam, fraud or phishing
inserting adverts in the SMS or in the interface
giving a free sample only
and sometimes they are only wrapping the US email-to-sms anyway!
In my experience these companies should be avoided like the plague. If you want a real service, expect to pay on a per message basis. There are some reputable companies who give free samples but normally charge for messages, such as clikatell or twilio. When evaluating these third parties, you should consider not only what they might do with your data, but also what their security is like, where they are based, and so on.
As an ethical developer, it is very important to remember that the mobile phone numbers your users entrust you with are personal information. The combination of the mobile phone number and the message are valuable for fraud and phishing attacks. You have a responsibility to safeguard that data. Your reputation and legal liability may also be on the line. Many countries now have strong information privacy laws which will almost certainly affect you - i.e. the presence of the mobile phone number probably makes your SMS personal data for the purpose of Data Protection Directive laws in the EU.