Medium User Search Scraper
Pricing
from $4.99 / 1,000 results
Medium User Search Scraper
Extract detailed posts, comments, profiles, engagement metrics, hashtags, and media attachments from Medium User Search. Engineered for social listening, user sentiment tracking, influencer outreach, and viral trend analysis. Features optimized proxy rotation to bypass rate limits.
Pricing
from $4.99 / 1,000 results
Rating
0.0
(0)
Developer
Coding Frontned
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
2
Monthly active users
6 days ago
Last modified
Categories
Share
Medium Public User Search
Searches Medium for users matching one or more phrases. The Actor opens a public search page with a fingerprinted local Chrome browser and queries Medium's anonymous GraphQL people results in the same session. It does not visit protected profiles or use a proxy.
What this Actor does
- Accepts one keyword or a list of keywords.
- Divides maxItems fairly across the requested searches while using one browser session.
- Deduplicates users by public profile URL.
- Extracts user ID, display name, username, bio and size metrics, image and profile URLs, membership data, account flags, follower/following counts, raw public response data, and search provenance.
- Fails without emitting fabricated rows when a keyword has no usable people results.
Medium returns a finite first set of people matches for each phrase, so a run can return fewer rows than a larger requested limit.
Input
{"keyword": "machine learning","maxItems": 5}
For several searches:
{"keywords": ["machine learning","artificial intelligence"],"maxItems": 10}
At least one non-empty keyword or keywords list is required. maxItems defaults to 20 and accepts values from 1 to 200.
Running and validation
Run a bounded search locally from this Actor directory:
apify run --purge --input-file qa-inputs/local-search.jsonnode validate-local-datasets.js
The keywords form is the multiple-search mode; the keyword form is the single-search mode. Both share one browser session, enforce one global maxItems limit, and deduplicate profiles before writing. The cloud validation input is intentionally capped at five records:
apify call codingfrontend/medium-user-search-scraper --input-file qa-inputs/cloud-validation.json --memory 1024 --timeout 300
Output
Each dataset row contains one public people search result.
{"recordType": "mediumUserSearchResult","resultRank": 1,"userId": "user-123","displayName": "Example author","username": "example","userBio": "A public profile bio.","profileUrl": "https://medium.com/@example","isMember": true,"followerCount": 1200,"followingCount": 250,"searchKeyword": "machine learning","sourcePageUrl": "https://medium.com/search/posts?q=machine%20learning","sourceGraphqlUrl": "https://medium.com/_/graphql","sourceHttpStatus": 200,"extractionMethod": "fingerprinted-browser-graphql","browserFingerprinting": true,"headlessBrowser": true,"proxyConfigured": false,"scrapedAt": "2026-08-16T10:00:00.000Z"}
Optional values are omitted when Medium does not publish them. The dataset view highlights rank, name, username, bio, social counts, membership, search phrase, and profile URL.
Storage
All successful user results are written to the default dataset. The key-value store is intentionally empty because the source code does not write custom records.
Cost and limitations
There is no external API fee. Apify browser compute charges may apply. Medium can rate-limit or block the browser, return a finite result set, or omit profile and social fields.
FAQ
Does this Actor open user profiles?
No. It queries public people-search metadata only.
Are follower counts guaranteed?
No. Counts are returned only when the anonymous search response includes them.
Can I pass a proxy?
No. The current implementation explicitly runs without a proxy.
Disclaimer
Use this Actor only where you have a lawful basis to collect and use public profile data. Respect Medium terms, rate limits, privacy expectations, and applicable law.