5. A non-transitory computer-readable medium storing instructions that upon execution cause at least one processor to: determine keywords likely to appear in natural language queries, the determining based on source code text of application programming interface (API) modules executable in response to the natural language queries to obtain data; associate each of the determined keywords with a respective API module of the API modules; alter an association between a determined keyword of the determined keywords and a respective API module of the API modules, in response to determining that the altered association is more likely to trigger an accurate response to a natural language query of the natural language queries; determine whether at least one determined keyword of the determined keywords appears in a received natural language query; respond to the received natural language query with data produced by each API module, of the API modules, that is associated with the at least one determined keyword that appears in the received natural language query; and rank the data returned by each API module associated with the at least one determined keyword based on a probability that the data is a correct response to the received natural language query.
5. A non-transitory computer-readable medium storing instructions that upon execution cause at least one processor to: determine keywords likely to appear in natural language queries, the determining based on source code text of application programming interface (API) modules executable in response to the natural language queries to obtain data; associate each of the determined keywords with a respective API module of the API modules; alter an association between a determined keyword of the determined keywords and a respective API module of the API modules, in response to determining that the altered association is more likely to trigger an accurate response to a natural language query of the natural language queries; determine whether at least one determined keyword of the determined keywords appears in a received natural language query; respond to the received natural language query with data produced by each API module, of the API modules, that is associated with the at least one determined keyword that appears in the received natural language query; and rank the data returned by each API module associated with the at least one determined keyword based on a probability that the data is a correct response to the received natural language query. 15. The non-transitory computer-readable medium of claim 5 , wherein the instructions when executed cause the at least one processor to execute each API module associated with the at least one determined keyword to obtain data from a data structure that stores data in a format not obtainable by a structured query language (SQL).