API reference

GIFs

1 endpoint, served at https://orbitwrite.com/api/v1. Each one lists the credentials it accepts, its parameters and every response it can give.

Search GIFs#

GET/api/v1/gifs/search

Searches GIPHY and returns a normalised result shape ready to attach to a post. With no q, returns what's trending. Results are rated pg-13. Anywhere these render must show a 'Powered by GIPHY' attribution.

Authentication

An API key or OAuth access token as a bearer token, or a signed-in session.

Query parameters

qstring

Search terms. Omit or leave empty for trending GIFs.

At most 200 characters.

limitinteger

Between 1 and 50. Defaults to 24.

offsetinteger | null

Pagination cursor — pass the next from a prior page.

Between 0 and 4999. Defaults to 0.

Responses

200GifSearchResults

Matching GIFs

Response attributes
resultsGif[]Required
Child attributes
idstringRequired
descriptionstringRequired
previewUrlstringRequired

Small, fast variant for grid rendering.

previewWidthintegerRequired
previewHeightintegerRequired
gifUrlstringRequired

Standard-resolution GIF to attach to a post. Attach this URL directly — Orbitwrite does not re-host it, which keeps sourceUrl intact for adapters that embed rather than upload.

gifWidthintegerRequired
gifHeightintegerRequired
gifBytesinteger
mp4Urlstring

MP4 alternative where GIPHY provides one. Platforms that publish GIFs as video (X, LinkedIn, Threads) need this to animate.

nextstring

Offset to pass as offset for the next page. Absent when there are no more results.

400Error

Invalid request

Response attributes
errorstringRequired
issuesany[]
401Error

Not signed in

Response attributes
errorstringRequired
issuesany[]
429Error

Rate limit exceeded

Response attributes
errorstringRequired
issuesany[]
502Error

An upstream provider failed

Response attributes
errorstringRequired
issuesany[]
503Error

GIF search is not configured on this deployment

Response attributes
errorstringRequired
issuesany[]
GET /api/v1/gifs/search
curl -X GET "https://orbitwrite.com/api/v1/gifs/search" \
  -H "Authorization: Bearer $ORBITWRITE_API_KEY"
Response
{
  "results": [
    {
      "id": "string",
      "description": "string",
      "previewUrl": "string",
      "previewWidth": 0,
      "previewHeight": 0,
      "gifUrl": "string",
      "gifWidth": 0,
      "gifHeight": 0,
      "gifBytes": 0,
      "mp4Url": "string"
    }
  ],
  "next": "string"
}