We're in a similar position; We wanted to encourage our team to walk more during May, and got 300~ people signed up with Strava and joining our club. Our goal was to provide some prizes for 'groups' of our teams (Based on their office locations)
However, we've immediatly found that team-members are adding all sorts of activities and as we're unable to list data for the whole group broken down by activity I thought i'd try the API.
Nope - not viable.
1. Can't filter or obtain date of activity on club API
2. The lack of Activity ID means I cant get that extra context even with more API calls
3. The regular data exports only include top 100 members, missing 2/3rds of our group
I have the same problem, I also have a club with more than 200 activities and when I try to get 200 records of the second page it returns empty.
Example:
GET https://www.strava.com/api/v3/clubs/XXXXXXXXX/activities?per_page=200&page=2
Also, it's very useful to know the date of each activity.
Most probably dates, activity IDs, athlete IDs and so on will never be implemented in the club endpoints because this could be used to create club challenges, as the OP wanted it to do. Except for some generic Strava challenges everything challenge related is a paid feature and Strava won’t allow apps to circumvent that easily.
I don’t know if helps but during COVID I helped create a Strava Group for those in our workplace to stay connected during isolation. We had the same problem of pulling all the activities together.
A colleague of mine found a Chrome extension that could pull the data from Strava into Excrel (tabbed data). Neither he nor I can remember its exact name, but if you search for Strava in the Chrome Extensions you may well find it.
As I recall you had to run it repeatedly until you collected all the data you needed, it didn’t just come in one go. Good luck.