1. An apparatus for automated acquisition of content from an application and improved searching of the content in response to a query from a user device, the apparatus comprising: a memory; and at least one processor performing static analysis, the at least one processor being configured to, using static analysis: identify application state templates of the application, and identify user interface elements that are configured to transition between states instantiated from different ones of the identified application state templates, wherein the static analysis includes analyzing code of the application independent of executing the code, wherein the at least one processor performs graph creation, the at least one processor being further configured to create a graph data structure including nodes and edges connecting the nodes, wherein the nodes correspond to the identified application state templates, and wherein the edges correspond to transitions between the identified application state templates corresponding to the identified user interface elements, wherein the at least one processor performs link extraction, the at least one processor being further configured to: execute the application, and determine and record paths to application states within the executing application according to the graph data structure, wherein the at least one processor performs scraping, the at least one processor being further configured to, within an executing instance of the application, extract text and metadata from application states corresponding to endpoints of the recorded paths, wherein information based on the extracted text and metadata is stored in the memory of the apparatus, and wherein the at least one processor is further configured to transmit search results in response to the query from the user device.