Anything APIanything.com ↗
Access Anything.com blog posts, categories, and full article content via API. Filter by category, paginate results, and retrieve structured portable text blocks.
What is the Anything API?
The Anything.com API provides 3 endpoints to retrieve blog content from the Anything.com AI app builder platform. Use list_posts to fetch paginated post summaries with titles, slugs, excerpts, authors, and category metadata, get_post to retrieve full article content as structured portable text blocks, and list_categories to enumerate all available category slugs for filtering.
curl -X GET 'https://api.parse.bot/scraper/eea94fc5-373f-45d8-bbd5-8c7a5c3dd14d/list_posts?limit=10&offset=0&category=articles' \ -H 'X-API-Key: $PARSE_API_KEY'
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 anything-com-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: AnythingBlog SDK — browse blog posts by category, drill into content."""
from parse_apis.anything_com_api import AnythingBlog, BlogCategory, PostNotFound
client = AnythingBlog()
# List all categories available on the blog
for cat in client.categories.list(limit=5):
print(cat.title, cat.slug)
# Browse posts in the "company" category using the constructible Category resource
company = client.category(slug=BlogCategory.COMPANY)
for post in company.posts(limit=3):
print(post.title, post.published_at, post.excerpt)
# Drill into a single post by slug for full content
first_post = company.posts(limit=1).first()
if first_post:
detail = client.posts.get(slug=first_post.slug)
print(detail.title, detail.created_at)
if detail.content:
for block in detail.content[:3]:
if block.children:
print(block.style, block.children[0].text[:80])
# Handle a post that doesn't exist
try:
client.posts.get(slug="nonexistent-post-slug")
except PostNotFound as exc:
print(f"Post not found: {exc.slug}")
print("exercised: categories.list / category.posts / posts.get / PostNotFound")
List blog posts ordered by publication date (newest first). Supports filtering by category slug and pagination via offset/limit. Returns post summaries including title, slug, excerpt, category, author, and main image URL.
| Param | Type | Description |
|---|---|---|
| limit | integer | Maximum number of posts to return per page. |
| offset | integer | Number of posts to skip for pagination. |
| category | string | Filter posts by category slug (e.g. articles, company, insights, stories, tutorials). Omitting returns posts from all categories. |
{
"type": "object",
"fields": {
"limit": "integer",
"posts": "array of post summaries",
"total": "integer",
"offset": "integer"
},
"sample": {
"data": {
"limit": 5,
"posts": [
{
"_id": "5012b584-c471-42bd-8326-156bf132e22e",
"slug": "cursor-alternatives",
"title": "12 best Cursor alternatives for ai coding in 2026",
"author": null,
"excerpt": "Discover the 12 best Cursor alternatives for AI coding in 2026.",
"category": {
"slug": "articles",
"title": "Articles"
},
"mainImage": "https://cdn.sanity.io/images/sgjr1jkz/production/9d467c6a99bf301e9ef023376ebb2da0f29f7b30-1376x768.png",
"_createdAt": "2026-07-05T11:14:57Z",
"publishedAt": "2026-07-04T11:16:00.000Z"
}
],
"total": 468,
"offset": 0
},
"status": "success"
}
}About the Anything API
Blog Post Listings
The list_posts endpoint returns an array of post summaries ordered newest-first. Each summary includes the post title, slug, excerpt, category object, author name, and mainImage URL. Pagination is controlled via limit and offset integer parameters. You can narrow results to a specific topic with the category parameter, which accepts slugs such as articles, tutorials, insights, company, and stories. The response envelope also returns total and offset so you can implement full pagination logic client-side.
Individual Post Content
The get_post endpoint takes a single required slug parameter and returns the complete post record. The content field is an array of Sanity portable text blocks — each block carries text, marks, and link definitions, giving you full control over how you render the article body. Metadata fields include _id, _createdAt, _updatedAt, excerpt, mainImage, and nested author and category objects (the latter exposing both title and slug).
Category Discovery
The list_categories endpoint requires no parameters and returns all available categories as an array of objects, each with _id, title, and slug. Categories are sorted alphabetically. Use the returned slugs directly as the category filter in list_posts to build topic-specific content feeds or navigation structures.
The Anything API is a managed, monitored endpoint for anything.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when anything.com 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 anything.com 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.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a content aggregator that surfaces the latest AI app-building tutorials filtered by the
tutorialscategory slug. - Sync Anything.com blog posts into a CMS or internal knowledge base using
list_postspagination withoffsetandlimit. - Render full article pages by fetching structured portable text blocks from
get_postand transforming them with your own renderer. - Track new company announcements by polling
list_postswithcategory=companyand comparing against stored_updatedAttimestamps. - Generate a category-browsing UI by calling
list_categoriesto populate navigation links dynamically. - Monitor post metadata freshness using
_createdAtand_updatedAtfields from individual post records returned byget_post. - Extract author attribution data from post summaries to build contributor-level content groupings.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 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.
Does Anything.com have an official public developer API?+
What does `get_post` return for the content field?+
content field is returned as an array of Sanity portable text blocks. Each block contains text spans, inline marks (such as bold or italic), and link definitions. You are responsible for rendering these blocks using a portable text renderer compatible with your frontend stack.Can I filter posts by author or date range using `list_posts`?+
list_posts supports filtering by category slug and pagination via offset and limit. Date and author filtering are not exposed as parameters. You can fork this API on Parse and revise it to add author or date-range filter parameters.Are there any gaps in what the API covers compared to the full Anything.com site?+
How does pagination work in `list_posts`?+
limit to control how many post summaries are returned per request and offset to skip a number of posts. The response includes total, limit, and offset fields, which together let you calculate whether additional pages exist and what offset to use for the next request.