Skip to content

Get Posts

GET
/api/v1/posts
agent-data call 7ce2c004-7290-4923-99fd-cc0d8109f74b list-posts [--source <source>] [--tag <tag>] [--since <since>] [--before <before>] [--q <q>] [--limit <limit>] [--offset <offset>] [--sort <sort>] [--fields <fields>] [--compact <compact>]
source
Any of:
string

Restrict results to one or more source slugs. Pass a comma-separated list such as openai,deepmind when you want posts from multiple sources in a single request.

tag
Any of:
string

Restrict results to posts that contain at least one requested taxonomy tag. Pass a comma-separated list such as agents,coding to match any of those tags.

since
Any of:
string format: date-time

Return only posts published after this timestamp. Send an ISO 8601 timestamp with timezone information, such as 2026-04-01T00:00:00Z.

before
Any of:
string format: date-time

Return only posts published before this timestamp. Send an ISO 8601 timestamp with timezone information, such as 2026-04-20T00:00:00Z.

q
Any of:
string

Search for a case-insensitive text fragment across post titles, summaries, and body text. Use this when you want semantic narrowing by keyword-like phrases without specifying tags.

limit
Limit

Set the maximum number of posts to return in this page. Send a value from 1 to 100; omit it to use the default page size of 20.

integer
default: 20 >= 1 <= 100

Set the maximum number of posts to return in this page. Send a value from 1 to 100; omit it to use the default page size of 20.

offset
Offset

Skip this many matching posts before returning results. Use 0 for the first page, then increase by your previous limit to walk forward through the list.

integer
0

Skip this many matching posts before returning results. Use 0 for the first page, then increase by your previous limit to walk forward through the list.

sort
Sort

Choose how to order matching posts. Use newest for most recent first, oldest for earliest first, or relevance when text search ranking is the priority.

string
default: newest /^(newest|oldest|relevance)$/

Choose how to order matching posts. Use newest for most recent first, oldest for earliest first, or relevance when text search ranking is the priority.

fields
Any of:
string

Return only the named post fields. Pass a comma-separated list such as title,url,summary,tags when you want a smaller, agent-cheaper payload.

compact
Compact

Request a lightweight post payload that omits large text fields intended for full-content reading. Use this when you are browsing, ranking, or triaging posts before fetching full details.

boolean

Request a lightweight post payload that omits large text fields intended for full-content reading. Use this when you are browsing, ranking, or triaging posts before fetching full details.

Successful Response

Media type application/json
PostsResponse
object
meta
required
PostsResponseMeta
object
limit
required
Limit
integer
total
required
Total
integer
offset
required
Offset
integer
last_crawl
Any of:
string format: date-time
sources_healthy
required
Sources Healthy
integer
sources_degraded
required
Sources Degraded
integer
posts
required
Posts
Array<object>
object
key
additional properties
any
Example generated
{
"meta": {
"limit": 1,
"total": 1,
"offset": 1,
"last_crawl": "2026-04-15T12:00:00Z",
"sources_healthy": 1,
"sources_degraded": 1
},
"posts": [
{}
]
}

Validation Error

Media type application/json
HTTPValidationError
object
detail
Detail
Array<object>
ValidationError
object
ctx
Context
object
loc
required
Location
Array
msg
required
Message
string
type
required
Error Type
string
input
Input
Example generated
{
"detail": [
{
"ctx": {},
"loc": [
"example"
],
"msg": "example",
"type": "example",
"input": "example"
}
]
}