# Five Below Store Locations (`maximedupre/five-below-store-locations`) Actor

Find Five Below stores by city, ZIP code, state, or area. Get addresses, coordinates, phones, websites, categories, hours, ratings, photos, and services when available. Choose a source language and leave the limit empty to collect all available matches until the source is exhausted.

- **URL**: https://apify.com/maximedupre/five-below-store-locations.md
- **Developed by:** [Maxime Dupré](https://apify.com/maximedupre) (community)
- **Categories:** Business, Lead generation, Travel
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.35 / 1,000 store locations

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

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

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

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

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Five Below Store Locations

### 🗺️ Find Five Below Stores by Area

For retail teams, local researchers, and data developers, this Actor finds Five Below stores in one city, ZIP code, state, or other geographic area. It returns one structured row per matching location with addresses, map positions, public contact details, hours, categories, and other source-published listing details when available. The rows are ready to review in the default dataset or retrieve through the Apify API.

- Find matching stores in one area with **[Five Below Locations](https://apify.com/maximedupre/five-below-store-locations/examples/five-below-locations)**.
- Build a local store list with **[Five Below Store Locator](https://apify.com/maximedupre/five-below-store-locations/examples/five-below-store-locator)**.
- Find matching stores in Los Angeles with **[Five Below Los Angeles](https://apify.com/maximedupre/five-below-store-locations/examples/five-below-los-angeles)**.
- Collect public phone numbers for matching stores when the source lists them with **[Five Below Phone Number](https://apify.com/maximedupre/five-below-store-locations/examples/five-below-phone-number)**.
- Check source-published hours and current open status for a local search with **[What Time Does Five Below Close Near Me](https://apify.com/maximedupre/five-below-store-locations/examples/what-time-does-five-below-close-near-me)**.

#### 📍 Five Below Store Data

**What you get**

Each successful row represents one matching Five Below store listing from the source. It can include the source ID and business name, full address, map and entrance coordinates, time zone, categories, public contact details, ratings, review and photo counts, image URLs, hours, current open status, attributes, highlights, departments, and descriptions. Optional fields appear when the source provides them.

#### ▶️ Search One Area for Five Below Stores

**How it works**

Enter one geographic area and an optional result limit, then run the Actor. It searches that area and writes matching store rows to the default dataset. Leave the limit empty to collect all available results until the source is exhausted.

#### ⚙️ Input

Enter one area per run. The language value changes source labels for categories, hours, and attributes, while business names stay as written by the source.

**Input fields**

| Field | Type | What it does |
| --- | --- | --- |
| `searchArea` | string | Searches one city, ZIP code, state, or other geographic area. This run uses only that area. |
| `language` | string | Sets the supported source language code for category, hours, and attribute labels. `en` is prefilled. Business names stay as written by the source. |
| `maxItems` | integer | Stops after this many matching store locations. Leave it empty to collect all available results until the source is exhausted. The source may return fewer locations when fewer matches are available. |

**Example input**

This is the public input from a successful current beta run:

```json
{
  "searchArea": "19102",
  "language": "en"
}
```

#### 🧾 Output

The default dataset has one output shape. Required fields are `sourceId`, `name`, `address`, and `coordinates`; other fields are returned when the source provides them.

**Store location fields**

| Field | Type | What it does |
| --- | --- | --- |
| `sourceId` | string | Stable identifier assigned by the source to the store listing. |
| `name` | string | Business name as written by the source. |
| `address` | object | Full address details published for the store. |
| `address.formatted` | string | Complete address text as published by the source. |
| `address.street` | string | Street address as published by the source. |
| `address.city` | string | City or town as published by the source. |
| `address.state` | string | State or region as published by the source. |
| `address.postalCode` | string | Postal or ZIP code as published by the source. |
| `address.country` | string | Country as published by the source. |
| `coordinates` | object | Map position published for the store. |
| `coordinates.latitude` | number | Store latitude in decimal degrees. |
| `coordinates.longitude` | number | Store longitude in decimal degrees. |
| `entrance` | object | Map position published for the store entrance, when available. |
| `entrance.latitude` | number | Entrance latitude in decimal degrees. |
| `entrance.longitude` | number | Entrance longitude in decimal degrees. |
| `timeZone` | string | Time zone published for the store, when available. |
| `categories` | object | Primary and additional source categories for the store. |
| `categories.primary` | string | Primary category label published by the source. |
| `categories.additional` | string\[] | Additional category labels published by the source. |
| `contact` | object | Public phone numbers and website published for the store. |
| `contact.phoneNumbers` | string\[] | Public phone numbers published by the source. |
| `contact.website` | string | Public website URL published for the store. |
| `rating` | number | Rating published by the source for this store listing. |
| `reviewCount` | integer | Number of reviews published by the source for this listing. |
| `photoCount` | integer | Number of listing photos reported by the source. |
| `images` | string\[] | Source-provided listing image URLs, when available. |
| `hours` | object | Opening or service hours and current status published by the source. |
| `hours.weekly` | object\[] | Source-published hours for each available day. |
| `hours.weekly[].day` | string | Day label in the selected source language. |
| `hours.weekly[].periods` | object\[] | Opening periods published for that day. |
| `hours.weekly[].periods[].open` | string | Opening time as written by the source. |
| `hours.weekly[].periods[].close` | string | Closing time as written by the source. |
| `hours.isOpen` | boolean | Current open or closed status published by the source. It is not calculated from weekly hours. |
| `attributes` | object | Accessibility, service, payment, and amenity labels published by the source. |
| `attributes.accessibility` | string\[] | Accessibility labels published by the source. |
| `attributes.services` | string\[] | Service labels published by the source. |
| `attributes.paymentMethods` | string\[] | Payment method labels published by the source. |
| `attributes.amenities` | string\[] | Amenity labels published by the source. |
| `highlights` | string\[] | Source-published highlights for the store listing. |
| `departments` | string\[] | Department labels published by the source for the store listing, when available. |
| `descriptions` | object | Source editorial and business descriptions for the store listing. |
| `descriptions.editorial` | string | Editorial description published by the source. |
| `descriptions.business` | string | Business description published by the source. |

**Example store row**

The following unshortened row comes from the successful current beta run for `searchArea` `19102` and `language` `en`:

```json
{
  "sourceId": "ChIJK4H1JTDGxokRV7MYM2GiflE",
  "name": "Five Below",
  "address": {
    "formatted": "1529 Chestnut St, Philadelphia, PA 19102",
    "street": "1529 Chestnut St",
    "city": "Philadelphia",
    "state": "Pennsylvania",
    "postalCode": "19102",
    "country": "US"
  },
  "coordinates": {
    "latitude": 39.9512796,
    "longitude": -75.16669329999999
  },
  "entrance": {
    "latitude": 39.9512796,
    "longitude": -75.16669329999999
  },
  "timeZone": "America/New_York",
  "categories": {
    "primary": "Variety store",
    "additional": [
      "Candy store",
      "Fashion accessories store",
      "Gift shop",
      "Toy store"
    ]
  },
  "contact": {
    "phoneNumbers": [
      "(215) 575-1046",
      "+12155751046"
    ],
    "website": "https://locations.fivebelow.com/pa/philadelphia/1529-chestnut-street?utm_source=gmb&utm_medium=yext&y_source=1_MTM1Mzg5MDktNzE1LWxvY2F0aW9uLndlYnNpdGU%3D"
  },
  "rating": 4.4,
  "photoCount": 291,
  "images": [
    "https://lh3.googleusercontent.com/gps-cs-s/AHRPTWmzmr5-4gneN2gIgSH-jr1dtTCdqSLKGs6zn1iELrTu6MWnZ6ixAO2q8yVEq2msKtjKbdK0g0aSQSinDYQv5ZCUxsS2rBHLVN8dkf2-dKTJPM57lc3DD4afM5oCvQK0jhklJQMf_g=w112-h86-k-no",
    "https://lh3.googleusercontent.com/gps-cs-s/AHRPTWmzmr5-4gneN2gIgSH-jr1dtTCdqSLKGs6zn1iELrTu6MWnZ6ixAO2q8yVEq2msKtjKbdK0g0aSQSinDYQv5ZCUxsS2rBHLVN8dkf2-dKTJPM57lc3DD4afM5oCvQK0jhklJQMf_g=w408-h313-k-no",
    "https://lh3.googleusercontent.com/-ayHvWYY2k8Y/AAAAAAAAAAI/AAAAAAAAAAA/eMoEMmpMv6Q/s40-c-k-mo/photo.jpg",
    "https://lh3.googleusercontent.com/-ayHvWYY2k8Y/AAAAAAAAAAI/AAAAAAAAAAA/eMoEMmpMv6Q/s44-p-k-no-ns-nd/photo.jpg"
  ],
  "hours": {
    "weekly": [
      {
        "day": "Saturday",
        "periods": [
          {
            "open": "10 AM",
            "close": "7 PM"
          }
        ]
      }
    ],
    "isOpen": true
  },
  "attributes": {
    "accessibility": [
      "Wheelchair accessible entrance",
      "Wheelchair accessible parking lot",
      "Wheelchair accessible elevator"
    ],
    "services": [
      "In-store shopping",
      "Onsite services",
      "Delivery",
      "Curbside pickup",
      "In-store pickup"
    ],
    "paymentMethods": [
      "Credit cards",
      "Debit cards",
      "NFC mobile payments",
      "Cash-only",
      "Checks"
    ],
    "amenities": [
      "Wi-Fi",
      "Quick visit",
      "Paid street parking",
      "Gift wrapping"
    ]
  },
  "descriptions": {
    "editorial": "Teen-oriented retail chain for a large assortment of games, snacks, jewelry, room decor & more.",
    "business": "Five Below is a leading high-growth value retailer offering trend-right, high-quality products loved by tweens, teens and beyond. We believe life is better when customers are free to \"let go & have fun\" in an amazing experience filled with unlimited possibilities. With most items priced between $1 and $5 and some extreme value items priced beyond $5. Five Below makes it easy to say YES! to the newest, coolest stuff across eight awesome Five Below worlds: Style, Room, Sports, Tech, Create, Party, Candy, and New & Now. Founded in 2002 and headquartered in Philadelphia, Pennsylvania, Five Below today has over 1,800 stores in 44 states."
  }
}
```

#### 💳 Pricing

This Actor uses pay per event pricing. One event covers one matching store location returned to the default dataset. The event price depends on your Apify plan tier and the current price shown on the Store page.

#### 🔌 Integrations

Results are available in the default Apify dataset and can be retrieved through its API. Use the structured rows in scripts, spreadsheets, or other data workflows. See the Actor workflow guide:

https://www.youtube.com/watch?v=bNACk1\_S\_6w\&list=PLObrtcm1Kw6MUrlLNDbK9QRg8VDJg0gOW\&index=4

#### ❓ FAQ

##### Can I search more than one area in one run?

No. Enter one city, ZIP code, state, or other geographic area per run. Start another run for another area.

##### What happens if I leave Maximum locations empty?

The Actor collects all available matching results until the source is exhausted. The source may return fewer locations when fewer matches are available.

##### Will Maximum locations always return that many rows?

No. It is a requested count, not a guarantee. The source may have fewer relevant listings, suppress a listing, or lack optional information.

##### Are phone numbers, websites, hours, and ratings returned for every store?

Only when the source publishes them. Optional fields can be absent, while the required source ID, business name, address, and map coordinates define the store row.

##### Does the Actor include review text or complete photo galleries?

No. It returns listing-level review and photo counts plus available image URLs, not individual review bodies or complete photo galleries.

##### Does the Actor return products, prices, or shopping availability?

No. Product inventory, product prices, and shopping availability are outside this Actor.

##### Do I need a source API key or account credential?

No. The Actor uses publicly accessible listing data and does not require you to provide a source API key or account credential.

##### Does the language setting translate business names?

No. It changes category, hours, and attribute labels. Business names stay as written by the source.

##### Is the current open status calculated from weekly hours?

No. `hours.isOpen` is the current status published by the source. The Actor does not calculate it from the weekly schedule.

### 📝 Changelog

**v0.0** (19-09-2026)

- Initial release.

### 🆘 Support

For issues, questions, or feature requests, [file a ticket](https://console.apify.com/actors/maximedupre~five-below-store-locations/issues) and I'll fix or implement it in less than 24h 🫡

### 🔗 Related Actors

- [Google Maps Phone Number Scraper](https://apify.com/maximedupre/google-maps-phone-number-scraper): Collect public Google Maps phone numbers, addresses, websites, hours, ratings, and coordinates for local businesses.
- [Google Maps Shared List Scraper](https://apify.com/maximedupre/google-maps-shared-list-scraper): Export places from a public Google Maps list with addresses, ratings, phones, websites, hours, and photos.
- [Yellow Pages Scraper](https://apify.com/maximedupre/yellowpages-scraper): Collect US business listings by keyword and location with contact details, addresses, categories, ratings, reviews, hours, and listing links.
- [Google Maps Store Scraper](https://apify.com/agentx/google-maps-store-scraper): Search businesses by keyword and location and return categories, addresses, coordinates, ratings, phones, websites, hours, and listing attributes.
- [Store Locator Scraper with Change Detection](https://apify.com/finaldynamics/store-locator-scraper-change-detection): Build a brand store-location list and compare repeat runs for openings, closures, moves, and hour changes.

**Made with ❤️ by Maxime Dupré**

# Actor input Schema

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

Enter one city, ZIP code, state, or other geographic area. This run searches only that area.

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

Enter a supported source language code, such as en. This changes category, hours, and attribute labels. Business names stay as written by the source.

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

Stop after this many matching store locations. Leave this empty to collect all matching locations until the source is exhausted. The source may return fewer locations when fewer matches are available.

## Actor input object example

```json
{
  "searchArea": "Philadelphia, PA",
  "language": "en",
  "maxItems": 1
}
```

# Actor output Schema

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

Open the dataset of successful Five Below store locations.

# 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 = {
    "searchArea": "Philadelphia, PA",
    "language": "en",
    "maxItems": 1
};

// Run the Actor and wait for it to finish
const run = await client.actor("maximedupre/five-below-store-locations").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 = {
    "searchArea": "Philadelphia, PA",
    "language": "en",
    "maxItems": 1,
}

# Run the Actor and wait for it to finish
run = client.actor("maximedupre/five-below-store-locations").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "searchArea": "Philadelphia, PA",
  "language": "en",
  "maxItems": 1
}' |
apify call maximedupre/five-below-store-locations --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,maximedupre/five-below-store-locations"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

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