I am using Googles this api :-
https://www.google.com/speech-api/v2/recognize?output=json&lang=\"+ language_code+\"&key=\"My key\"
You may have to convert numbers (not digits) to words by yourself. As there is some logic in most languages (e.g. English, German), you can do this with an algorithmic approach.
See How to convert number to words in java