I’ve used the search API to search for datasets by ORCIDs. I haven’t used it to link to projects or funding, but the data was in the resulting JSON under oaf:result[‘rels’]. You can find my code for this here:
This code takes a relatively long time to run depending on the size of the ORCID list. It sends out one request per ORCID and there is a default sleep time between requests of 2 seconds in order to respect rate limiting.
As my use case did not involve large results sets, I didn’t bother implementing paging of the results. I just set the number of results per page relatively high. If you expect a large number of results per page, I recommend lowering the default and implementing paging.
Also bear in mind that the API I used (https://services.openaire.eu/search/v2/api/resources2) does not seem to be documented on the OpenAIRE developer site. I would be hesitant to use it in integrations without further inquiring about the stability of the API.
There is undoubtedly a better way to do the same thing in SPARQL, but as I’m not overly familiar with it or the OpenAIRE ontologies, this worked best for me. Maybe someone more knowledgeable will post a SPARQL solution.