app.zeens.getPhotoFeed

zeens.app

Documentation

Retrieve a feed of Zeens photos with optional filters by camera, category, and engagement.

main query

Retrieve a feed of Zeens photos with optional filters by camera, category, and engagement.

Parameters

aiFilter string Optional

Filter by AI declaration: no-ai, ai-assisted, contains-ai.

cameraMake string Optional

Filter by camera manufacturer (e.g. Sony, Canon, Fujifilm).

cameraModel string Optional

Filter by camera model (e.g. A7R V, X-T5).

category string Optional

Filter by photography category (e.g. landscape, portrait, street).

cursor string Optional

Pagination cursor from previous response.

filmCamera string Optional

Filter by the hand-typed film body in postMeta.film.camera, matched exactly (case-insensitively). Distinct from cameraModel, which matches EXIF — on a film scan the EXIF describes the scanner, so a film body only ever appears here.

filmLens string Optional

Filter by the hand-typed film lens in postMeta.film.lens, matched exactly (case-insensitively). Distinct from `lens`, which matches EXIF with a substring.

lens string Optional

Filter by lens model substring match.

limit integer Optional

Maximum number of results to return.

sort string Optional

Sort order. Default is reverse-chronological. 'popular' ranks by like count within the optional window. 'relevant' ranks keyword matches by where the term hit (text > alt > location > categories > exif) and applies only when 'keyword' is set.

Output

Encodingapplication/json
Try It

Requests are sent directly from your browser. Some servers may block requests due to CORS.

Base URL for XRPC calls (e.g., https://api.bsky.social)
Parameters
Filter by AI declaration: no-ai, ai-assisted, contains-ai.
Filter by camera manufacturer (e.g. Sony, Canon, Fujifilm).
Filter by camera model (e.g. A7R V, X-T5).
Filter by photography category (e.g. landscape, portrait, street).
Pagination cursor from previous response.
Filter by the hand-typed film body in postMeta.film.camera, matched exactly (case-insensitively). Distinct from cameraModel, which matches EXIF — on a film scan the EXIF describes the scanner, so a film body only ever appears here.
Filter by the hand-typed film lens in postMeta.film.lens, matched exactly (case-insensitively). Distinct from `lens`, which matches EXIF with a substring.
Filter by lens model substring match.
Maximum number of results to return.
Sort order. Default is reverse-chronological. 'popular' ranks by like count within the optional window. 'relevant' ranks keyword matches by where the term hit (text > alt > location > categories > exif) and applies only when 'keyword' is set.
View raw schema
{
  "description": "Retrieve a feed of Zeens photos with optional filters by camera, category, and engagement.",
  "output": {
    "encoding": "application/json"
  },
  "parameters": {
    "properties": {
      "aiFilter": {
        "description": "Filter by AI declaration: no-ai, ai-assisted, contains-ai.",
        "knownValues": [
          "no-ai",
          "ai-assisted",
          "contains-ai"
        ],
        "type": "string"
      },
      "cameraMake": {
        "description": "Filter by camera manufacturer (e.g. Sony, Canon, Fujifilm).",
        "type": "string"
      },
      "cameraModel": {
        "description": "Filter by camera model (e.g. A7R V, X-T5).",
        "type": "string"
      },
      "category": {
        "description": "Filter by photography category (e.g. landscape, portrait, street).",
        "type": "string"
      },
      "cursor": {
        "description": "Pagination cursor from previous response.",
        "type": "string"
      },
      "filmCamera": {
        "description": "Filter by the hand-typed film body in postMeta.film.camera, matched exactly (case-insensitively). Distinct from cameraModel, which matches EXIF — on a film scan the EXIF describes the scanner, so a film body only ever appears here.",
        "type": "string"
      },
      "filmLens": {
        "description": "Filter by the hand-typed film lens in postMeta.film.lens, matched exactly (case-insensitively). Distinct from `lens`, which matches EXIF with a substring.",
        "type": "string"
      },
      "lens": {
        "description": "Filter by lens model substring match.",
        "type": "string"
      },
      "limit": {
        "default": 50,
        "description": "Maximum number of results to return.",
        "maximum": 100,
        "minimum": 1,
        "type": "integer"
      },
      "sort": {
        "description": "Sort order. Default is reverse-chronological. 'popular' ranks by like count within the optional window. 'relevant' ranks keyword matches by where the term hit (text > alt > location > categories > exif) and applies only when 'keyword' is set.",
        "knownValues": [
          "popular",
          "relevant"
        ],
        "type": "string"
      }
    },
    "type": "params"
  },
  "target_collection": "app.zeens.postMeta",
  "type": "query"
}

Lexicon Garden

@