Discover/Arlmy API
live

Arlmy APIz.arlmy.me

Read the 素生 personal blog by arlmy via API. Browse posts, filter by category or tag, fetch full content, and access the author's NOW page and thinking archive.

This API takes change requests — .
Endpoint health
verified 1h ago
list_posts
list_labels
list_posts_by_label
get_post
get_now
6/6 passing latest checkself-healing
Endpoints
6
Updated
2h ago

What is the Arlmy API?

This API exposes 6 endpoints covering the full content of 素生, the personal blog at z.arlmy.me by author arlmy. Use list_posts to page through the post stream with titles, dates, and excerpts, get_post to retrieve full post bodies including HTML, plain text, word count, and changelog entries, or get_now to read the author's current NOW page split into headed sections.

This call costs1 credit / call— charged only on success
Try it
1-based page number of the post stream.
api.parse.bot/scraper/0a744b93-7817-420a-accc-b8d102fa30b7/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/0a744b93-7817-420a-accc-b8d102fa30b7/list_posts' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace z-arlmy-me-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""Walkthrough: 素生 blog SDK — browse posts, drill into details, explore by tag."""
from parse_apis.z_arlmy_me_api import ZArlmy, InputNotFound

client = ZArlmy()

# Browse the newest posts in the blog stream.
for summary in client.post_summaries.list(limit=5):
    print(summary.title, summary.date, summary.excerpt)

# Drill down: take the first post summary and fetch full details.
summary = client.post_summaries.list(limit=1).first()
if summary is not None:
    post = summary.details()
    print(post.title, post.category, post.word_count, "words")
    if post.next_post is not None:
        print("Next →", post.next_post.title)

# Discover tags, then list posts under the first tag found.
tag = client.tags.list(limit=1).first()
if tag is not None:
    for tagged_post in tag.posts(limit=3):
        print(tag.name, "—", tagged_post.title, tagged_post.date)

# Point lookup using an id discovered earlier.
if summary is not None:
    try:
        detail = client.posts.get(post_id=summary.post_id)
        print(detail.title, detail.reading_minutes, "min read")
    except InputNotFound:
        print("Post no longer exists")

print("exercised: post_summaries.list / details / tags.list / tag.posts / posts.get")
All endpoints · 6 totalmissing one? ·

Returns one page of the blog's post stream, newest first, as the site's BLOG listing shows it: 20 posts per page with title, publish date, the one-line excerpt and post_id. The optional page input selects the page (omitted = first page); total_pages and has_more come from the site's own paginator. Requesting a page beyond total_pages returns a not-found input error. One request per call.

Input
ParamTypeDescription
pageinteger1-based page number of the post stream.
Response
{
  "type": "object",
  "fields": {
    "page": "integer, the page returned",
    "posts": "array of post summaries: post_id (path key for get_post), title, date (YYYY-MM-DD), excerpt (one-line teaser), url",
    "has_more": "boolean, whether a next page exists",
    "total_pages": "integer, number of pages in the stream per the site's paginator"
  },
  "sample": {
    "data": {
      "page": 2,
      "posts": [
        {
          "url": "https://z.arlmy.me/posts/TILs/thoughts/20260727_Recently/",
          "date": "2026-08-20",
          "title": "最近惦念 20260727",
          "excerpt": "多用“似乎是的”,虚化掉一切试试看。",
          "post_id": "TILs/thoughts/20260727_Recently"
        }
      ],
      "has_more": true,
      "total_pages": 71
    },
    "status": "success"
  }
}

About the Arlmy API

Post Browsing and Filtering

The list_posts endpoint returns 20-post pages of the blog stream, newest first. Each item includes post_id, title, date (YYYY-MM-DD), excerpt, and url. The page parameter selects which page to retrieve; total_pages and has_more in the response tell you how far the stream extends. To filter by subject, list_posts_by_label accepts a name and a kind (category or tag) and returns every matching post in a single unpaginated response. Exact label names — required by list_posts_by_label — come from list_labels, which also returns per-category post_count values.

Full Post Content

get_post takes a post_id (the path segment emitted by list_posts or list_posts_by_label) and returns the complete post: title, date, updated (null when absent), category, tags array, word_count, changelog array, full html body, plain-text body, next_post neighbour reference, and canonical url. The changelog field is an empty array when the post carries no revision history.

