When discussing programming issues on social platforms (e.g, Stack Overflow,Twitter), developers often mention APIs in natural language texts. ExtractingAPI mentions from natural language texts serves as the prerequisite to effective indexingand searching for API-related information in software engineering social content.The task of extracting API mentions from natural language texts involves twosteps: 1) distinguishing API mentions from other English words (i.e., API recognition),2) disambiguating a recognized API mention to its unique fully qualified name(i.e., API linking). Software engineering social content lacks consistent API mentions and sentence writing format. As a result, API recognition and linking have to deal with the inherent ambiguity of API mentions in informal text, for example, due to the ambiguity between the API sense of a common word and the normal sense of the word (e.g., append, apply and merge), the simple name of an API can map to several APIs of the same library or of different libraries, or different writing forms of an API should be linked to the same API. In this paper, we propose a semi-supervised machine learning approach that exploits name synonyms and rich semantic context of API mentions for API recognition in informal text. Based on the results of our API recognition approach, we further propose an API linking approach leveraging a set of domain-specific heuristics, including mention-mention similarity, scope filtering, and mention-entry similarity, to determine which API in the knowledge base a recognized API actually refers to. To evaluate our API recognition approach, we use 1205 API mentions of three libraries (Pandas, Numpy, and Matplotlib) from Stack Overflow text. We also evaluate our API linking approach with 120 recognized API mentions of these three libraries.