That is not URL encoding, that is [HTML entity encoding][1].  

By default, the API returns "safe" values; **see [the *filters* doc][2]**:

>  Any string returned as a result of an API call with a safe filter will be inline-able into HTML without script-injection concerns. That is to say, no additional sanitizing (encoding, HTML tag stripping, etc.) will be necessary on returned strings.

That means that special characters (`<>'"&`, etc.) will be HTML entity encoded by default.

If you [run the same query with an **"unsafe" filter**][3] (See [the doc][2]), you can often get the raw values: 

    {
      "items": [
        {
          ...
          "user_id": 562459,
          ...
          "display_name": "Mike Sherrill 'Cat Recall'",
          ...



  [1]: http://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references
  [2]: https://api.stackexchange.com/docs/filters
  [3]: https://api.stackexchange.com/docs/users-by-ids#order=desc&sort=reputation&ids=562459&filter=vqc7z&site=stackoverflow&run=true