Is this issue happening to everyone? Every request is returning a placeholder image.
https://d3nn82uaxijpm6.cloudfront.net/assets/media/placeholder-photo@4x-6c5d2aaeadca1292be72943c04ea6defe7dcd610da7dc87a1ccaad30e134b2d6.png
For clarity this is on the https://www.strava.com/api/v3/activities/##########/photos endpoint
text
Apply
GET https://www.strava.com/api/v3/activities/[ACTIVITY_ID]/photos
Authorization: Bearer [ACCESS_TOKEN]
json
Apply
[
{
"unique_id": "abc123...",
"urls": {
"0": "https://dgtzuqphqg23d.cloudfront.net/[actual-photo-path].jpg",
"100": "https://dgtzuqphqg23d.cloudfront.net/[actual-photo-path]_100.jpg",
"600": "https://dgtzuqphqg23d.cloudfront.net/[actual-photo-path]_600.jpg"
},
"caption": "Photo caption here",
"type": "InstagramPhoto",
"uploaded_at": "2024-12-05T10:30:00Z",
"created_at": "2024-12-05T10:30:00Z",
"location": [lat, lng]
}
]
json
Apply
[
{
"unique_id": "abc123...",
"urls": {
"0": "https://d3nn82uaxijpm6.cloudfront.net/assets/media/placeholder-photo@4x-6c5d2aaeadca1292be72943c04ea6defe7dcd610da7dc87a1ccaad30e134b2d6.png",
"100": "https://d3nn82uaxijpm6.cloudfront.net/assets/media/placeholder-photo@4x-6c5d2aaeadca1292be72943c04ea6defe7dcd610da7dc87a1ccaad30e134b2d6.png",
"600": "https://d3nn82uaxijpm6.cloudfront.net/assets/media/placeholder-photo@4x-6c5d2aaeadca1292be72943c04ea6defe7dcd610da7dc87a1ccaad30e134b2d6.png"
},
"caption": "Photo caption here",
"type": "InstagramPhoto",
"uploaded_at": "2024-12-05T10:30:00Z",
"created_at": "2024-12-05T10:30:00Z",
"location": [lat, lng]
}
]
- Photo metadata is correct - captions, timestamps, location data all appear accurate
- Only the URLs are affected - all photo URLs point to the same placeholder image
- Affects all photo sizes - 0, 100, 600px versions all return placeholder
- Different CDN domain - Placeholder uses d3nn82uaxijpm6.cloudfront.net vs expected dgtzuqphqg23d.cloudfront.net
- Server-to-server requests only - This appears to affect API requests, not web browser access
- Scope: Read permissions only (read,activity:read)
- Request frequency: Well within rate limits (< 50 requests/15min)
- Geographic spread: Testing from multiple server locations
- Time range: Issue persisted across 2+ weeks of testing
- Activity types: Affects photos on runs, rides, and other activity types
- CDN Migration Issue: Strava may be migrating photo storage and the API is pointing to outdated/placeholder URLs during the transition
- Server-vs-Browser Treatment: CDN might be configured to serve placeholders to server requests while allowing browser access
- Rate Limiting Side Effect: Could be a soft rate limiting mechanism that serves placeholders instead of blocking requests
- Photo Processing Pipeline: Photos might be temporarily replaced with placeholders during processing/optimization
- Regional CDN Issues: Specific CloudFront edge locations may be misconfigured
- Is anyone else experiencing this? Particularly developers making server-to-server API calls?
- Timeline: When did this start? I first noticed it around [DATE]
- Workarounds: Has anyone found alternative approaches to access activity photos?
- Strava Response: Any official communication about this issue?
Hello
I see your participation on a previous API issue. Is this an active issue? I submitted a more detailed reply but am still waiting for it to be approved. I appreciate any feedback on this topic. Thank you!
json
Apply
{
"urls": {
"1800": "https://d3nn82uaxijpm6.cloudfront.net/assets/media/placeholder-photo@4x-[hash].png"
}
}
Is anyone here able to confirm this same issue occurs or is this an issue only I am experiencing? I appreciate any confirmation or feedback at all!
The query parameter was the issue. Found in this thread. Thanks
Login to the community
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.