Skip to content
x.md
Esc
↑↓navigate↵open⌘Jpreview
On this page

Profiles and connections

Read profiles and recent posts as Markdown or JSON, list followers and following, and import accessible history in bulk as JSON or NDJSON.

Read a profile

GET /{handle} — the permalink form. It returns the profile and its recent posts: original posts only by default, up to 100 per page with limit. Add with_replies=true and with_reposts=true to get the account’s replies and reposts too. The response contains at most limit posts. Filtering, deduplication, upstream depth and a bounded page budget can produce a shorter response; follow nextCursor even after a short page.

curl -sS 'https://fast.mdfromx.com/vercel?full=true'

GET /api/v1/profiles/{handle} — the same read on the versioned surface.

curl -sS 'https://fast.mdfromx.com/api/v1/profiles/vercel?full=true'

Read connections

GET /{handle}/followers and GET /{handle}/following list who follows an account and who it follows, up to 100 per page, raw JSON with format=json, and no ceiling on how far a cursor goes.

curl -sS 'https://fast.mdfromx.com/vercel/followers'

The same two lists sit under /api/v1/profiles/{handle}:

curl -sS 'https://fast.mdfromx.com/api/v1/profiles/vercel/following?format=json'
Permalink route Versioned route JSON fields
/{handle} /api/v1/profiles/{handle} profile and posts
/{handle}/followers /api/v1/profiles/{handle}/followers users
/{handle}/following /api/v1/profiles/{handle}/following users

Both forms take the same options and return the same body; the versioned ones are the stable machine surface. Use a handle without @ in the URL. Connection data depends on upstream availability.

Options

Parameter Default Behavior
include_posts true Set false to fetch only identity/profile, including avatar_url, without reading a timeline. Useful for circle enrichment.
limit 20 Items per response, maximum 100. An upper bound, not a promised count. Follow nextCursor until absent.
with_replies false Profile only. true includes the account’s replies.
with_reposts false Profile only. true includes reposts. A repost is the original post with reposted_by set, so it carries the original’s id and created_at.
until — Profile only. ISO date, ISO datetime, or unix timestamp: the page starts just below that instant, so you can jump to a date without walking cursors. Ignored when cursor is present.
cursor — Opaque nextCursor from the previous response. No page ceiling: keep following it.
page 1 Page 1–10; prefer cursors. Ignored when cursor is present.
full false true or 1 adds dates, metrics, and expanded profile details.
format markdown markdown or json. Browse routes do not accept obsidian.
nocache false true or 1 bypasses the application cache.

Follow nextCursor to continue. See pagination.

Import a post history

For hundreds or thousands of posts at once — replies included, raw JSON, streamed — use the bulk route instead of paging:

curl -sS 'https://fast.mdfromx.com/api/v1/profiles/paulg/posts?since=2025-09-01&max_posts=2000'

It walks the timeline in parallel, remembers what it collected, and answers repeat imports from that archive. Import a post history covers it end to end.

Last updated on

Was this page helpful?