Skip to content
scrapeatlas.Dashboard

Coming soon

Get a Medium profile

Try in Playground

Retrieve a public Medium writer profile with biography, images, follower and following counts, story count and published social handles.

GET/v1/medium/profilex-api-key
x-api-keystringrequiredheader

Your ScrapeAtlas customer key. Create one on /account/ and set SCRAPEATLAS_API_KEY.

Query parameters
1
handlestringrequiredquery

Medium handle without the leading @.

Exampleexample-writer
Response fields
32
requestIdstring

Request correlation UUID.

Source request attempts, decoded bytes and duration.

accounting.upstreamRequestsinteger

Number of upstream HTTP request attempts.

≥ 0

accounting.responseBytesinteger

Decoded source response bytes.

≥ 0

accounting.durationMsnumber

Elapsed request time in milliseconds.

≥ 0

successboolean

True when usable data is returned; inspect status and coverage.

statusenum

success or partial for usable data; failed or challenged for failure responses.

one of: success, partial

sourceUrlstring

Canonical public Medium URL for the request.

absolute HTTPS URL

fetchedAtstring

UTC retrieval timestamp.

Coverage of the returned source records.

coverage.sourcestring

Public Medium web data.

coverage.completeboolean

Whether the result has no reported omissions.

coverage.warningsstring[]

Warnings that explain partial results.

coverage.orderenumoptional

Returned source order: source_order or ranked.

one of: source_order, ranked

Public writer profile.

profile.idstring

Medium user ID as a source string.

profile.usernamestring

Public Medium handle.

profile.namestringnullable

Display name, or null.

profile.biostringnullable

Profile biography, or null.

profile.urlstringnullable

Public profile URL, or null.

profile.imageIdstringnullable

Source avatar image identifier, or null.

profile.imageUrlstringnullable

Public avatar image URL, or null.

profile.backgroundImageIdstringnullable

Source background image identifier, or null.

profile.createdAtintegernullable

Profile creation time as Unix milliseconds, or null.

0 – 9007199254740991

profile.mediumMemberAtintegernullable

Medium membership start as Unix milliseconds, or null.

0 – 9007199254740991

profile.languageCodestringnullable

Source language code, or null.

profile.twitterScreenNamestringnullable

Public X handle, or null.

profile.facebookDisplayNamestringnullable

Public Facebook display name, or null.

profile.followerCountintegernullable

Published follower count, or null.

0 – 9007199254740991

profile.followingCountintegernullable

Published following count, or null.

0 – 9007199254740991

profile.postCountintegernullable

Published story count, or null.

0 – 9007199254740991

profile.isSuspendedbooleannullable

Source suspension flag, or null.

HTTP 200 returns the success variant. Check status: partial means usable data with warnings, and failed or challenged requests carry a failure object described in Errors & responses.

Error codes
15
HTTPfailure.codeMeaning
400invalid_requestMissing, duplicated, invalid or unsupported request parameters.
401unauthorizedMissing or invalid worker API key.
404not_foundThe requested writer, publication or story was not found.
422restricted_pageThe source requires additional access.
422unsupported_pageThe source did not provide the expected record.
502upstream_challengedThe source challenged the request.
502upstream_rate_limitedThe source rate limited the request.
502upstream_errorA source request failed.
502response_too_largeSource data exceeded the response byte limit.
502payload_too_complexSource data exceeded the traversal depth or node limit.
502unsafe_redirectThe source returned an unexpected redirect.
502request_limitThe request exhausted its source-attempt budget.
503busyAll worker request slots are in use.
504timeoutThe request exceeded its deadline.
200partialUsable data was returned with coverage warnings.