# Crypto Price Scraper — Live Prices, Trending & Market Data (`thriftykiwi/crypto-price-scraper`) Actor

Get live cryptocurrency prices, market data, trending coins, and search from CoinGecko. No API key required — uses CoinGecko's free public API. Supports top markets by cap, trending coins, specific coin prices, and coin search.

- **URL**: https://apify.com/thriftykiwi/crypto-price-scraper.md
- **Developed by:** [Thrifty Kiwi](https://apify.com/thriftykiwi) (community)
- **Categories:** E-commerce
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$5.00 / 1,000 result items

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — 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

## Bluesky Scraper — Search Posts, Profiles, Followers & Threads

⚡ **Zero authentication required** — extracts public Bluesky data via the official AT Protocol API. No proxies, no cookies, no rate limits for public endpoints.

### Quick Start

1. Pick a **mode**: Search posts by keyword, get a profile, followers, follows, author feed, or a post thread.
2. Enter your input — a search query, Bluesky handle, or post URI.
3. Click **Start** and get structured JSON in seconds.

#### Example: Search for posts about AI

```json
{
  "mode": "search",
  "query": "artificial intelligence",
  "limit": 50
}
```

#### Example: Get a user's profile

```json
{
  "mode": "profile",
  "handle": "bsky.app"
}
```

#### Example: Get followers of an account

```json
{
  "mode": "followers",
  "handle": "bsky.app",
  "limit": 200
}
```

### Features

- **6 scraping modes**: Search, Profile, Followers, Follows, Author Feed, Thread
- **No auth needed** — all data is public via Bluesky's official API
- **No proxy required** — direct API access, fast and reliable
- **Pagination** — handles cursors automatically for large result sets
- **Structured JSON** — clean, consistent output schema
- **Thread replies** — fetch entire conversations with configurable depth

### Output Fields

#### Search / Author Feed / Thread posts:

| Field | Description |
|-------|-------------|
| `uri` | AT Protocol URI of the post |
| `author_handle` | Bluesky handle (e.g. `user.bsky.social`) |
| `author_displayName` | Display name |
| `text` | Post content |
| `createdAt` | When the post was created |
| `replyCount` | Number of replies |
| `repostCount` | Number of reposts |
| `likeCount` | Number of likes |
| `quoteCount` | Number of quote posts |
| `has_image` | Whether the post contains embedded images |
| `langs` | Detected languages |

#### Profile:

| Field | Description |
|-------|-------------|
| `handle` | Bluesky handle |
| `displayName` | Display name |
| `description` | Bio text |
| `followersCount` | Follower count |
| `followsCount` | Following count |
| `postsCount` | Total posts |
| `avatar` | Avatar URL |
| `banner` | Banner image URL |
| `indexedAt` | When the profile was indexed |

### Use Cases

- **Brand monitoring** — Track mentions of your brand, product, or competitors
- **Influencer research** — Find and analyze creators by follower count and content
- **Social listening** — Monitor trends, hashtags, and conversations
- **Academic research** — Study decentralized social networks and content propagation
- **Content migration** — Export your own posts and threads
- **Lead generation** — Find potential customers discussing relevant topics

### Why This Scraper?

Bluesky has grown to **50M+ users** and the AT Protocol is designed to be open and accessible. Other Bluesky scrapers either require authentication, use slow browser automation, or have confusing inputs. This scraper:

- Uses the **fast public API** — no browser overhead
- **No sign-up required** on Bluesky to use
- **Clean defaults** — click "Start" with the default inputs and get real results immediately
- **All 6 modes in one Actor** — no need to switch between different scrapers

### Pricing

This Actor uses **Pay-Per-Event** pricing. You only pay for results returned, not for API calls or pagination overhead.

### About the Publisher

Built by [Thrifty Kiwi](https://apify.com/thriftykiwi), an Apify Creator publishing high-quality, zero-hassle data extraction tools.

# Actor input Schema

## `mode` (type: `string`):

What data to fetch.

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

Maximum number of coins to return (1-250).

## `currency` (type: `string`):

Currency for prices (usd, eur, nzd, etc).

## `query` (type: `string`):

Coin name or symbol to search for (only used in 'search' mode).

## `coinIds` (type: `string`):

Comma-separated CoinGecko coin IDs for price lookup (only used in 'prices' mode). Example: bitcoin,ethereum,solana

## Actor input object example

```json
{
  "mode": "top_markets",
  "limit": 50,
  "currency": "usd",
  "query": "bitcoin",
  "coinIds": "bitcoin,ethereum"
}
```

# 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 = {
    "currency": "usd",
    "query": "bitcoin",
    "coinIds": "bitcoin,ethereum"
};

// Run the Actor and wait for it to finish
const run = await client.actor("thriftykiwi/crypto-price-scraper").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 = {
    "currency": "usd",
    "query": "bitcoin",
    "coinIds": "bitcoin,ethereum",
}

# Run the Actor and wait for it to finish
run = client.actor("thriftykiwi/crypto-price-scraper").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 '{
  "currency": "usd",
  "query": "bitcoin",
  "coinIds": "bitcoin,ethereum"
}' |
apify call thriftykiwi/crypto-price-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=thriftykiwi/crypto-price-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/acts/fVycEhaDgHhPYAdha/builds/3NRdXTQo9uEhTsSCD/openapi.json
