Medium Profile API avatar

Medium Profile API

Pricing

from $0.0225 / result

Go to Apify Store
Medium Profile API

Medium Profile API

Medium profile API that converts a URL or handle into one 17-field JSON row with author identity, audience counts, socials, books, and up to 25 homepage article summaries. Empty or suspended profiles produce no Result charge.

Pricing

from $0.0225 / result

Rating

0.0

(0)

Developer

TrueFetch

TrueFetch

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

1

Monthly active users

11 days ago

Last modified

Share

Medium Profile API is a medium profile api that turns one writer URL or handle into a 17-field JSON record with identity, audience, social, book, and homepage article data. It gives developers and data teams a point-lookup contract for Medium author enrichment without requiring a Medium account or a standing subscription.

  • One medium_url input returns at most one author record.
  • The Dataset exposes 17 documented top-level fields, including follower and following counts.
  • Each record can include up to 25 public homepage article summaries with engagement, dates, tags, lock state, and reading minutes.
  • Missing, suspended, or unreadable profiles finish without a Result charge.

Run a one-result test · View API

The smallest useful successful test is one handle: $0.01 for Actor Start plus $0.03 for one saved Result on the FREE tier, or $0.04 total; a test that saves no profile row does not incur the Result charge.

What does Medium Profile API do?

Medium Profile API resolves one public Medium writer reference and returns one normalized author snapshot. Supply a full profile URL, an @handle, or a bare handle through medium_url; the response can include the stable Medium ID, canonical username, display name, profile URL, stored avatar, biography, linked Twitter/X and Mastodon usernames, follower and following counts, book-author status, credited book titles, and a bounded homepage article sample.

The articles array contains up to 25 summaries from the writer's public homepage. Each article can carry its source ID, title, URL, subtitle, clap and response counts, reading minutes, publication and update timestamps, tags, lock state, and a stored preview-image URL. article_count reports how many items were returned in the current snapshot.

This Actor is a profile lookup, not a topic search or a complete content archive. It does not enumerate follower lists, crawl publications, retrieve full article bodies, or paginate through a writer's entire history. It is independent and is not affiliated with, endorsed by, or operated by Medium.

How do I run Medium Profile API?

Run Medium Profile API by passing one supported writer reference in the required medium_url field.

  1. Open the Store input form.
  2. Replace the prefilled https://medium.com/@MediumStaff value if you want another writer.
  3. Start the Actor and wait for its terminal status.
  4. Read the single default Dataset item, or export it as JSON, CSV, Excel, XML, or RSS.

The smallest runnable input uses the same public profile as the prefill:

{
"medium_url": "https://medium.com/@MediumStaff"
}

One run accepts one writer reference and saves at most one Result. For a list of handles, call the Actor once per value through the API, an Apify task, or your workflow system.

What data does Medium Profile API return?

Medium Profile API returns one 17-field author record when the requested profile is usable; unavailable source values stay null or absent instead of being guessed.

GroupFieldsMeaning
Identityplatform, id, username, name, profile_url, avatar_url, bioSource label, stable author identity, canonical profile, stored avatar, and public biography
Connectionstwitter_username, mastodon_usernameSocial usernames linked from the profile
Audiencefollower_count, following_countInteger audience values at retrieval time
Booksis_book_author, book_titlesMedium's book-author marker and credited titles
Homepage activityarticles, article_countUp to 25 article summaries and the number included
Processingprocessor, processed_atProducing Actor reference and UTC snapshot time

This illustrative JSON is abbreviated to one article object; a populated record can contain up to 25 article summaries.

{
"platform": "Medium",
"id": "medium-staff-example-id",
"username": "MediumStaff",
"name": "Medium Staff",
"profile_url": "https://medium.com/@MediumStaff",
"avatar_url": "https://api.apify.com/v2/key-value-stores/example/records/avatar.jpg",
"bio": "Updates and stories from Medium.",
"twitter_username": null,
"mastodon_username": null,
"follower_count": 1000,
"following_count": 10,
"is_book_author": false,
"book_titles": [],
"articles": [
{
"id": "article-example-id",
"title": "An illustrative Medium update",
"url": "https://medium.com/@MediumStaff/article-example-id",
"subtitle": "An abbreviated example for the Dataset shape.",
"clap_count": 100,
"response_count": 5,
"reading_minutes": 4.2,
"published_at": "2026-08-01T12:00:00+00:00",
"updated_at": "2026-08-01T12:00:00+00:00",
"tags": ["medium", "publishing"],
"is_locked": false,
"image_url": null
}
],
"article_count": 1,
"processor": "https://apify.com/truefetch/medium-profile-api",
"processed_at": "2026-08-12T18:00:00+00:00"
}

