{
  "openapi": "3.0.1",
  "info": {
    "title": "Pixelfed Creator Post Monitor - Public Feeds and Changes",
    "description": "Monitor opt-in public Pixelfed creator feeds for captions, media links and saved post changes. Filter literal topics and dates. Bounded visible feed windows; no login or media downloads.",
    "version": "1.0",
    "x-build-id": "4Y2iXW5XdQsDcSv1h"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/maydit~pixelfed-creator-post-monitor/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-maydit-pixelfed-creator-post-monitor",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/maydit~pixelfed-creator-post-monitor/runs": {
      "post": {
        "operationId": "runs-sync-maydit-pixelfed-creator-post-monitor",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/maydit~pixelfed-creator-post-monitor/run-sync": {
      "post": {
        "operationId": "run-sync-maydit-pixelfed-creator-post-monitor",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "feedUrls": {
            "title": "Public creator Atom feeds",
            "type": "array",
            "description": "Up to 20 explicit HTTPS URLs in the form https://instance.example/users/username.atom. Empty or omitted uses the official Pixelfed profile. Feeds must be public and enabled by the creator. No credentials, query strings, private IPs or redirect to another profile. Instance robots rules and Crawl-delay apply.",
            "items": {
              "type": "string"
            }
          },
          "keywords": {
            "title": "Caption or title keywords",
            "type": "array",
            "description": "Up to 30 case-insensitive literal phrases, OR within the list. Search only the exposed title and caption; empty matches all. Matching evidence is returned. No semantic, image-content or whole-network search.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "updatedFrom": {
            "title": "Feed timestamp from",
            "type": "string",
            "description": "Optional inclusive YYYY-MM-DD in UTC, applied to the entry's Atom updated field. Current Pixelfed fills that field with created_at; this is not a reliable last-edit date."
          },
          "updatedTo": {
            "title": "Feed timestamp through",
            "type": "string",
            "description": "Optional inclusive YYYY-MM-DD in UTC. Must be on or after updatedFrom. Applies only to the visible feed window."
          },
          "maxPostsPerFeed": {
            "title": "Visible posts to inspect per feed",
            "minimum": 1,
            "maximum": 100,
            "type": "integer",
            "description": "Take this many usable posts in publisher order before keyword/date filtering. Current Pixelfed source exposes at most 10; increasing this cannot recover older posts. This is a requested window, not archive pagination.",
            "default": 10
          },
          "maxResults": {
            "title": "Maximum saved observations",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "Stop after this many confirmed saved rows across the supplied feeds, in feed input order and then publisher order. Unchanged skipped rows do not consume the cap. A chosen cap is a normal bounded run, not complete archive coverage.",
            "default": 20
          },
          "comparePrevious": {
            "title": "Compare with saved history",
            "type": "boolean",
            "description": "Use a named store scoped to this feed set, filters, window and snapshotName. First observations are returned as new and enter history only after confirmed dataset saves. Use one writer per scope; source feed caching can delay observed changes.",
            "default": false
          },
          "onlyChanges": {
            "title": "Only new or changed observations",
            "type": "boolean",
            "description": "Implies comparison. The first run emits matching observations and warns that it establishes history. Later unchanged observations are skipped. New means new to this saved history, not necessarily newly published. No deletion or disappearance inference.",
            "default": false
          },
          "snapshotName": {
            "title": "History namespace",
            "type": "string",
            "description": "1-80 letters, numbers, underscores or hyphens. Change it to establish a separate baseline. Existing saved history is preserved when a feed fails or rows cannot be saved.",
            "default": "default"
          },
          "maxRunSeconds": {
            "title": "Own time budget in seconds",
            "minimum": 30,
            "maximum": 3600,
            "type": "integer",
            "description": "Every request, retry and Crawl-delay fits this deadline and the platform deadline minus 25 seconds. SUMMARY reports partial coverage on time, source or spending limits.",
            "default": 240
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}