750 atoms
Base tier


This Utility API converts spoken words into text. It supports multiple languages and dialects.
This API can save significant time and effort compared to manual transcription and ensures accurate documentation of verbal communications.
The Convert Speech to Text API It is ideal for professionals who need to transcribe meetings, lectures, or interviews. It can be integrated into various applications, enhancing user experience with hands-free operation and effective multitasking capabilities.
Endpoint Selector

API Playground


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 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 workspace settings (on the left side of the navbar) and go to applications.
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.