~ ▸ curl atproto.md/at://{actor}/{collection}/{rkey}
atproto.md
AT Protocol data as clean Markdown. Any collection on any PDS — first-party Bluesky or third-party lexicons. No auth, no API key.
routes
GET/at://{actor}/{collection}
List records in any collection on any PDS. Paginated.
/at://bsky.app/app.bsky.feed.post
GET/at://{actor}/{collection}/{rkey}
Fetch a single record by rkey.
/at://bsky.app/app.bsky.actor.profile/self
GET/backlinks/{at-uri-or-did-or-url}new
Who links to a target — likes, reposts, replies, follows, or any lexicon.
/backlinks/at://…/site.standard.document/3md4qsktbms24
GET/discover/{collection}new
Every repo on the network using a lexicon.
/discover/site.standard.document
GET/lexicon/{nsid}new
Resolve a Lexicon schema by NSID — DNS
/lexicon/app.bsky.feed.post
_lexicon TXT → DID → schema record.GET/plc/audit/{actor}new
PLC audit log — PDS migrations, handle changes, and key rotations over time.
/plc/audit/bsky.app
GET/plc/data/{actor}new
Current PLC state — active PDS, handles, signing key, and rotation keys.
/plc/data/bsky.app
GET/plc/last/{actor}new
The most recent PLC operation and the state it established.
/plc/last/bsky.app
GET/resolve/{actor}
Full identity chain — handle → DID → DID document → PDS endpoint.
/resolve/bsky.app
try it
# resolve a profile~ ▸ curl https://atproto.md/at://bsky.app/app.bsky.actor.profile/self # find everyone using a lexicon~ ▸ curl https://atproto.md/discover/site.standard.document # latest posts~ ▸ curl "https://atproto.md/at://bsky.app/app.bsky.feed.post?limit=5"