Skip to content

app.bsky.unspecced.searchPostsSkeleton

Lexicon Version: 1

Type: query

Backend Posts search, returns only skeleton

Parameters:

NameTypeReq’dDescriptionConstraints
qstringSearch query string; syntax, phrase, boolean, and faceting is unspecified, but Lucene query syntax is recommended.
sortstringSpecifies the ranking order of results.Known Values: top, latest
Default: latest
sincestringFilter results for posts after the indicated datetime (inclusive). Expected to use ‘sortAt’ timestamp, which may not match ‘createdAt’. Can be a datetime, or just an ISO date (YYYY-MM-DD).
untilstringFilter results for posts before the indicated datetime (not inclusive). Expected to use ‘sortAt’ timestamp, which may not match ‘createdAt’. Can be a datetime, or just an ISO date (YYY-MM-DD).
mentionsstringFilter to posts which mention the given account. Handles are resolved to DID before query-time. Only matches rich-text facet mentions.Format: at-identifier
authorstringFilter to posts by the given account. Handles are resolved to DID before query-time.Format: at-identifier
langstringFilter to posts in the given language. Expected to be based on post language field, though server may override language detection.Format: language
domainstringFilter to posts with URLs (facet links or embeds) linking to the given domain (hostname). Server may apply hostname normalization.
urlstringFilter to posts with links (facet links or embeds) pointing to this URL. Server may apply URL normalization or fuzzy matching.Format: uri
tagArray of stringFilter to posts with the given tag (hashtag), based on rich-text facet or tag field. Do not include the hash (#) prefix. Multiple tags can be specified, with ‘AND’ matching.
viewerstringDID of the account making the request (not included for public/unauthenticated queries). Used for ‘from:me’ queries.Format: did
limitintegerMin: 1
Max: 100
Default: 25
cursorstringOptional pagination mechanism; may not necessarily allow scrolling through entire result set.
Output:
  • Encoding: application/json
  • Schema:

Schema Type: object

NameTypeReq’dDescriptionConstraints
cursorstring
hitsTotalintegerCount of search hits. Optional, may be rounded/truncated, and may not be possible to paginate through all hits.
postsArray of app.bsky.unspecced.defs#skeletonSearchPost
Possible Errors:
  • BadQueryString

{
"lexicon": 1,
"id": "app.bsky.unspecced.searchPostsSkeleton",
"defs": {
"main": {
"type": "query",
"description": "Backend Posts search, returns only skeleton",
"parameters": {
"type": "params",
"required": [
"q"
],
"properties": {
"q": {
"type": "string",
"description": "Search query string; syntax, phrase, boolean, and faceting is unspecified, but Lucene query syntax is recommended."
},
"sort": {
"type": "string",
"knownValues": [
"top",
"latest"
],
"default": "latest",
"description": "Specifies the ranking order of results."
},
"since": {
"type": "string",
"description": "Filter results for posts after the indicated datetime (inclusive). Expected to use 'sortAt' timestamp, which may not match 'createdAt'. Can be a datetime, or just an ISO date (YYYY-MM-DD)."
},
"until": {
"type": "string",
"description": "Filter results for posts before the indicated datetime (not inclusive). Expected to use 'sortAt' timestamp, which may not match 'createdAt'. Can be a datetime, or just an ISO date (YYY-MM-DD)."
},
"mentions": {
"type": "string",
"format": "at-identifier",
"description": "Filter to posts which mention the given account. Handles are resolved to DID before query-time. Only matches rich-text facet mentions."
},
"author": {
"type": "string",
"format": "at-identifier",
"description": "Filter to posts by the given account. Handles are resolved to DID before query-time."
},
"lang": {
"type": "string",
"format": "language",
"description": "Filter to posts in the given language. Expected to be based on post language field, though server may override language detection."
},
"domain": {
"type": "string",
"description": "Filter to posts with URLs (facet links or embeds) linking to the given domain (hostname). Server may apply hostname normalization."
},
"url": {
"type": "string",
"format": "uri",
"description": "Filter to posts with links (facet links or embeds) pointing to this URL. Server may apply URL normalization or fuzzy matching."
},
"tag": {
"type": "array",
"items": {
"type": "string",
"maxLength": 640,
"maxGraphemes": 64
},
"description": "Filter to posts with the given tag (hashtag), based on rich-text facet or tag field. Do not include the hash (#) prefix. Multiple tags can be specified, with 'AND' matching."
},
"viewer": {
"type": "string",
"format": "did",
"description": "DID of the account making the request (not included for public/unauthenticated queries). Used for 'from:me' queries."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 25
},
"cursor": {
"type": "string",
"description": "Optional pagination mechanism; may not necessarily allow scrolling through entire result set."
}
}
},
"output": {
"encoding": "application/json",
"schema": {
"type": "object",
"required": [
"posts"
],
"properties": {
"cursor": {
"type": "string"
},
"hitsTotal": {
"type": "integer",
"description": "Count of search hits. Optional, may be rounded/truncated, and may not be possible to paginate through all hits."
},
"posts": {
"type": "array",
"items": {
"type": "ref",
"ref": "app.bsky.unspecced.defs#skeletonSearchPost"
}
}
}
}
},
"errors": [
{
"name": "BadQueryString"
}
]
}
}
}