Values in the illustrative row demonstrate types and nesting, not current facts about the example account. Use the live Result row as the authoritative snapshot.

What inputs can I configure?

Medium Profile API has exactly one public input and requires it on every run.

InputTypeRequiredBehaviorExample
medium_urlstringYesMedium profile URL, @handle, or bare handle; resolves one author and produces at most one recordhttps://medium.com/@MediumStaff

There are no credential, cookie, article-limit, keyword, country, language, filter, or pagination inputs. Medium documents the supported writer profile forms in its official profile URL guide, including the familiar medium.com/@username pattern.

What platforms and markets does Medium Profile API cover?

Medium Profile API covers publicly readable writer profiles on medium.com regardless of the writer's language or location. Medium is a global publishing platform, so the Actor has no country, marketplace, or language selector; it returns the source text and counts exposed for the requested profile.

Custom publication domains do not create a separate market dimension. The lookup is centered on the writer's canonical Medium identity. Suspended, nonexistent, or persistently unreadable profiles are clean empty outcomes rather than partial synthetic rows.

The activity scope is deliberately narrower than the profile scope. A writer record can include only the articles available through the public homepage sample, up to 25 items, so the output should not be treated as a complete bibliography.

Why use Medium Profile API?

Medium Profile API is useful when a developer needs one predictable author object rather than a rendered profile page.

CapabilityBenefit for a data workflow
Three accepted reference shapesNormalize mixed CRM columns containing URLs, @handles, and bare handles without a separate cleanup step
Integer audience fieldsScore or sort writers using follower_count and following_count without parsing abbreviated page text
Stable 17-field contractJoin every populated writer record to the same downstream table or model
Linked social and book contextConnect an author to other public identities and distinguish book authors from ordinary accounts
Engagement-bearing homepage sampleUse claps, responses, tags, dates, and reading minutes to assess recent activity and subject fit
No-charge empty ResultTest stale or uncertain handles without paying the profile Result price when no row is saved

The main trade-off is the one-writer-per-run contract. It keeps output and billing explicit, but a batch enrichment job must loop calls or schedule tasks externally.

Who is Medium Profile API for?

Medium Profile API is for developers, data teams, researchers, and operations teams that already know the writer they want to resolve. Common workflows include enriching newsletter authors in a CRM, qualifying speakers or experts, comparing the public audience of tracked writers, linking a Medium identity to Twitter/X or Mastodon, and monitoring a portfolio of creators over time.

Growth and partnerships teams can export the flat profile fields to a spreadsheet, while engineering teams can consume the same row through HTTP, an SDK, or MCP. articles is the only nested top-level field that usually needs a separate transform for tabular systems.

It is not the right product for users starting from a topic query, building a full-text article corpus, enumerating followers, or reconstructing a complete publication history. Those goals need a different retrieval contract.

How can I use Medium Profile API through the API or MCP?

Use the Actor name truefetch/medium-profile-api in API and MCP calls; the name form remains the stable public integration reference.

$curl -X POST "https://api.apify.com/v2/acts/truefetch~medium-profile-api/run-sync-get-dataset-items?token=$APIFY_TOKEN" -H "Content-Type: application/json" -d '{"medium_url":"https://medium.com/@MediumStaff"}'

The synchronous Dataset-items endpoint returns a JSON array containing zero or one object. Store the Apify token in a secret manager or platform credential rather than source code.

For MCP clients, connect to Apify's hosted Streamable HTTP endpoint:

{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com",
"headers": {
"Authorization": "Bearer <APIFY_TOKEN>"
}
}
}
}

After connecting, discover truefetch/medium-profile-api and pass medium_url: https://medium.com/@MediumStaff. The API page provides generated JavaScript and Python examples plus the OpenAPI definition for the same input and Dataset contract.

How much does Medium Profile API cost?

Medium Profile API costs $0.03 per saved profile Result on the FREE tier plus $0.01 for Actor Start, so the smallest successful test costs $0.04.

