Profiles and connections
Read an account's profile and posts, import its whole history in bulk, and list followers and following.
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. A page is assembled from as many upstream pages as it takes and cut exactly at limit, so limit=100 really returns 100.
curl -sS 'https://x.pcstyle.dev/vercel?full=true'
GET /api/v1/profiles/{handle} — the same read on the versioned surface.
curl -sS 'https://x.pcstyle.dev/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://x.pcstyle.dev/vercel/followers'
The same two lists sit under /api/v1/profiles/{handle}:
curl -sS 'https://x.pcstyle.dev/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 |
|---|---|---|
limit |
20 |
Items per response, maximum 100. Every page is cut exactly at limit, assembled from as many upstream pages as it takes. |
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://x.pcstyle.dev/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.