{
  "openapi": "3.0.1",
  "info": {
    "title": "Reddit Poster",
    "description": "Automate posting to Reddit! Create text posts, share links, and reply to threads.\n\nText Posts - Create discussion posts\nLink Posts - Share URLs\nImage Posts - Share images (via link)\nComments - Reply to existing threads\nFlair Selection - Apply post flair\nNSFW/Spoiler - Mark posts appropriately",
    "version": "1.1",
    "x-build-id": "Zlc9Dj71TokiV5y1s"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/alizarin_refrigerator-owner~reddit-poster/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-alizarin_refrigerator-owner-reddit-poster",
        "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/alizarin_refrigerator-owner~reddit-poster/runs": {
      "post": {
        "operationId": "runs-sync-alizarin_refrigerator-owner-reddit-poster",
        "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/alizarin_refrigerator-owner~reddit-poster/run-sync": {
      "post": {
        "operationId": "run-sync-alizarin_refrigerator-owner-reddit-poster",
        "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": {
          "username": {
            "title": "Reddit Username",
            "type": "string",
            "description": "Reddit username"
          },
          "password": {
            "title": "Password",
            "type": "string",
            "description": "Reddit password"
          },
          "cookies": {
            "title": "Cookies (JSON)",
            "type": "string",
            "description": "Exported cookies from logged-in session (recommended for accounts with 2FA)"
          },
          "subreddit": {
            "title": "Subreddit",
            "type": "string",
            "description": "Subreddit to post to (e.g., 'localSEO' or 'r/localSEO')"
          },
          "postType": {
            "title": "Post Type",
            "enum": [
              "text",
              "link",
              "image",
              "comment"
            ],
            "type": "string",
            "description": "Type of post to create",
            "default": "text"
          },
          "title": {
            "title": "Post Title",
            "maxLength": 300,
            "type": "string",
            "description": "Title for your post (required for text/link/image posts)"
          },
          "content": {
            "title": "Post Content",
            "type": "string",
            "description": "Text content for your post or comment"
          },
          "linkUrl": {
            "title": "Link URL",
            "type": "string",
            "description": "URL for link posts"
          },
          "imageUrl": {
            "title": "Image URL",
            "type": "string",
            "description": "URL of image to post (Note: Reddit may require file upload)"
          },
          "replyToUrl": {
            "title": "Reply To URL",
            "type": "string",
            "description": "URL of post/comment to reply to (required for comment type)"
          },
          "flair": {
            "title": "Flair",
            "type": "string",
            "description": "Post flair to apply (must match available flair in subreddit)"
          },
          "nsfw": {
            "title": "Mark as NSFW",
            "type": "boolean",
            "description": "Mark post as Not Safe For Work",
            "default": false
          },
          "spoiler": {
            "title": "Mark as Spoiler",
            "type": "boolean",
            "description": "Mark post as containing spoilers",
            "default": false
          },
          "timeout": {
            "title": "Timeout (seconds)",
            "minimum": 30,
            "maximum": 300,
            "type": "integer",
            "description": "Maximum time to wait for the operation to complete",
            "default": 120
          },
          "demoMode": {
            "title": "Demo Mode",
            "type": "boolean",
            "description": "Run in demo mode without real credentials. Returns mock success response for testing.",
            "default": true
          },
          "webhookUrl": {
            "title": "Webhook URL",
            "type": "string",
            "description": "URL to receive a POST request when the actor run finishes. Useful for integrations with Zapier, Make, n8n, or custom automation workflows."
          },
          "indexNowKey": {
            "title": "IndexNow API Key",
            "type": "string",
            "description": "Optional IndexNow API key for instant search engine indexing of posted content. Get your key at https://www.bing.com/indexnow"
          },
          "utmTracking": {
            "title": "UTM Tracking",
            "type": "object",
            "description": "Enable UTM tracking parameters on link post URLs for analytics. Default: { enabled: true } - will auto-add utm_source=reddit, utm_medium=social, utm_campaign=reddit_post_YYYYMMDD",
            "default": {
              "enabled": true
            }
          },
          "cookieStorageKey": {
            "title": "Cookie Manager Storage Key",
            "type": "string",
            "description": "Key in the KV store to load cookies from (created by Cookie Manager actor). If provided and no manual cookies are set, cookies will be loaded automatically from the KV store."
          },
          "cookieKvStoreName": {
            "title": "Cookie KV Store Name",
            "type": "string",
            "description": "Name of the Apify Key-Value store holding cookie sessions. Default: 'cookie-sessions'",
            "default": "cookie-sessions"
          }
        }
      },
      "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
                  }
                }
              },
              "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}