750 atoms
Base tier


This API converts spoken words into text. The API supports multiple languages and dialects.
This API can save significant time and effort compared to manual transcription and ensures accurate documentation of verbal and audio communications. As an excellent free STT tool, ApyHub API can easily convert any speech to text online.
The Convert Speech to Text API is ideal for those who want to integrate speech recognition into their applications. Some examples could be. transcribing meetings, lectures, or interviews.
Try out the Text to Speech API in the API playground and see how this STT converter API can help you convert text to speech easily and provide great experiences to your users with a simple API call.
Select API Endpoints

API Playground

API Documentation

Convert Speech File to Text

Request example

curl --location --request POST 'https://api.apyhub.com/stt/file' \
--header 'apy-token: {{token}}' \
--form 'file=@"sample.wav"' \
--form 'language="en-US"'
Method: POST
Content Type: multipart/form-data
Request Body
fileFileYesThe source wav file that you want to convert to text.
languageStringYesThe language of your speech in the BCP-47 tag.
Sample Response
"data": "This is the sample data from speech-to-text"

HTTP Response Codes

The method may return one of the following HTTP status codes:
Status CodeDescription
200The request was successful.
400Invalid input - the file is corrupt or the supported inputs are not provided.
401Required authentication information is either missing or not valid for the resource.
500If any unexpected error occurs while processing the request.

Supported BCP-47 Tags

af-ZAAfrikaans (South Africa)
am-ETAmharic (Ethiopia)
ar-AEArabic (United Arab Emirates)
ar-BHArabic (Bahrain)
ar-DZArabic (Algeria)
ar-EGArabic (Egypt)
ar-ILArabic (Israel)
ar-IQArabic (Iraq)
ar-JOArabic (Jordan)
ar-KWArabic (Kuwait)
ar-LBArabic (Lebanon)
ar-LYArabic (Libya)
ar-MAArabic (Morocco)
ar-OMArabic (Oman)
ar-PSArabic (Palestinian Authority)
ar-QAArabic (Qatar)
ar-SAArabic (Saudi Arabia)
ar-SYArabic (Syria)
ar-TNArabic (Tunisia)
ar-YEArabic (Yemen)
az-AZAzerbaijani (Latin, Azerbaijan)
bg-BGBulgarian (Bulgaria)
bn-INBengali (India)
bs-BABosnian (Bosnia and Herzegovina)
cs-CZCzech (Czechia)
cy-GBWelsh (United Kingdom)
da-DKDanish (Denmark)
de-ATGerman (Austria)
de-CHGerman (Switzerland)
de-DEGerman (Germany)
el-GRGreek (Greece)
en-AUEnglish (Australia)
en-CAEnglish (Canada)
en-GBEnglish (United Kingdom)
en-GHEnglish (Ghana)
en-HKEnglish (Hong Kong SAR)
en-IEEnglish (Ireland)
en-INEnglish (India)
en-KEEnglish (Kenya)
en-NGEnglish (Nigeria)
en-NZEnglish (New Zealand)
en-PHEnglish (Philippines)
en-SGEnglish (Singapore)
en-TZEnglish (Tanzania)
en-USEnglish (United States)
en-ZAEnglish (South Africa)
es-ARSpanish (Argentina)
es-BOSpanish (Bolivia)
es-CLSpanish (Chile)
es-COSpanish (Colombia)
es-CRSpanish (Costa Rica)
es-CUSpanish (Cuba)
es-DOSpanish (Dominican Republic)
es-ECSpanish (Ecuador)
es-ESSpanish (Spain)
es-GQSpanish (Equatorial Guinea)
es-GTSpanish (Guatemala)
es-HNSpanish (Honduras)
es-MXSpanish (Mexico)
es-NISpanish (Nicaragua)
es-PASpanish (Panama)
es-PESpanish (Peru)
es-PRSpanish (Puerto Rico)
es-PYSpanish (Paraguay)
es-SVSpanish (El Salvador)
es-USSpanish (United States)
es-UYSpanish (Uruguay)
es-VESpanish (Venezuela)
et-EEEstonian (Estonia)
fa-IRPersian (Iran)
fi-FIFinnish (Finland)
fil-PHFilipino (Philippines)
fr-BEFrench (Belgium)
fr-CAFrench (Canada)
fr-CHFrench (Switzerland)
fr-FRFrench (France)
ga-IEIrish (Ireland)
gu-INGujarati (India)
he-ILHebrew (Israel)
hi-INHindi (India)
hr-HRCroatian (Croatia)
hu-HUHungarian (Hungary)
hy-AMArmenian (Armenia)
id-IDIndonesian (Indonesia)
is-ISIcelandic (Iceland)
it-CHItalian (Switzerland)
it-ITItalian (Italy)
ja-JPJapanese (Japan)
jv-IDJavanese (Latin, Indonesia)
ka-GEGeorgian (Georgia)
kk-KZKazakh (Kazakhstan)
km-KHKhmer (Cambodia)
kn-INKannada (India)
ko-KRKorean (Korea)
lo-LALao (Laos)
lt-LTLithuanian (Lithuania)
lv-LVLatvian (Latvia)
mk-MKMacedonian (North Macedonia)
ml-INMalayalam (India)
mn-MNMongolian (Mongolia)
mr-INMarathi (India)
ms-MYMalay (Malaysia)
mt-MTMaltese (Malta)
my-MMBurmese (Myanmar)
nb-NONorwegian Bokmål (Norway)
ne-NPNepali (Nepal)
nl-BEDutch (Belgium)
nl-NLDutch (Netherlands)
pa-INPunjabi (India)
pl-PLPolish (Poland)
ps-AFPashto (Afghanistan)
pt-BRPortuguese (Brazil)
pt-PTPortuguese (Portugal)
ro-RORomanian (Romania)
ru-RURussian (Russia)
si-LKSinhala (Sri Lanka)
sk-SKSlovak (Slovakia)
sl-SISlovenian (Slovenia)
so-SOSomali (Somalia)
sq-ALAlbanian (Albania)
sr-RSSerbian (Cyrillic, Serbia)
sv-SESwedish (Sweden)
sw-KESwahili (Kenya)
sw-TZSwahili (Tanzania)
ta-INTamil (India)
te-INTelugu (India)
th-THThai (Thailand)
tr-TRTurkish (Türkiye)
uk-UAUkrainian (Ukraine)
ur-INUrdu (India)
uz-UZUzbek (Latin, Uzbekistan)
vi-VNVietnamese (Vietnam)
wuu-CNChinese (Wu, Simplified)
yue-CNChinese (Cantonese, Simplified)
zh-CNChinese (Mandarin, Simplified)
zh-CN-shandongChinese (Jilu Mandarin, Simplified)
zh-CN-sichuanChinese (Southwestern Mandarin, Simplified)
zh-HKChinese (Cantonese, Traditional)
zh-TWChinese (Taiwanese Mandarin, Traditional)
zu-ZAZulu (South Africa)


All API requests to ApyHub services need to be authenticated. Currently we support tokens or basic authentication mechanisms. You can generate and view your existing credentials from your workspace settings (on the left side of the navbar) and go to “API Keys".
Points to note:
  • Credential secrets are generated on the fly and are not stored in plain text, so on generating a credential please save the secrets somewhere safe.
  • Use the apy-token as the header parameter to pass the token.
  • Use the Authorization header to send the basic authentication credentials.

Error codes

"error": {
"code": 105,
"message": "Invalid URL"
To search for a specific error code, enter the code in the search box below. Alternatively, you can click on the button to view a complete list of all error codes.