# Fortnite Item Shop Scraper (`spry_frame/fortnite-shop-scraper`) Actor

Scrapes the daily Fortnite Item Shop — item names, types, rarity, V-Bucks prices, USD equivalent, and return history. No login or API key required.

- **URL**: https://apify.com/spry\_frame/fortnite-shop-scraper.md
- **Developed by:** [COSENT GROUP](https://apify.com/spry_frame) (community)
- **Categories:** Other
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.00 / 1,000 results

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

## Fortnite Item Shop Scraper

Scrape today's full Fortnite Item Shop in seconds. Returns every item currently available — Outfits, Emotes, Pickaxes, Back Blings, Gliders, Wraps, Shoes, Bundles, and more — with prices in both V-Bucks and USD, rarity, type, shop section, and return history. No login, no API key, no proxies required.

Data is pulled from [fortnite-api.com](https://fortnite-api.com), which tracks the live daily shop.

***

### What You Get

Each result includes:

| Field | Description |
|---|---|
| `name` | Item name (e.g. "Power Chord") |
| `description` | In-game flavor text |
| `type` | Item type (Outfit, Emote, Pickaxe, Bundle, etc.) |
| `rarity` | Rarity tier (Legendary, Epic, Icon Series, MARVEL SERIES, etc.) |
| `section` | Shop section the item appears in |
| `priceVBucks` | Price in V-Bucks |
| `priceUSD` | Approximate USD price (based on 1,000 V-Bucks = $7.99) |
| `isNew` | `true` if this item has never appeared in the shop before |
| `firstSeen` | Chapter and Season the item was introduced |
| `lastSeen` | Date the item was previously in the shop |
| `daysSinceLastSeen` | Days since last appearance — higher = rarer return |
| `imageUrl` | Item display image URL |
| `shopDate` | Date of the shop this data was pulled from |
| `scrapedAt` | Timestamp when the data was collected |

***

### Use Cases

- **Collectors & traders** — Find items returning after a long absence before they sell out
- **Budget shoppers** — Filter by price range to see what's available at your V-Buck balance
- **Content creators** — Pull the daily shop automatically for YouTube thumbnails, Discord bots, or stream overlays
- **Game analysts** — Track which item types and rarities Epic Games rotates most often
- **New item alerts** — Filter `isNew = true` to catch brand-new cosmetics on release day

***

### Input Options

| Input | Type | Default | Description |
|---|---|---|---|
| `rarityFilter` | String list | *(all)* | Filter by rarity. Options: `Common`, `Uncommon`, `Rare`, `Epic`, `Legendary`, `Icon Series`, `MARVEL SERIES`, `DC`, `Star Wars`, `Gaming Legends` |
| `typeFilter` | String list | *(all)* | Filter by item type. Options: `Outfit`, `Back Bling`, `Pickaxe`, `Glider`, `Emote`, `Wrap`, `Shoes`, `Bundle` |
| `minPrice` | Integer | `0` | Minimum price in V-Bucks (0 = no limit) |
| `maxPrice` | Integer | `0` | Maximum price in V-Bucks (0 = no limit) |
| `newItemsOnly` | Boolean | `false` | Only return items appearing in the shop for the first time ever |
| `language` | Select | `en` | Language for item names and descriptions. Supports English, German, Spanish, French, Italian, Japanese, Korean, Polish, Portuguese (BR), Russian, Turkish, Chinese |

***

### Example Results

```json
[
  {
    "name": "Power Chord",
    "description": "She came to rock.",
    "type": "Outfit",
    "rarity": "Legendary",
    "section": "Featured",
    "priceVBucks": "2000",
    "priceUSD": "$15.98",
    "isNew": "false",
    "firstSeen": "Chapter 1, Season 3",
    "lastSeen": "2025-12-04",
    "daysSinceLastSeen": "239",
    "imageUrl": "https://fortnite-api.com/images/...",
    "shopDate": "2026-08-01",
    "scrapedAt": "2026-08-01T19:39:15.000Z"
  },
  {
    "name": "SpongeBob SquarePants Bundle",
    "description": "Are you ready, kids?",
    "type": "Bundle",
    "rarity": null,
    "section": "Bundles",
    "priceVBucks": "3000",
    "priceUSD": "$23.97",
    "isNew": "true",
    "firstSeen": null,
    "lastSeen": null,
    "daysSinceLastSeen": null,
    "imageUrl": "https://fortnite-api.com/images/...",
    "shopDate": "2026-08-01",
    "scrapedAt": "2026-08-01T19:39:15.000Z"
  }
]
```

***

### Notes

- Results are sorted: Bundles first, then by price descending, then by `daysSinceLastSeen` descending (rarest returns first)
- `priceUSD` is an approximation — actual cost depends on which V-Buck package you buy
- `isNew` is based on shop history data from fortnite-api.com; a blank `lastSeen` on a non-new item means history data is unavailable
- The shop refreshes daily at 00:00 UTC

# Actor input Schema

## `rarityFilter` (type: `array`):

Only return items of these rarities. Leave empty for all. Options: Common, Uncommon, Rare, Epic, Legendary, Mythic, Exotic, Icon Series, Marvel, DC, Star Wars, Gaming Legends.

## `typeFilter` (type: `array`):

Only return items of these types. Leave empty for all. Options: Outfit, Back Bling, Pickaxe, Glider, Emote, Wrap, Loading Screen, Spray, Music, Bundle.

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

Only return items at or above this V-Bucks price. 0 = no filter.

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

Only return items at or below this V-Bucks price. 0 = no filter.

## `newItemsOnly` (type: `boolean`):

If enabled, only returns items appearing in the shop for the first time ever.

## `language` (type: `string`):

Language for item names and descriptions.

## Actor input object example

```json
{
  "rarityFilter": [],
  "typeFilter": [],
  "minPrice": 0,
  "maxPrice": 0,
  "newItemsOnly": false,
  "language": "en"
}
```

# Actor output Schema

## `name` (type: `string`):

Name of the item.

## `description` (type: `string`):

Item description from Fortnite.

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

Item type (e.g. Outfit, Pickaxe, Emote, Bundle).

## `rarity` (type: `string`):

Item rarity (e.g. Legendary, Epic, Rare, Icon Series).

## `section` (type: `string`):

Which section of the shop the item appears in (e.g. Featured, Daily, Bundles).

## `priceVBucks` (type: `string`):

Price in V-Bucks.

## `priceUSD` (type: `string`):

Approximate USD equivalent based on 1,000 V-Bucks = $7.99.

## `isNew` (type: `string`):

Whether this item has never appeared in the shop before (true/false).

## `firstSeen` (type: `string`):

Date this item first appeared in the Fortnite shop.

## `lastSeen` (type: `string`):

Date this item was previously in the shop before today.

## `daysSinceLastSeen` (type: `string`):

How many days ago this item was last in the shop. High values = rare return.

## `imageUrl` (type: `string`):

Item display image URL.

## `shopDate` (type: `string`):

The date of the shop this data was pulled from.

## `scrapedAt` (type: `string`):

Timestamp when this data was collected.

# 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 = {
    "rarityFilter": [],
    "typeFilter": []
};

// Run the Actor and wait for it to finish
const run = await client.actor("spry_frame/fortnite-shop-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 = {
    "rarityFilter": [],
    "typeFilter": [],
}

# Run the Actor and wait for it to finish
run = client.actor("spry_frame/fortnite-shop-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 '{
  "rarityFilter": [],
  "typeFilter": []
}' |
apify call spry_frame/fortnite-shop-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/TOW8Vbqt0BCfzCaiJ/builds/jrOr5CemLaOxHwDXq/openapi.json
