You can try the free Lemmatizer API here: http://twinword.com/lemmatizer.php
Scroll down to find the Lemmatizer endpoint.
This will allow you to get "dogs" to "dog", "abilities" to "ability".
If you pass in a POST or GET parameter called "text" with a string like "walked plants":
// These code snippets use an open-source library. http://unirest.io/php
$response = Unirest\Request::post("[ENDPOINT URL]",
array(
"X-Mashape-Key" => "[API KEY]",
"Content-Type" => "application/x-www-form-urlencoded",
"Accept" => "application/json"
),
array(
"text" => "walked plants"
)
);
You get a response like this:
{
"lemma": {
"plant": 1,
"walk": 1
},
"result_code": "200",
"result_msg": "Success"
}