POST /api/lemmy/posts/search
Price: 20 credits
Search or list Lemmy posts across the network or inside one community, each with its title, body, submitted link, vote tally, comment count, author and community
With `query` this is full-text matching over post titles and bodies; without it you get the community or network listing in `sort` order, which is the way to read a feed. NSFW communities return an empty list unless `show_nsfw` is true, with no error to tell you why. Vote and comment counts are the reading `instance`'s copy and lag the community's home instance, so pass the home instance in `community` when the numbers matter.
access-token string requiredtimeout integer — Max scrapping execution timeout (in seconds) (default: 300; min: 20; max: 1500)instance string — Lemmy instance domain to read from. Any instance answers for the whole network, and its own view of vote and comment counts is what you get (default: "lemmy.world"; examples: "lemmy.world", "lemmy.ml", "sopuli.xyz"; minLength: 1)count integer required — Max number of posts to return (examples: 50; min: 1; max: 2500)query string nullable — Free-text query matched against post titles and bodies. Without it the community or network listing is read instead (examples: "framework laptop"; minLength: 1)community string nullable — Restrict to one community, as `name@instance`, a bare `name` hosted by the instance, or a /c/ URL (examples: "technology@lemmy.world", "asklemmy@lemmy.ml", "https://lemmy.world/c/technology"; minLength: 1)sort string nullable — Ordering applied by the instance (one of: "Active", "Hot", "New", "Old", "Scaled", "Controversial", "MostComments", "NewComments", "TopHour", "TopSixHour", "TopTwelveHour", "TopDay", "TopWeek", "TopMonth", "TopThreeMonths", "TopSixMonths", "TopNineMonths", "TopYear", "TopAll")listing_type string nullable — `Local` keeps only posts whose community is hosted on the instance, regardless of the author's own instance; `All` includes federated communities too (one of: "All", "Local")show_nsfw boolean — Include posts and communities marked NSFW, which are withheld otherwise (default: false)@type string (default: "LemmyPost")id string requiredurl string nullablepost_title string nullabletext string nullablelink_url string nullablelink_content_type string nullablethumbnail string nullablealt_text string nullableembed_title string nullableembed_description string nullableembed_video_url string nullablemedia object nullable@type string (default: "LemmyImage")image string nullablewidth integer nullableheight integer nullablecontent_type string nullablelanguage_id string nullableis_local boolean nullableis_nsfw boolean nullableis_locked boolean nullableis_removed boolean nullableis_deleted boolean nullableis_featured_community boolean nullableis_featured_local boolean nullableis_author_admin boolean nullableis_author_moderator boolean nullablecreated_at integer nullableupdated_at integer nullablescore integer nullableupvote_count integer nullabledownvote_count integer nullablecomment_count integer nullablenewest_comment_at integer nullableauthor object nullable@type string (default: "LemmyUser")id string requiredurl string nullablealias string nullablename string nullablebio string nullableimage string nullablebanner string nullablematrix_user_id string nullableinstance_id string nullableis_local boolean nullableis_bot boolean nullableis_banned boolean nullableis_deleted boolean nullableis_admin boolean nullableban_expires_at integer nullablecreated_at integer nullableupdated_at integer nullablepost_count integer nullablecomment_count integer nullablemoderated_communities array (default: [])@type string (default: "LemmyCommunity")id string requiredurl string nullablealias string nullablecommunity_title string nullabledescription string nullableimage string nullablebanner string nullablevisibility string nullableinstance_id string nullableis_local boolean nullableis_nsfw boolean nullableis_removed boolean nullableis_deleted boolean nullableis_hidden boolean nullableis_posting_restricted_to_mods boolean nullablecreated_at integer nullableupdated_at integer nullablesubscriber_count integer nullablelocal_subscriber_count integer nullablepost_count integer nullablecomment_count integer nullableactive_day_user_count integer nullableactive_week_user_count integer nullableactive_month_user_count integer nullableactive_half_year_user_count integer nullablemoderators array (default: [])community object nullable@type string (default: "LemmyCommunity")id string requiredurl string nullablealias string nullablecommunity_title string nullabledescription string nullableimage string nullablebanner string nullablevisibility string nullableinstance_id string nullableis_local boolean nullableis_nsfw boolean nullableis_removed boolean nullableis_deleted boolean nullableis_hidden boolean nullableis_posting_restricted_to_mods boolean nullablecreated_at integer nullableupdated_at integer nullablesubscriber_count integer nullablelocal_subscriber_count integer nullablepost_count integer nullablecomment_count integer nullableactive_day_user_count integer nullableactive_week_user_count integer nullableactive_month_user_count integer nullableactive_half_year_user_count integer nullablemoderators array (default: [])@type string (default: "LemmyUser")id string requiredurl string nullablealias string nullablename string nullablebio string nullableimage string nullablebanner string nullablematrix_user_id string nullableinstance_id string nullableis_local boolean nullableis_bot boolean nullableis_banned boolean nullableis_deleted boolean nullableis_admin boolean nullableban_expires_at integer nullablecreated_at integer nullableupdated_at integer nullablepost_count integer nullablecomment_count integer nullablemoderated_communities array (default: [])cross_posts array (default: [])422 — community is not a Lemmy community handle, or instance is not a domain Check the fields against this schema. A URN with the wrong prefix is the most common cause.408 — The request ran past its time limit Raise `timeout` in the request body, up to the maximum this endpoint documents. Lowering `count` or turning off the `with_*` flags also helps, because less work finishes sooner.412 — No such post, comment, community or user on this Lemmy instance, or the instance did not answer the Lemmy API Retrying will not help: either the entity does not exist, or the input points at a different one.429 — Too many requests: a rate limit or a usage window is exhausted When the response carries an X-Retry-After header, wait that many seconds and retry: the same number is in the body as `detail.retry_after`, and the limit clears once that window passes. The message in the body names the limit that was hit.500 — Something broke on our side Retrying will not help. If it keeps happening, send us the X-Request-ID from the response headers.529 — Rate limit reached, or the endpoint is overloaded Wait at least 30 seconds, then retry.X-Error — Error message text (present only on error)X-Request-ID — Unique request identifierX-Execution-Time — Execution time in secondsX-Result-Count — How many records the body carries. 0 means an empty result, which is a normal answer and not by itself an error. A non-zero count can come back together with X-Error when the failure happened partway through — read this header and X-Error independently.X-Total-Available-Results — How many records exist for this query, when the endpoint can say. On a `dry_run` request this is the answer and the body is empty. It saturates: the endpoint's documented maximum means 'at least that many', any smaller number is exact.X-Warning — Present when the request body carried keys this endpoint does not document. They were ignored, so any filter you meant to apply through them did not apply. Check the spelling against this schema and retry.X-Retry-After — Seconds to wait before retrying. Present only on 429.