Mutual funds are required to periodically report their holdings:
https://www.sec.gov/edgar/sec-api-documentation
Rate limit yourself to under 10 requests per second, and put contact info into your user-agent if you'd like them to contact you about problems.
> The APIs are updated in real-time as filings are disseminated. The submissions API is updated with a typical processing delay of less than a second; the xbrl APIs are updated with a typical processing delay of under a minute. However these processing delays may be longer during peak filing times.