I personally have used the Scopus API to identify the OA status of articles, and Scopus gets its data from Unpaywall (according to the Scopus documentation). A subscription to Scopus is required for this.
Unpaywall has an API but I haven't looked into the documentation to see if it is possible to get this data: https://unpaywall.org/products/api
From: Code for Libraries <[log in to unmask]> on behalf of Eric Lease Morgan <[log in to unmask]>
Sent: January 26, 2023 11:14 AM
To: [log in to unmask] <[log in to unmask]>
Subject: [CODE4LIB] check for open access
Given bibliographic metadata such as author, article title, journal title, date, etc., how can one programmatically go about learning whether or not the given article has been published as open access? I suppose I could query something like SHERPA. No? What might you suggest? --Eric Morgan, University of Notre Dame