CryptoRank APIcryptorank.io ↗
Access CryptoRank airdrop and drophunting data via API. List activities, filter by type and status, get task details, and fetch dashboard stats.
What is the CryptoRank API?
This API exposes 4 endpoints covering CryptoRank's drophunting section, giving you structured access to airdrop and incentive campaign data. The list_activities endpoint returns paginated activity listings with project info, funding details, ratings, and status fields. You can pull full task instructions and ecosystem data per activity, retrieve filter metadata for valid parameter values, and fetch a live dashboard summary including hot events and upcoming reward dates.
curl -X GET 'https://api.parse.bot/scraper/3888881d-79db-46c9-8892-13115f4f0ab6/list_activities?order_by=STATUS_UPDATE&order_direction=ASC' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace cryptorank-io-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: CryptoRank Drophunting SDK — bounded, re-runnable."""
from parse_apis.cryptorank_io_api import (
CryptoRank, SortField, SortDirection, ActivityNotFound,
)
client = CryptoRank()
# Browse top-rated activities, capped at 5 total items.
for summary in client.activity_summaries.list(
order_by=SortField.RATING, order_direction=SortDirection.DESC, limit=5
):
print(summary.project_name, summary.rating, summary.status)
# Drill into the first confirmed activity for full detail.
top = client.activity_summaries.list(
order_by=SortField.RATING, order_direction=SortDirection.DESC, limit=1
).first()
if top is not None:
# Navigate from summary to full detail via typed method.
try:
detail = top.details()
except ActivityNotFound:
print("Activity was removed:", top.key)
else:
print(detail.project_name, detail.category, detail.short_description[:80])
for task in detail.tasks:
print(" -", task.title, task.type, task.status)
# Dashboard overview — hot events and upcoming rewards.
dash = client.dashboard.get()
print("New activities:", dash.current_activity_overview.new_activities)
for reward in dash.next_rewards[:3]:
print("Upcoming:", reward.project_name, reward.distribute_date)
print("exercised: activity_summaries.list / details / dashboard.get")
List drophunting activities (active or archived) with pagination and optional filters by activity type, status, and reward type. Supports sorting by status update date, rating, or creation date. Returns up to 100 items per page; use offset to paginate through all results. The total_count field reflects the filtered result set size. Each activity includes project metadata, funding info, cost/time estimates, and twitter scores. Some activities are auth-protected and show limited data (is_auth_protected=true).
| Param | Type | Description |
|---|---|---|
| limit | integer | Number of activities per page (1-100). |
| offset | integer | Pagination offset (0-based). |
| status | string | Comma-separated status values to filter by (e.g. 'CONFIRMED,POTENTIAL'). |
| order_by | string | Field to sort by. |
| is_archive | boolean | If true, returns archived/distributed activities instead of active ones. |
| reward_type | string | Comma-separated reward type keys to filter by (e.g. 'airdrop,points'). Available keys from get_filters endpoint. |
| activity_type | string | Comma-separated activity type keys to filter by (e.g. 'testnet,social'). Available keys from get_filters endpoint. |
| order_direction | string | Sort direction. |
{
"type": "object",
"fields": {
"limit": "page size used",
"offset": "offset used",
"activities": "array of activity objects with project info, status, funding, scores",
"is_archive": "whether archive listing was returned",
"total_count": "total number of activities matching filters"
},
"sample": {
"limit": 20,
"offset": 0,
"activities": [
{
"key": "mint-casino-activity1247",
"rating": 18,
"status": "CONFIRMED",
"funding": {
"total_raise": null,
"top_investors": [],
"investor_count": 0
},
"cost_usd": 30,
"logo_url": "https://images.cryptorank.io/coins/60x60.mint1784647457970.png",
"check_link": null,
"created_at": "2026-07-21T18:00:37.884Z",
"project_key": "mint-casino",
"reward_type": "Airdrop",
"project_name": "MINT",
"time_minutes": 10,
"link_to_claim": null,
"twitter_score": 134,
"activity_types": [
"Bounty Platforms",
"Gaming",
"Predictions"
],
"no_active_task": false,
"project_symbol": "MNTD",
"activity_points": 0,
"is_auth_protected": false,
"status_updated_at": "2026-08-15T10:50:00.212Z",
"twitter_followers": null
}
],
"is_archive": false,
"total_count": 743
}
}About the CryptoRank API
Activity Listings and Filtering
The list_activities endpoint returns up to 100 activity objects per page, each carrying project info, current status, funding data, and scores. Pagination is controlled via limit and offset. You can narrow results using status (e.g. CONFIRMED,POTENTIAL), reward_type (e.g. airdrop,points), and activity_type (e.g. testnet,social). The is_archive flag switches the response between active campaigns and distributed/closed ones. The order_by and order_direction parameters control sort order across status update date, rating, or creation date.
Filter Metadata
Before querying list_activities, call get_filters to retrieve valid filter keys. It returns activity_types with per-type counts, reward_types, statuses, and sort_options — each with the key string you pass as a filter parameter. Pass is_archive: true to get the equivalent metadata for the archive table.
Activity Detail
The get_activity_detail endpoint takes an activity_key from list_activities and returns the full record: a tasks array with per-task title, status, types, dates, and description_html; an ecosystems array; links grouped by type (web, twitter, discord, telegram); category, life_cycle, cost_usd, logo_url, rating, and coin_key. This is the primary source for task-level instructions and official project links.
Dashboard Overview
get_dashboard requires no parameters and returns three objects: current_activity_overview with counts for new activities, confirmed awards, and rewards to check; next_rewards listing upcoming distribution dates with distribute_date, link_to_claim, and project_name; and hot_events with trending activities including views, total_raise, and top_funds.
The CryptoRank API is a managed, monitored endpoint for cryptorank.io — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when cryptorank.io changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official cryptorank.io API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build an airdrop tracker that surfaces newly confirmed activities using
list_activitiesfiltered bystatus=CONFIRMED - Alert users to upcoming token distributions by polling
next_rewardsfromget_dashboard - Aggregate task completion requirements across active campaigns using
tasksfromget_activity_detail - Rank campaigns by funding round size using
total_raiseinhot_eventsfromget_dashboard - Segment airdrop opportunities by ecosystem (Layer 1, Layer 2, etc.) using the
ecosystemsfield in activity detail - Archive analysis: compare distributed airdrop counts and types using
is_archive=trueonlist_activities - Auto-categorize campaigns by
activity_typeandreward_typeusing valid keys fromget_filters
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does CryptoRank have an official public developer API?+
What does `get_activity_detail` return that `list_activities` does not?+
list_activities returns summary-level fields like status, rating, and funding. get_activity_detail adds the full tasks array (with per-task description_html, types, and dates), ecosystems, life_cycle, cost_usd, logo_url, and links grouped by platform type (web, twitter, discord, telegram). You need the activity_key from a list response to call the detail endpoint.What is the pagination limit for `list_activities`?+
limit parameter accepts values from 1 to 100. To retrieve all matching activities beyond the first page, increment offset by your chosen limit until the returned array length is less than limit or offset exceeds total_count.