11 months ago by
Europe PMC Annotations API can be useful: https://europepmc.org/AnnotationsApi. It is based on public text-mining data provided by the research community and made available by Europe PMC programmatically.
In your case you can retrieve all text-mined annotations (including gene names) for a list of publications that have an entity of interest (in your example the entity would be autism). To do this use Annotations by Entity module, input (autism) as an entity, and set the filter parameter to 0. Filter parameter allows you to retrieve all annotation types for the list of articles that contain your specific entity (e.g. autism). Once you have retrieved a full list of annotations you can simply filter them to get only gene/protein type annotations. Here is an example with JSON output: https://www.ebi.ac.uk/europepmc/annotations_api/annotationsByEntity?entity=autism&filter=1&format=JSON&pageSize=4.
If you have a combination of keywords (e.g. autism AND children) you can first use the search module of the Articles API (https://europepmc.org/RestfulWebService#!/Europe32PMC32Articles32RESTful32API/search) with resultType set to idlist. This will retrieve a list of PMIDs that can be pluged in the Annotations API to retrieve all gene mentions from a list of publications (see annotationsByArticleIds).
Disclaimer: I work for Europe PMC.