# Crypto Airdrop & Quest Tracker - Galxe Campaigns API (`gochujang/airdrop-quest-tracker`) Actor

Track active and trending Web3 airdrop campaigns + quests on Galxe (the largest crypto quest platform). Returns participants count, days remaining, verified project status. Filter by list type (Trending/Hot/Newest).

- **URL**: https://apify.com/gochujang/airdrop-quest-tracker.md
- **Developed by:** [Hojun Lee](https://apify.com/gochujang) (community)
- **Categories:** Developer tools, Automation, Other
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-usage

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## Crypto Airdrop & Quest Tracker (Galxe)

> Track active and trending **Web3 airdrop campaigns + quests** on Galxe — the largest crypto quest platform. Spot high-participation campaigns before they peak. No API key required.

---

### What It Does

Pulls real-time campaigns from Galxe's GraphQL endpoint:

- Campaign **name**, **description**, **status** (Active / NotStarted / Expired)
- **Participants count** (how crowded the campaign is)
- **Start / end time** + **days_remaining**
- **Project info**: name, alias, logo, verified status
- Thumbnail

Filterable by list type (Trending / Newest / Hot / Featured), status, and limit.

---

### Why This Matters

Airdrop farming is one of the highest-ROI activities in crypto when done right. Galxe alone has distributed billions in token rewards to millions of users. The problem is **discovery**: by the time a quest is widely known, the airdrop allocation is diluted.

This Actor surfaces:
- **Trending now** — fast-moving campaigns with momentum
- **Newly listed** — first-mover advantage on high-allocation projects
- **Active campaigns** — your participation window before expiry
- **Verified-project signal** — filter for legit teams

Pair with your wallet ops bot for end-to-end airdrop farming automation.

---

### Input

| Field | Type | Default | Description |
|-------|------|---------|-------------|
| `listType` | string | `Trending` | `Trending`, `Newest`, `FeaturedNew`, `Hot` |
| `statusFilter` | string | `Active` | `Active`, `NotStarted`, `Expired`, `all` |
| `limit` | integer | `50` | Max campaigns (1–200) |

#### Example: Hottest active campaigns
```json
{"listType": "Hot", "statusFilter": "Active", "limit": 50}
````

#### Example: Upcoming campaigns to prepare for

```json
{"listType": "Newest", "statusFilter": "NotStarted", "limit": 30}
```

***

### Output

```json
{
  "campaign_id": "GC7NptZF1F",
  "name": "BSC DAILY <> AGENT4 PARTNERSHIP GIVEAWAY",
  "description": "Complete the daily quest to earn BNB rewards...",
  "status": "Active",
  "thumbnail": "https://...",
  "participants_count": 12450,
  "start_time": "2026-06-01T00:00:00+00:00",
  "end_time": "2026-06-05T00:00:00+00:00",
  "days_remaining": 1.5,
  "space_name": "BSC Daily",
  "space_alias": "bscdaily",
  "space_is_verified": true,
  "space_logo": "https://...",
  "galxe_url": "https://app.galxe.com/quest/bscdaily/GC7NptZF1F"
}
```

***

### Pricing

- **$0.002 per campaign returned**

Examples:

- Top 50 trending: **$0.10**
- Full 200-campaign sweep: **$0.40**

***

### Data Source

[Galxe GraphQL endpoint](https://graphigo.prd.galaxy.eco/query) — official, public, no auth required.

***

### Related Actors

- **[Smart Money Wallet Tracker](https://apify.com/gochujang/smart-money-tracker)** — Track wallets that historically farmed major airdrops.
- **[Token Unlock Calendar](https://apify.com/gochujang/token-unlock-calendar)** — Post-TGE vesting schedules for previously-airdropped tokens.
- **[Hyperliquid Whale Tracker](https://apify.com/gochujang/hyperliquid-whale-tracker)** — On-chain whale positioning after airdrops.

***

### Feedback

[Leave a review on Apify Store](https://apify.com/gochujang/airdrop-quest-tracker#reviews)

# Actor input Schema

## `listType` (type: `string`):

Galxe campaign list to fetch.

## `statusFilter` (type: `string`):

Only return campaigns with this status.

## `rewardTypeFilter` (type: `string`):

Filter by reward type. All = no filter.

## `limit` (type: `integer`):

Max campaigns to return.

## `verifiedOnly` (type: `boolean`):

Only return campaigns from Galxe-verified spaces (filters out new/unaudited projects).

## `spaceFilter` (type: `string`):

Case-insensitive substring match against space name. E.g. 'arbitrum' returns only Arbitrum-related campaigns. Empty = no filter.

## `minParticipants` (type: `integer`):

Skip campaigns with fewer participants than this (filters out brand-new/untested campaigns).

## Actor input object example

```json
{
  "listType": "Trending",
  "statusFilter": "Active",
  "rewardTypeFilter": "all",
  "limit": 50,
  "verifiedOnly": false,
  "spaceFilter": "",
  "minParticipants": 0
}
```

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {};

// Run the Actor and wait for it to finish
const run = await client.actor("gochujang/airdrop-quest-tracker").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {}

# Run the Actor and wait for it to finish
run = client.actor("gochujang/airdrop-quest-tracker").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{}' |
apify call gochujang/airdrop-quest-tracker --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=gochujang/airdrop-quest-tracker",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Crypto Airdrop & Quest Tracker - Galxe Campaigns API",
        "description": "Track active and trending Web3 airdrop campaigns + quests on Galxe (the largest crypto quest platform). Returns participants count, days remaining, verified project status. Filter by list type (Trending/Hot/Newest).",
        "version": "0.1",
        "x-build-id": "gYLEVgAaRKDXKf1sd"
    },
    "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"
                    },
                    "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
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
