{
  "openapi": "3.0.1",
  "info": {
    "title": "Facebook Albums Scraper⚡",
    "description": "Facebook Albums Scraper returns album count, album details, album id, album item count text, album request details, album title, album url, cover image url, image url, number, profile url, source input, source type, thumbnail url, type for every row.",
    "version": "1.0",
    "x-build-id": "guElwzVm0YMnkN8sv"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/premiumscraper~facebook-albums-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-premiumscraper-facebook-albums-scraper",
        "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/premiumscraper~facebook-albums-scraper/runs": {
      "post": {
        "operationId": "runs-sync-premiumscraper-facebook-albums-scraper",
        "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/premiumscraper~facebook-albums-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-premiumscraper-facebook-albums-scraper",
        "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": "Facebook usernames",
            "type": "array",
            "description": "Facebook usernames like Cristiano or nike.",
            "items": {
              "type": "string"
            }
          },
          "facebook_urls": {
            "title": "Facebook profile/page URLs or direct album links",
            "type": "array",
            "description": "Facebook Page/Profile URLs or direct album links (e.g. https://www.facebook.com/media/set/?set=a.322648365888377&type=3). Direct album links require 'Include direct album ($)' to be turned on.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "max_albums_per_profile": {
            "title": "Albums per profile limit",
            "minimum": 1,
            "type": "integer",
            "description": "Maximum number of unique albums to collect for each profile/page. This limit never creates duplicate albums. If you request more than the profile exposes publicly, the actor stops at the available album count and reports requested vs returned counts in logs and output.",
            "default": 10
          },
          "include_direct_album": {
            "title": "Include direct album ($)",
            "type": "boolean",
            "description": "Turn on to scrape direct album links (e.g. https://www.facebook.com/media/set/?set=a.XXX&type=3). Extra charge per direct album link scraped. When off, direct album links are skipped.",
            "default": false
          },
          "include_album_photos": {
            "title": "Include photos per album ($)",
            "type": "boolean",
            "description": "Turn on to scrape individual photos from each album. Photos appear as a nested list under their source album row. Extra charge per returned album photo.",
            "default": false
          },
          "photos_per_album": {
            "title": "Photos per album limit",
            "minimum": 1,
            "type": "integer",
            "description": "How many photos to scrape from each album when 'Include photos per album ($)' is turned on. This limit applies to every album source: usernames, profile/page URLs, and direct album links.",
            "default": 10
          },
          "include_album_comments": {
            "title": "Include album comments ($)",
            "type": "boolean",
            "description": "Turn on to scrape public comments for each album when Facebook exposes them. Extra charge per returned public comment. Some albums do not expose public comments.",
            "default": false
          },
          "comments_limit": {
            "title": "Comments per album limit",
            "minimum": 1,
            "type": "integer",
            "description": "How many public top-level comments to scrape from each album when 'Include album comments ($)' is turned on.",
            "default": 10
          },
          "comment_filter": {
            "title": "Comment ordering",
            "enum": [
              "most_relevant",
              "newest",
              "all_comments"
            ],
            "type": "string",
            "description": "Comment filter mode for album comments. The actor only returns comments for albums where Facebook exposes public comments for the selected filter.",
            "default": "most_relevant"
          },
          "keyValueStorePrefix": {
            "title": "🏷️ Key-Value Store Name / Prefix",
            "type": "string",
            "description": "Enter a custom Key-Value Store Name (e.g. `Cristiano` or `my-store_1`). ⚠️ RULES: Only letters (a-z, A-Z), numbers (0-9), hyphens (-) and underscores (_), max 63 characters. Leave empty to use the default unnamed store."
          },
          "storePhotos": {
            "title": "📸 Store Photos in Storage ($)",
            "type": "boolean",
            "description": "If ON, each photo is saved to Apify Key-Value Storage and a permanent, non-expiring download URL is added to the row. Extra charge per photo successfully saved to storage.",
            "default": false
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}