Strava Community Hub Scraper avatar

Strava Community Hub Scraper

Under maintenance

Pricing

$2.65 / 1,000 public matches

Go to Apify Store
Strava Community Hub Scraper

Strava Community Hub Scraper

Under maintenance

Search public Strava athletes, clubs, activities, challenges, events, training pages, and Community Hub posts or help articles by keyword. Get structured rows with source links, context, public contact details, and images when available. Filter by location, email, phone, or Community Hub type.

Pricing

$2.65 / 1,000 public matches

Rating

0.0

(0)

Developer

Maxime Dupré

Maxime Dupré

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

6 hours ago

Last modified

Share

🏃 Find public Strava athletes, clubs, and content

For sports researchers, coaches, marketing teams, and developers, this Actor searches public Strava pages from one shared list of keywords. It returns structured rows for athletes, clubs, activities, challenges, events, training pages, and Community Hub posts or help articles, with source links, context, and public contact details when available. Use the data to study sports communities, find relevant public pages, and review possible public contacts in one dataset.

🧾 Structured Strava search rows

The Actor saves the first eligible occurrence of each public source item. If the same item appears again from another keyword, URL, handle, or ID, that later match is ignored, so the row keeps the first saved match context. Optional fields are included only when the source provides them.

▶️ Search public Strava data

  1. Add one or more keywords of the same kind to search in one run.
  2. Add a location, email domain, phone country, or Community Hub content filter when needed.
  3. Set maxResultsPerKeyword if you want a smaller distinct result set for each keyword.
  4. Start the run and open the dataset from the Output tab.

All keywords in a run use the same optional filters. The Actor does not run several independently configured search batches in one run.

⚙️ Input

Input fields

FieldTypeWhat it does
keywordsarray of stringsRequired. Searches public Strava pages with one or more words or phrases.
locationstringOptional. Narrows public results to a city, region, or country. Leave it blank to search all locations.
emailDomainsarray of stringsOptional. Keeps matches with public email addresses from the listed domains. Leave it blank to include any available public email domain.
phoneCountrystringOptional. Keeps matches with public phone numbers from the selected country. Leave it blank to include any available public phone number.
communityContentTypestringOptional. Chooses all, posts, or helpArticles for Community Hub content. Other supported result types are not changed by this setting.
maxResultsPerKeywordintegerOptional. Sets the maximum number of distinct results for each keyword. Leave it empty to return all available results until the source is exhausted.

Example input

This is the public input from successful hosted QA default-input run irpmm5jPFBljPe8Jm.

{
"keywords": [
"marathon"
],
"communityContentType": "all",
"maxResultsPerKeyword": 10
}

Leaving maxResultsPerKeyword empty returns all available results until the source is exhausted. The same rule applies to any other optional filter that is left blank: it does not add a restriction.

🧾 Output

The Output tab opens the default dataset with the structured rows from the run. Optional fields are included only when the source provides them.

Output link

FieldTypeWhat it does
datasetlinkOpens the structured rows returned by this public Strava search.

Output fields

FieldTypeWhat it does
resultTypestringRequired. Identifies the source result type, such as athlete, club, activity, challenge, event, training, communityPost, or helpArticle.
titlestringRequired. Gives the public athlete or club name, or the content title.
biostringOptional. Gives public biography or profile text when available.
excerptstringOptional. Gives a short public content excerpt when available.
authorsarray of stringsOptional. Lists public authors credited for the content.
affiliationsarray of stringsOptional. Lists public clubs, teams, or other source affiliations.
categoriesarray of stringsOptional. Lists categories assigned by the source.
locationstringOptional. Gives the public location shown by the source.
publishedAtdate-time stringOptional. Gives the source publication date for content when available.
sourceUrlURL stringRequired. Links directly to the public Strava source page.
contactsobjectOptional. Holds public contact details and source-provided contact context.
contacts.emailsarray of stringsOptional. Lists public email addresses shown by the source.
contacts.emailDomainsarray of stringsOptional. Lists email domains shown by the source.
contacts.phoneNumbersarray of stringsOptional. Lists public phone numbers shown by the source.
contacts.phoneCountriesarray of stringsOptional. Lists phone countries shown by the source.
imageUrlsarray of URL stringsOptional. Lists public image URLs belonging to the returned profile, club, or content item when available.

Example output row

This complete row is from successful current-beta run 7fobszjz0Adzf20FT. It shows a club with source context, a public contact, and item images.

{
"resultType": "club",
"title": "Stumprunners",
"sourceUrl": "https://www.strava.com/clubs/117663",
"bio": "🌲Running PDX since Nov 27, 2012🌲 📍NW 24th & Thurman 🕘 Every Saturday, 9AM Multiple Distance Options. All Paces. All Abilities. 📧 stumprunners@gmail.com 📱 IG: @stumprunners",
"excerpt": "Demo Run with Keen this Saturday 8/1",
"authors": [
"Stumprunners"
],
"affiliations": [
"Stumprunners"
],
"categories": [
"Running",
"CasualClub",
"LocalCommunity"
],
"location": "Portland, Oregon, United States",
"publishedAt": "2026-07-30T06:47:05.000Z",
"contacts": {
"emails": [
"stumprunners@gmail.com"
],
"emailDomains": [
"gmail.com"
]
},
"imageUrls": [
"https://dgalywyr863hv.cloudfront.net/pictures/clubs/117663/2193429/3/large.jpg",
"https://dgalywyr863hv.cloudfront.net/pictures/clubs/117663/35256834/1/large.jpg"
]
}

💳 Pricing

Billable event

The billable event is one public Strava athlete, club, or content match saved to the dataset. The amount depends on the Apify pricing tier shown for your account. Setup, diagnostic, and no-result behavior are not represented by this event description.

🔌 Integrations

Dataset access

Open the dataset in Apify, use the dataset API, or export the returned rows in a supported format.

Video guide

❓ FAQ

What happens when the same public item matches more than one keyword?

The first eligible occurrence is saved. A later match for the same source item from another keyword, URL, handle, or ID is ignored, so the row keeps the first match context.

Which public Strava sources can appear?

Rows can represent athletes, clubs, activities, challenges, events, training content, Community Hub posts, or help articles when a matching public page is available.

Does the Actor access private Strava data?

No. It searches publicly accessible Strava pages only. Account-only and authenticated data are not included.

Will every row include an email address or phone number?

No. Contact details are included only when the source exposes them publicly and they match the optional filters. A missing contact does not remove the main public result.

How does the per-keyword limit work?

maxResultsPerKeyword limits distinct results separately for each submitted keyword. Leave it empty to return all available results until the source is exhausted.

Yes. Use location for a geographic filter, emailDomains for public email domains, phoneCountry for public phone numbers, and communityContentType for Community Hub posts or help articles.

Can I run different settings for different keywords?

No. One run uses one shared keyword list and one shared set of optional filters. Use separate runs when the searches need different settings.

What does publishedAt mean?

It is the source publication date for content when the source provides one. It is not a capture-time field.

📝 Changelog

v0.1 (24-09-2026)

  • Search a public Strava activity by its numeric ID.
  • Find more valid public matches from Strava search results.
  • Match phone-country filters when public pages use common country names.
  • Continue processing other keywords after a temporary source failure.

v0.0 (17-09-2026)

  • Initial release.

🆘 Support

For issues, questions, or feature requests, file a ticket and I'll fix or implement it in less than 24h 🫡

Made with ❤️ by Maxime Dupré