# HobbyDB Funko Pop Price Guide Scraper (`crawlerbros/hobbydb-funko-pop-price-guide`) Actor

Scrape hobbyDB's Pop Price Guide - search Funko Pop! figures by name/character, browse by license/franchise, and get estimated collector values, current lowest marketplace prices, release info, and images.

- **URL**: https://apify.com/crawlerbros/hobbydb-funko-pop-price-guide.md
- **Developed by:** [Crawler Bros](https://apify.com/crawlerbros) (community)
- **Categories:** E-commerce, Automation, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.00 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

## 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

## HobbyDB Funko Pop Price Guide Scraper

Scrape hobbyDB's Pop Price Guide — the largest independent Funko Pop! vinyl figure database. Search figures by name or character, browse full license/franchise categories (Marvel, Star Wars, Disney, anime, and more), and get estimated collector values, current lowest marketplace asking prices, release info, and images. HTTP-only via hobbyDB's public JSON API. No login, no cookies, no paid proxy required.

### What this actor does

- **Two modes:** `search` (by figure/character name) and `browse` (by license/franchise category)
- **28 real hobbyDB Pop! categories** — Marvel, Star Wars, Disney, Animation, Movies, Television, Heroes (DC), Games, Harry Potter, WWE, and more, sourced directly from hobbyDB's own Pop! Vinyl taxonomy
- **Collector pricing:** estimated Mint-condition value, value range, cheapest current listing, and lowest marketplace ask
- **Edition/variant filter:** Standard, Chase, Retailer Exclusive, Set Exclusive, Convention Exclusive, Glow-in-the-Dark, Autographed, Limited Edition, Deluxe, Error/Variant Misprint, Prototype, Regional Exclusive — matched against hobbyDB's own structured edition taxonomy when available, with a text-based fallback
- **Price range filter:** min/max estimated value
- **Empty fields are omitted**

### Output per figure

- `funkoPopId`, `name`, `akaName` — alternate/box name
- `editionDetail` — variant text as catalogued by hobbyDB (e.g. "SDCC 2018 Exclusive")
- `productionStatus[]` — hobbyDB's own structured edition tags for this figure (e.g. `["Autographed", "Exclusive"]`), when catalogued
- `categoryType` — hobbyDB product-type bucket (e.g. "Art Toys", "Keychains")
- `series[]` — Funko series lineage (e.g. `["Pop! Vinyl", "Pop! Marvel"]`)
- `description`
- `brand` — always "Funko"
- `relatedSubjects[]` — franchises/characters/events tied to this figure
- `exclusiveTo[]` — retailer/convention exclusivity
- `refNumber` — Funko's official Pop! number
- `manufacturerId`
- `releaseDateFrom`, `releaseDateTo`
- `autographedBy`
- `estimatedValue`, `estimatedValueRangeLow`, `estimatedValueRangeHigh` — hobbyDB collector price guide (`priceGuideCondition` notes the condition basis, typically `mint`)
- `lowestListedPrice`, `cheapestSubvariantPrice` — current marketplace asking prices
- `forSaleCount` — number of active marketplace listings
- `avgRating`, `variantsCount`, `subvariantsCount`
- `imageUrl`, `thumbnailUrl`
- `sourceUrl`, `forSaleUrl`, `priceGuideUrl`
- `recordType: "funkoPop"`, `scrapedAt`

### Input

| Field | Type | Default | Description |
|---|---|---|---|
| `mode` | string | `search` | `search` or `browse` |
| `searchQuery` | string | `batman` | Figure/character name (mode=search) |
| `category` | string | `marvel` | One of 28 Pop! categories (mode=browse) |
| `editionType` | string | `any` | Edition/variant filter |
| `minPrice` | int | – | Drop figures below this estimated value (USD) |
| `maxPrice` | int | – | Drop figures above this estimated value (USD) |
| `maxItems` | int | `30` | Hard cap (1–1000) |

#### Example: search by character

```json
{ "mode": "search", "searchQuery": "pikachu", "maxItems": 20 }
````

#### Example: browse a franchise category with a price ceiling

```json
{ "mode": "browse", "category": "star_wars", "maxPrice": 50, "maxItems": 100 }
```

#### Example: convention exclusives only

```json
{ "mode": "browse", "category": "marvel", "editionType": "convention_exclusive", "maxItems": 50 }
```

### Use cases

- **Collector tools** — build a personal Funko Pop collection tracker with real price-guide values
- **Price monitoring** — track estimated values and marketplace lows for specific figures over time
- **Marketplace research** — compare franchise-wide pricing (e.g. which Marvel Pops hold value best)
- **Content/community sites** — power a searchable Funko Pop database or wishlist tool
- **Investment analysis** — identify rare/exclusive editions trending upward in value

### Data source / limitations

- Data comes from hobbyDB's public `poppriceguide` JSON API (`hobbydb.com/api/...`), the same endpoints hobbyDB's own website calls — no scraping of rendered HTML pages is needed for the data itself.
- **Search resolution:** hobbyDB's name search isn't relevance-ranked across its full 1M+ item cross-brand toy database, so `mode=search` first resolves your query to hobbyDB's closest matching cataloged character/franchise subject, then browses that subject's Funko Pop figures. For very generic or ambiguous names this may resolve to a specific related entry (e.g. a particular alter ego) rather than the single most famous version — the figures returned are always genuinely related to your query, just occasionally narrower in scope than the broadest possible match.
- **Condition / grading:** hobbyDB's physical marketplace listings (used, mint, box-damage grading on individual for-sale copies) sit behind a human-verification and sign-in wall and are not part of hobbyDB's free, publicly reachable API. `editionType` filters on the figure's own catalogued **edition/variant** (Standard, Chase, Exclusive, etc.) instead — the closest genuinely free, populated equivalent — rather than physical condition grading. Where hobbyDB catalogues a figure's structured `productionStatus` tags (Standard/Chase/Exclusive/Set Exclusive/Autographed/Limited Edition/Deluxe/Error/Prototype/Regional), the filter matches against that canonical taxonomy directly; Convention Exclusive and Glow-in-the-Dark have no dedicated tag of their own, so those two match against the figure's descriptive variant text instead.
- **Full historical price charts** (multi-year value trend graphs) require a hobbyDB sign-in; this actor exposes the same estimated value, value range, and lowest current listing price that hobbyDB shows publicly on every figure without logging in.
- No proxy is required to reach hobbyDB's API from Apify's datacenter IPs; `proxyConfiguration` is included with the free `AUTO` group for resilience but works with it left off.

### FAQ

**What's hobbyDB / Pop Price Guide?** hobbyDB is a collectibles database and marketplace; Pop Price Guide is its dedicated Funko Pop! vinyl figure price guide, covering current and vintage Funko releases across every licensed franchise. See [hobbydb.com](https://www.hobbydb.com/home/funko).

**Why is `estimatedValue` sometimes missing?** Newly catalogued or one-off figures without enough tracked sales data don't yet have a computed price-guide estimate. The figure's other details (name, images, description, release info) are still returned.

**What does `priceGuideCondition` mean?** hobbyDB computes most estimated values assuming Mint condition (`mint`); some figures show a `member_estimate` or `retail_price` basis instead when insufficient sales data exists for a full price-guide calculation.

**Can I get every Funko product line, not just Pop! Vinyl?** The `category` list covers hobbyDB's Pop! Vinyl taxonomy (the flagship, highest-volume line). Other Funko lines (Soda, Dorbz, Loungefly) appear incidentally in `categoryType`/`series` when returned by a search or category browse, but are not separately browsable categories in this actor.

**How fresh is the data?** hobbyDB's collector community continuously verifies and updates entries; pricing reflects the latest computed estimate and current live marketplace listing counts at scrape time.

# Actor input Schema

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

What to fetch: search Funko Pops by figure/character name, or browse a full license/franchise category.

## `searchQuery` (type: `string`):

Figure or character name to search for, e.g. `batman`, `pikachu`, `baby yoda`.

## `category` (type: `string`):

Browse a full hobbyDB Pop! Price Guide category. Uses hobbyDB's own Pop! Vinyl taxonomy.

## `editionType` (type: `string`):

Filter by vinyl figure edition. hobbyDB does not expose free physical grading (mint/box-damage) for marketplace listings, so this filters on the figure's own catalogued edition/variant instead.

## `minPrice` (type: `integer`):

Drop figures with an estimated collector value below this amount.

## `maxPrice` (type: `integer`):

Drop figures with an estimated collector value above this amount.

## `maxItems` (type: `integer`):

Hard cap on emitted records.

## Actor input object example

```json
{
  "mode": "search",
  "searchQuery": "batman",
  "category": "marvel",
  "editionType": "any",
  "maxItems": 30
}
```

# Actor output Schema

## `items` (type: `string`):

Dataset containing all scraped Funko Pop figures.

# 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 = {
    "mode": "search",
    "searchQuery": "batman",
    "category": "marvel",
    "editionType": "any",
    "maxItems": 30
};

// Run the Actor and wait for it to finish
const run = await client.actor("crawlerbros/hobbydb-funko-pop-price-guide").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 = {
    "mode": "search",
    "searchQuery": "batman",
    "category": "marvel",
    "editionType": "any",
    "maxItems": 30,
}

# Run the Actor and wait for it to finish
run = client.actor("crawlerbros/hobbydb-funko-pop-price-guide").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 '{
  "mode": "search",
  "searchQuery": "batman",
  "category": "marvel",
  "editionType": "any",
  "maxItems": 30
}' |
apify call crawlerbros/hobbydb-funko-pop-price-guide --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=crawlerbros/hobbydb-funko-pop-price-guide",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "HobbyDB Funko Pop Price Guide Scraper",
        "description": "Scrape hobbyDB's Pop Price Guide - search Funko Pop! figures by name/character, browse by license/franchise, and get estimated collector values, current lowest marketplace prices, release info, and images.",
        "version": "1.0",
        "x-build-id": "fvggr4zLyPsoepLEo"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/crawlerbros~hobbydb-funko-pop-price-guide/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-crawlerbros-hobbydb-funko-pop-price-guide",
                "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/crawlerbros~hobbydb-funko-pop-price-guide/runs": {
            "post": {
                "operationId": "runs-sync-crawlerbros-hobbydb-funko-pop-price-guide",
                "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/crawlerbros~hobbydb-funko-pop-price-guide/run-sync": {
            "post": {
                "operationId": "run-sync-crawlerbros-hobbydb-funko-pop-price-guide",
                "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": [
                    "mode"
                ],
                "properties": {
                    "mode": {
                        "title": "Mode",
                        "enum": [
                            "search",
                            "browse"
                        ],
                        "type": "string",
                        "description": "What to fetch: search Funko Pops by figure/character name, or browse a full license/franchise category.",
                        "default": "search"
                    },
                    "searchQuery": {
                        "title": "Search query (mode=search)",
                        "type": "string",
                        "description": "Figure or character name to search for, e.g. `batman`, `pikachu`, `baby yoda`.",
                        "default": "batman"
                    },
                    "category": {
                        "title": "License/franchise category (mode=browse)",
                        "enum": [
                            "marvel",
                            "star_wars",
                            "disney",
                            "animation",
                            "movies",
                            "television",
                            "heroes",
                            "games",
                            "harry_potter",
                            "wwe",
                            "rocks",
                            "icons",
                            "game_of_thrones",
                            "retro_toys",
                            "myths",
                            "monsters",
                            "rides",
                            "sanrio",
                            "asia",
                            "classics",
                            "ad_icons",
                            "albums",
                            "sci_fi",
                            "fantastic_beasts",
                            "sesame_street",
                            "sports",
                            "south_park",
                            "christmas"
                        ],
                        "type": "string",
                        "description": "Browse a full hobbyDB Pop! Price Guide category. Uses hobbyDB's own Pop! Vinyl taxonomy.",
                        "default": "marvel"
                    },
                    "editionType": {
                        "title": "Edition / variant type filter",
                        "enum": [
                            "any",
                            "standard",
                            "chase",
                            "exclusive",
                            "set_exclusive",
                            "convention_exclusive",
                            "glow",
                            "autographed",
                            "limited_edition",
                            "deluxe",
                            "error",
                            "prototype",
                            "regional"
                        ],
                        "type": "string",
                        "description": "Filter by vinyl figure edition. hobbyDB does not expose free physical grading (mint/box-damage) for marketplace listings, so this filters on the figure's own catalogued edition/variant instead.",
                        "default": "any"
                    },
                    "minPrice": {
                        "title": "Min estimated value (USD)",
                        "minimum": 0,
                        "maximum": 100000,
                        "type": "integer",
                        "description": "Drop figures with an estimated collector value below this amount."
                    },
                    "maxPrice": {
                        "title": "Max estimated value (USD)",
                        "minimum": 0,
                        "maximum": 100000,
                        "type": "integer",
                        "description": "Drop figures with an estimated collector value above this amount."
                    },
                    "maxItems": {
                        "title": "Max items",
                        "minimum": 1,
                        "maximum": 1000,
                        "type": "integer",
                        "description": "Hard cap on emitted records.",
                        "default": 30
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
