{
  "openapi": "3.0.1",
  "info": {
    "title": "Airdrop & Quest Tracker — Galxe Layer3 Zealy Live Campaigns",
    "description": "Scrapes live airdrop quests and campaigns on Galxe, Layer3, Zealy, and Guild.xyz with participant counts, reward type, deadlines, and eligibility. Never miss an airdrop. Track loyalty programs and incentive campaigns. PPE $0.002/campaign.",
    "version": "1.3",
    "x-build-id": "WYvJbe2pQxRY8nmFY"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/gochujang~airdrop-quest-tracker/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-gochujang-airdrop-quest-tracker",
        "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/gochujang~airdrop-quest-tracker/runs": {
      "post": {
        "operationId": "runs-sync-gochujang-airdrop-quest-tracker",
        "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/gochujang~airdrop-quest-tracker/run-sync": {
      "post": {
        "operationId": "run-sync-gochujang-airdrop-quest-tracker",
        "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": {
          "listType": {
            "title": "List Type",
            "enum": [
              "Trending",
              "Newest",
              "FeaturedNew",
              "Hot"
            ],
            "type": "string",
            "description": "Galxe campaign list to fetch.",
            "default": "Trending"
          },
          "statusFilter": {
            "title": "Status Filter",
            "enum": [
              "all",
              "Active",
              "NotStarted",
              "Expired"
            ],
            "type": "string",
            "description": "Only return campaigns with this status.",
            "default": "Active"
          },
          "chains": {
            "title": "Chain Filter",
            "type": "array",
            "description": "Only return campaigns mentioning these blockchain networks. E.g. [\"ethereum\", \"arbitrum\", \"solana\"]. Empty = no filter.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "rewardTypeFilter": {
            "title": "Reward Type",
            "enum": [
              "all",
              "Token",
              "NFT",
              "Mystery",
              "Discord"
            ],
            "type": "string",
            "description": "Filter by reward type. All = no filter.",
            "default": "all"
          },
          "limit": {
            "title": "Max Results",
            "minimum": 1,
            "maximum": 200,
            "type": "integer",
            "description": "Max campaigns to return.",
            "default": 50
          },
          "verifiedOnly": {
            "title": "Verified Spaces Only",
            "type": "boolean",
            "description": "Only return campaigns from Galxe-verified spaces (filters out new/unaudited projects).",
            "default": false
          },
          "spaceFilter": {
            "title": "Space (project) name filter",
            "type": "string",
            "description": "Case-insensitive substring match against space name. E.g. 'arbitrum' returns only Arbitrum-related campaigns. Empty = no filter.",
            "default": ""
          },
          "minParticipants": {
            "title": "Min Participants",
            "minimum": 0,
            "type": "integer",
            "description": "Skip campaigns with fewer participants than this (filters out brand-new/untested campaigns).",
            "default": 0
          },
          "keywordFilter": {
            "title": "Keyword Filter (name / description)",
            "type": "string",
            "description": "Case-insensitive substring search across campaign name and description. E.g. 'staking' returns only staking-related campaigns. Empty = no filter.",
            "default": ""
          },
          "endingSoonDays": {
            "title": "Ending Soon — max days remaining",
            "minimum": 0,
            "maximum": 90,
            "type": "integer",
            "description": "Only return campaigns ending within this many days (e.g. 3 = urgent, ending in ≤ 3 days). Leave empty or 0 to disable."
          },
          "sortBy": {
            "title": "Sort Results By",
            "enum": [
              "participants_desc",
              "days_remaining_asc",
              "days_remaining_desc",
              "newest",
              "priority_desc",
              "difficulty_asc"
            ],
            "type": "string",
            "description": "Sort order for the returned campaigns.",
            "default": "participants_desc"
          },
          "telegramBotToken": {
            "title": "Telegram Bot Token (for alerts)",
            "type": "string",
            "description": "Send matching campaigns to a Telegram chat. Leave empty to disable."
          },
          "telegramChatId": {
            "title": "Telegram Chat ID",
            "type": "string",
            "description": "Telegram chat/group ID to receive campaign alerts.",
            "default": ""
          },
          "webhookUrl": {
            "title": "Webhook URL (Slack / Discord / custom)",
            "type": "string",
            "description": "POST matching campaigns as JSON to this URL. Supports Slack, Discord, n8n, Zapier.",
            "default": ""
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}