{
  "openapi": "3.0.1",
  "info": {
    "title": "Facebook Hashtag Search Scraper by Creator Follower Filter",
    "description": "Facebook Hashtag Search Scraper by Creator Follower Filter extracts public Facebook posts by hashtag and filters results by creator follower count. Collect posts, creators, engagement metrics, media, hashtags, timestamps, and URLs for influencer discovery, market research, and trend analysis.",
    "version": "0.2",
    "x-build-id": "KU8G8tvLS4L76sNfC"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/scrapio~facebook-hashtag-search-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-scrapio-facebook-hashtag-search-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/scrapio~facebook-hashtag-search-scraper/runs": {
      "post": {
        "operationId": "runs-sync-scrapio-facebook-hashtag-search-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/scrapio~facebook-hashtag-search-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-scrapio-facebook-hashtag-search-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",
        "required": [
          "searchQueries"
        ],
        "properties": {
          "searchQueries": {
            "title": "🏷️ Hashtags to scan (bulk)",
            "type": "array",
            "description": "One or more Facebook hashtags to scan for posts — plain words (`football`, `travel`) or full hashtag URLs (`https://www.facebook.com/hashtag/football`). Every unique author found under these hashtags becomes a creator candidate. Example: [\"marketing\", \"startup\"].",
            "default": [
              "football"
            ],
            "items": {
              "type": "string"
            }
          },
          "maxItems": {
            "title": "📦 Posts to scan per hashtag",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "How many posts to read per hashtag before grouping/filtering creators. More posts = more unique creators discovered. Facebook caps a hashtag feed at roughly 200 posts. Default is 10.",
            "default": 10
          },
          "groupByCreator": {
            "title": "👥 One row per creator (group & dedupe)",
            "type": "boolean",
            "description": "When ON, collapse all posts by the same author into a single row and add `postCountUnderHashtag` (how many posts that creator published under the hashtag). When OFF, emit one row per post (each post still carries its enriched `creator` object). Default is false.",
            "default": false
          },
          "enrichCreatorStats": {
            "title": "📊 Enrich creator follower / category stats",
            "type": "boolean",
            "description": "Fetch each unique author's public Facebook page/profile and add follower count, page likes, category and a best-effort verified flag to the `creator` object. Adds one extra request per unique creator. Pages expose followers reliably; personal profiles often do not (null when unavailable). Default is true.",
            "default": true
          },
          "minFollowers": {
            "title": "🔢 Minimum follower threshold",
            "minimum": 0,
            "type": "integer",
            "description": "Keep only creators whose follower count is greater than or equal to this number. 0 disables the filter. Requires 'Enrich creator stats'. Creators with an unknown follower count are kept only when this is 0. Example: 5000 → shortlist accounts with 5k+ followers. Default is 0.",
            "default": 0
          },
          "verifiedOnly": {
            "title": "✔️ Verified creators only (best-effort)",
            "type": "boolean",
            "description": "Keep only creators whose page shows a verification signal. Best-effort: Facebook does not expose the blue badge cleanly on every logged-out page, so leave OFF unless you specifically need verified accounts. Default is false.",
            "default": false
          },
          "c_user": {
            "title": "🍪 c_user cookie",
            "type": "string",
            "description": "Your Facebook `c_user` cookie (numeric user ID). DevTools → Application → Cookies → www.facebook.com. Use a healthy, non-locked account. Leave blank if you use the combined 'Cookie string' field instead."
          },
          "fbCookie": {
            "title": "🔐 Cookie string (c_user=..; xs=..)",
            "type": "string",
            "description": "Alternative to the two fields above: paste your full Facebook cookie string containing `c_user=...` and `xs=...` (e.g. from DevTools → Network → Request Headers → cookie). If set, it overrides the individual c_user / xs fields. Kept secret."
          },
          "xs": {
            "title": "🔑 xs cookie (secret)",
            "type": "string",
            "description": "Your Facebook `xs` cookie (URL-encoded session token). DevTools → Application → Cookies → www.facebook.com. Grants access to your account — kept secret. Leave blank if you use the combined 'Cookie string' field instead."
          },
          "proxyConfiguration": {
            "title": "🌐 Proxy Configuration",
            "type": "object",
            "description": "By default the actor runs on a sticky residential IP (best fit for logged-in Facebook). If you configure a proxy here it is honoured but still pinned to a single sticky session for the whole run.",
            "default": {
              "useApifyProxy": 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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}