Author Pages: NOW and Thinking Archive

get_now returns the author's NOW page as an array of sections, each with heading, items (plain-text bullets or paragraphs), and raw html. get_thinking_archive returns every dated entry in the Thinking archive, newest first, with each entry carrying a date and an items array of plain-text bullets. Nested sub-bullets are flattened into their parent with newlines. Both endpoints require no inputs and return everything in one response.

Reliability & maintenanceVerified

The Arlmy API is a managed, monitored endpoint for z.arlmy.me — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when z.arlmy.me changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official z.arlmy.me API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
1h ago
Latest check
6/6 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Build a read-later client that fetches full post HTML via get_post for offline reading
  • Aggregate the thinking archive entries from get_thinking_archive into a searchable timeline
  • Render a tag or category index page using list_labels counts and list_posts_by_label post lists
  • Track when posts are revised by monitoring the updated field and changelog array returned by get_post
  • Display the author's current focus areas by parsing the sections array from get_now
  • Sync new posts into a personal knowledge base by polling list_posts and checking has_more
  • Generate a reading-time report across all posts by collecting word_count values from get_post
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo2005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min
Team$300/mo20,000300 req/min
Company$1,000/mo100,000500 req/min

Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does z.arlmy.me have an official developer API?+
No. z.arlmy.me is a personal blog with no published developer API or documented data access layer.
What does get_post return beyond the post body?+
In addition to the full HTML and plain-text body, get_post returns the site-computed word_count (character count), a changelog array of revision notes, the updated date (null if the page shows none), the category name, an array of tag names, and a next_post object pointing to the chronologically newer neighbour post. All of these come back in a single request.
Does list_posts_by_label paginate, and how do I get the right label name?+
list_posts_by_label returns all posts under a label in one unpaginated response. The name parameter must exactly match a value from list_labels — either categories[*].name or tags[*].name. Passing a name not present in list_labels will return no results.
Are comments or post reaction counts available through this API?+
Not currently. The API covers post content, metadata, labels, the NOW page, and the thinking archive. Comments or engagement signals are not exposed. You can fork this API on Parse and revise it to add an endpoint covering that data if the source exposes it.
Does get_thinking_archive return entries before a specific date, or only the full archive?+
get_thinking_archive always returns the complete archive in one response, newest date first. There is no date-range filter parameter. The total field tells you how many dated entries are present. You can fork this API on Parse and revise it to add date filtering over the returned entries.
Page content last updated . Spec covers 6 endpoints from z.arlmy.me.
Related APIs in News MediaSee all →
anything.com API
Retrieve blog posts and organize them by category from Anything.com's AI app builder platform. Use this to access detailed content about AI development, tutorials, and platform updates directly from their official blog.
grindr.com API
Access Grindr's public blog content by browsing posts with pagination and category filters, then read full articles on topics relevant to the community. Stay informed about news, updates, and stories directly from Grindr's official publications.
liuguiyu.github.io API
Discover and read blog articles on cybersecurity, identity management, AI, and emerging technology trends from a personal tech blog. Browse through the complete collection of posts or dive into individual articles to stay updated on the latest insights in CIAM and digital security.
elchin.blog API
Search and browse articles from Elchinbek Jabbarbergenov's blog to discover insights on IT project management and business analysis. Retrieve detailed information about specific pages and explore the full collection of published content on these topics.
soccer-api.com API
Access soccer-related tutorials, documentation, and feature guides published on the Soccer API website through dedicated endpoints for blog posts, feature pages, and topic tags. Use this to discover development resources, product information, and tagged content organized across the Soccer API platform.
insights.trendforce.com API
Access semiconductor and AI industry analysis articles from TrendForce Insights, browsing post listings and retrieving full article content organized into text sections and figures. Perfect for staying updated on tech industry trends and feeding structured article data into language models for analysis.
oneleet.com API
Access data from oneleet.com.
semianalysis.com API
Access the latest SemiAnalysis newsletter posts on semiconductors, AI infrastructure, and datacenter technology, retrieving full articles along with author information and metadata. Build applications that automatically incorporate semiconductor industry insights and analysis into your workflows or services.