EventBilling unitFREEBRONZESILVERGOLDPLATINUMDIAMOND
Actor StartRun start; one event per GB of memory, minimum one$0.01000$0.01000$0.01000$0.01000$0.01000$0.01000
ResultOne saved author profile row$0.03000$0.02700$0.02400$0.02250$0.02250$0.02250

At the default 256 MB memory, Apify charges the minimum one Actor Start event. The one required calculation is therefore $0.01 Start + $0.03 Result = $0.04 for one successful FREE-tier lookup. If a missing, suspended, or unreadable profile produces no Dataset row, the Result event is not charged. Prices can change, so verify the live pricing panel before planning a large enrichment batch.

How does Medium Profile API compare with alternatives?

Medium Profile API fits intermittent, point-based writer enrichment where a stable schema and per-result billing matter. Manually reading a profile is free and often best for one visual check, but it does not provide a repeatable 17-field export or an automated audience snapshot.

Medium's official API documentation is archived and says the API is no longer supported. Historical official integrations can explain older publishing workflows, but they are not a current general profile-data service. Building separate page-reading, image-storage, normalization, scheduling, and export steps gives a team more control, while this Actor bundles those public outcomes behind one input and Dataset contract.

An unnamed subscription data category can suit continuous high-volume lookup programs with negotiated quotas or broader endpoints. This Actor is a better fit for on-demand author resolution without a standing subscription. Choose another path when you need topic search, full article bodies, follower lists, publication membership, or complete author history; use the sibling Medium API when keywords are the entry point.

What are the limits and troubleshooting steps?

Medium Profile API is limited to one publicly readable writer per run and a maximum 25-item public homepage sample.

  • Empty Dataset → the handle may be missing, suspended, or unreadable. Check spelling and retry with https://medium.com/@handle.
  • Fewer than 25 articles → the writer's public homepage supplied fewer items. Trust article_count as the returned sample size.
  • Null bio, social username, or book field → Medium did not expose that value. Keep null as a meaningful source outcome.
  • Counts differ across runs → audience and engagement values are snapshots. Compare them using processed_at.
  • Missing avatar or article image → the source lacked the asset or that individual file was not stored. Other profile and article fields can still be valid.
  • Need a list of writers → submit one medium_url per Actor run through an API loop, task schedule, or workflow queue.

If a known-good public handle repeatedly fails, open the Issues tab and include the run ID, exact input, expected record, and affected field. A minimal reproducible report uses {"medium_url":"https://medium.com/@MediumStaff"}.

Frequently asked questions

Medium Profile API answers the most common questions about input shape, field meaning, limits, scheduling, and billing.

Is there a medium user api for follower data?

Yes. This medium user api returns follower_count and following_count as integer fields when Medium exposes them, together with identity, bio, social, book, and homepage activity data.

How do I look up medium writer by handle?

Pass a full profile URL, @handle, or bare handle in medium_url; all supported forms resolve to the canonical writer identity returned by Medium.

Is there a free Medium profile API?

Manual profile viewing is free, but this Actor uses pay-per-event pricing. The smallest successful FREE-tier run is $0.04, and a run that saves no profile row avoids the $0.03 Result charge.

Can I schedule runs to monitor Medium writers over time?

Yes. Save a task for each medium_url, schedule it in Apify, and compare follower_count, following_count, article engagement, and processed_at across snapshots.

Does the API return a writer's complete article history?

No. articles is a public homepage sample capped at 25 summaries, not a complete archive, feed, or full-text corpus.

What happens for a suspended or nonexistent profile?

The run ends without a usable Dataset row after the source outcome is confirmed. Actor Start remains billable, but no Result event is charged.

Do I need Medium credentials or cookies?

No. The only public input is medium_url; the schema has no account, token, cookie, or session field.

Can I export the result to a spreadsheet or CRM?

Yes. Export the Dataset as CSV or Excel, or map the JSON row through an integration. The profile fields are flat; only the articles array is nested.

Three TrueFetch Actors extend the same workflow in distinct directions.

  • Medium API — search Medium articles by keyword and collect full public article rows when a topic starts the workflow.
  • Reddit User Profile — add account-level community identity, reputation, and history to cross-platform people research.
  • LinkedIn Profile API — add professional roles, experience, education, activity, and displayed counts to a writer record.

Support

Support is available through the Store surfaces and the TrueFetch community. Use the Store page for input and pricing, the API reference for integration examples, the Issues tab for reproducible defects, and the TrueFetch community for product questions.

Test one Medium writer · Open the API reference

Last Updated: August 12, 2026