fetchproof.

/v1/cosmos/search

GET

Search

Search public Cosmos posts by keyword. Cosmos may return related posts even when there is no exact keyword match.

Credit cost

Default: 1 credit

How charges are determined

Cost is decided per call, not per endpoint: the same operation can cost different amounts depending on what it returns.

A call that fails costs 0 credits. A result served from cache costs 0 credits.

`default` is the cost when no rule matches. Rules are evaluated in order and the first whose conditions all hold wins.

A `when` condition is one of: `param` (the request parameter is true), `outcome` (the classifier's outcome), `empty` / `nonEmpty` (a response field is empty and absent, or a non-empty array or string), `flag` (a response field is exactly true).

A cost of `{ perStartedMinute: n, of: [fields] }` is n x max(1, ceil(seconds / 60)), so even a short result bills at least one minute.

Cache supportNot specified in the published contract.
PaginationNo explicit pagination metadata in the published contract. Consult the parameters and response fields below.

Parameters

NameLocation / requiredSchema
query

Search text.

query / required

string

cursor

Pass the previous response cursor unchanged. Stop when it is null; sending the literal string "null" returns an empty terminal page without fetching or charging.

query / optional

string

Request examples

Replace placeholder values and supply your own API key. For operations with a request body, populate the body using the schema above.

cURL
curl --request GET 'https://api.fetchproof.com/v1/cosmos/search?query=YOUR_QUERY' \
  --header 'x-api-key: YOUR_API_KEY'
JavaScript
const response = await fetch("https://api.fetchproof.com/v1/cosmos/search?query=YOUR_QUERY", {
  method: 'GET',
  headers: { 'x-api-key': process.env.FETCHPROOF_API_KEY }
});
console.log(await response.text());
Python
import os
import requests

response = requests.get("https://api.fetchproof.com/v1/cosmos/search?query=YOUR_QUERY",
    headers={"x-api-key": os.environ["FETCHPROOF_API_KEY"]})
print(response.text)

Responses

200Success. Envelope: success / credits_remaining / credits_charged.

application/json

object

successrequired

boolean

credits_remainingrequired

integer

credits_chargedrequired

integer

itemsrequired

array

Array items

object

idrequired

integer

urlrequired

string

created_atrequired

string

{
  "format": "date-time"
}
captionrequired

string

textrequired

null

titlerequired

null

descriptionrequired

null

ownerrequired

object

idrequired

integer

usernamerequired

string

source_urlrequired

string

source_authorrequired

object

usernamerequired

string

full_namerequired

string

profile_urlrequired

string

avatar_urlrequired

null

mediarequired

array

Array items

object

idrequired

string

typerequired

string

urlrequired

string

widthrequired

integer

heightrequired

integer

ai_generatedrequired

boolean

durationrequired

integer

thumbnail_urlrequired

string

video_urlrequired

string

playback_urlrequired

string

pricerequired

null

brandrequired

null

cursorrequired

string

has_morerequired

boolean

result_countrequired

integer

401Invalid or missing x-api-key
402No credits remaining
403Upstream denied (age gate, audience controls)
404Resource or endpoint not found
429Rate limited