# Futbin Category Details (`getdataforme/futbin-category-details`) Actor

This Apify actor scrapes comprehensive player data from Futbin, including stats, prices, and play styles for FIFA Ultimate Team analysis. It offers flexible URL inputs, proxy integration for reliability, scalable crawling, and structured JSON output....

- **URL**: https://apify.com/getdataforme/futbin-category-details.md
- **Developed by:** [GetDataForMe](https://apify.com/getdataforme) (community)
- **Categories:** AI, Agents, E-commerce
- **Stats:** 73 total users, 1 monthly users, 100.0% runs succeeded, 1 bookmarks
- **User rating**: No ratings yet

## Pricing

from $9.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/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

## Futbin Category Details

### Introduction

Futbin Category Details is a powerful Apify Actor designed to scrape comprehensive player information from Futbin, a popular FIFA Ultimate Team database. It extracts detailed stats, prices, play styles, and more for players across various categories, enabling users to gather valuable data for analysis, trading, or research. This actor leverages CheerioCrawler for efficient, reliable web scraping, ensuring high-quality data extraction with minimal setup.

### Features

- **Comprehensive Data Extraction**: Captures player details including ratings, positions, stats, prices, and play styles from Futbin pages.
- **Flexible URL Input**: Supports multiple start URLs to target specific player categories or lists.
- **Proxy Integration**: Uses Apify's residential proxies to avoid IP blocks and ensure uninterrupted scraping.
- **Scalable Crawling**: Configurable request limits to handle large datasets without overloading resources.
- **Structured Output**: Delivers clean JSON data with nested objects for easy integration into applications or databases.
- **Error-Resilient**: Built-in handling for common scraping challenges like dynamic content or rate limits.
- **Fast and Efficient**: Optimized for speed, processing multiple pages quickly while maintaining data accuracy.

### Input Parameters

| Parameter | Type | Required | Description | Example |
|-----------|------|----------|-------------|---------|
| startUrls | array | Yes | URLs to start crawling from, typically Futbin player pages or category lists. | `[{"url": "https://www.futbin.com/players"}]` |
| maxRequestsPerCrawl | integer | No | Maximum number of requests the crawler can make per run. Helps control costs and avoid overloading the target site. | `100` |
| proxyConfiguration | object | No | Proxy settings to mask the scraper's origin, using Apify's proxy groups for better reliability. | `{"useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"]}` |

### Example Usage

To run the actor, provide input parameters like this:

```json
{
  "startUrls": [
    {
      "url": "https://www.futbin.com/players"
    }
  ],
  "maxRequestsPerCrawl": 50,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": ["RESIDENTIAL"]
  }
}
```

Example output:

```json
[
  {
    "url": "https://www.futbin.com/26/player/18692/nazario-de-lima",
    "playerName": "NAZÁRIO DE LIMA",
    "rating": 94,
    "position": "ST",
    "rolePlus": "++",
    "alternativePositions": [],
    "foot": "",
    "weakFoot": null,
    "skillMoves": 5,
    "height": "183cm | 6'0'",
    "birthdate": "22-09-1976",
    "nation": "Brazil",
    "league": "Icons",
    "club": "EA FC ICONS",
    "stats": {
      "Pac": 88,
      "Sho": 86,
      "Pas": 71,
      "Dri": 86,
      "Def": 35,
      "Phy": 67
    },
    "detailedStats": {
      "Pace": {
        "value": 94,
        "statId": "1",
        "subStats": {
          "Acceleration": {
            "value": 95,
            "statId": "13"
          },
          "Sprint Speed": {
            "value": 94,
            "statId": "14"
          }
        }
      },
      "Shooting": {
        "value": 94,
        "statId": "2",
        "subStats": {
          "Finishing": {
            "value": 97,
            "statId": "16"
          },
          "Shot Power": {
            "value": 93,
            "statId": "17"
          },
          "Long Shots": {
            "value": 88,
            "statId": "18"
          },
          "Volleys": {
            "value": 95,
            "statId": "19"
          },
          "Penalties": {
            "value": 88,
            "statId": "20"
          },
          "Att. Position": {
            "value": 95,
            "statId": "15"
          }
        }
      },
      "Passing": {
        "value": 79,
        "statId": "3",
        "subStats": {
          "Vision": {
            "value": 80,
            "statId": "21"
          },
          "Crossing": {
            "value": 72,
            "statId": "22"
          },
          "Short Pass": {
            "value": 84,
            "statId": "24"
          },
          "Long Pass": {
            "value": 73,
            "statId": "25"
          },
          "Curve": {
            "value": 85,
            "statId": "26"
          },
          "FK Acc.": {
            "value": 88,
            "statId": "23"
          }
        }
      },
      "Dribbling": {
        "value": 94,
        "statId": "4",
        "subStats": {
          "Agility": {
            "value": 89,
            "statId": "27"
          },
          "Balance": {
            "value": 83,
            "statId": "28"
          },
          "Reactions": {
            "value": 94,
            "statId": "29"
          },
          "Ball Control": {
            "value": 94,
            "statId": "30"
          },
          "Dribbling": {
            "value": 96,
            "statId": "31"
          },
          "Composure": {
            "value": 89,
            "statId": "32"
          }
        }
      },
      "Defending": {
        "value": 43,
        "statId": "5",
        "subStats": {
          "Interceptions": {
            "value": 40,
            "statId": "33"
          },
          "Stand Tackle": {
            "value": 40,
            "statId": "36"
          },
          "Slide Tackle": {
            "value": 35,
            "statId": "37"
          },
          "Heading Acc.": {
            "value": 84,
            "statId": "34"
          },
          "Def. Aware": {
            "value": 36,
            "statId": "35"
          }
        }
      },
      "Physical": {
        "value": 75,
        "statId": "6",
        "subStats": {
          "Jumping": {
            "value": 79,
            "statId": "38"
          },
          "Stamina": {
            "value": 81,
            "statId": "39"
          },
          "Strength": {
            "value": 83,
            "statId": "40"
          },
          "Aggression": {
            "value": 46,
            "statId": "41"
          }
        }
      }
    },
    "metaStats": {
      "baseStatsTotal": 479,
      "inGameStats": 2296
    },
    "prices": {
      "console": {
        "lowestPrice": 700000,
        "priceRange": {
          "min": 848000,
          "max": 15000000
        }
      },
      "pc": {
        "lowestPrice": 532000,
        "priceRange": {
          "min": 513000,
          "max": 9700000
        }
      }
    },
    "playStyles": [
      {
        "name": "Quick Step",
        "isPlus": true
      },
      {
        "name": "Finesse Shot",
        "isPlus": false
      }
    ],
    "roles": [
      {
        "position": "ST",
        "role": "Advanced Forward\n                          ++"
      }
    ],
    "scrapedAt": "2026-01-14T17:06:22.304Z"
  }
]
```

### Use Cases

- **Market Research**: Analyze player prices and stats to identify undervalued assets in FIFA Ultimate Team.
- **Competitive Intelligence**: Gather data on top players for team-building strategies or esports preparation.
- **Price Monitoring**: Track price fluctuations for trading decisions in virtual marketplaces.
- **Content Aggregation**: Build databases for blogs, apps, or tools focused on FIFA gaming.
- **Academic Research**: Study player attributes and trends in sports analytics.
- **Business Automation**: Automate data collection for fantasy sports platforms or betting apps.

### Installation and Usage

1. Search for "Futbin Category Details" in the Apify Store.
2. Click "Try for free" or "Run".
3. Configure input parameters as needed.
4. Click "Start" to begin extraction.
5. Monitor progress in the log.
6. Export results in your preferred format (JSON, CSV, Excel).

### Output Format

The actor outputs a JSON array of player objects. Each object includes fields like `url`, `playerName`, `rating`, `position`, `stats` (basic attributes), `detailedStats` (nested sub-stats), `prices` (console and PC ranges), `playStyles`, `roles`, and `scrapedAt` timestamp. This structured format allows for easy parsing and integration, with numerical values for stats and prices ensuring quantitative analysis.

### Error Handling

The actor handles common errors such as network timeouts, invalid URLs, or site changes by retrying requests and logging issues. If a page fails to load, it skips to the next URL. For persistent problems, check the run logs and adjust proxy settings or reduce `maxRequestsPerCrawl`.

### Rate Limiting and Best Practices

Futbin may impose rate limits; use proxies to distribute requests. Best practices include starting with low `maxRequestsPerCrawl`, monitoring logs for errors, and running during off-peak hours. Respect site terms to avoid bans.

### Limitations

Data accuracy depends on Futbin's updates; prices may fluctuate. Not all player pages may load if heavily rate-limited. The actor focuses on public data and does not access private accounts.

### Support

For custom/simplified outputs or bug reports, please contact:

- Email: support@getdataforme.com
- Subject line: "custom support"
- Contact form: https://getdataforme.com/contact/

We're here to help you get the most out of this Actor!

***

# Actor input Schema

## `startUrls` (type: `array`):

URLs to start with.

## `maxRequestsPerCrawl` (type: `integer`):

Maximum number of requests that can be made by this crawler.

## `proxyConfiguration` (type: `object`):

Specifies proxy servers that will be used by the scraper in order to hide its origin.

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://www.futbin.com/players"
    }
  ],
  "maxRequestsPerCrawl": 100,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# 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 = {
    "startUrls": [
        {
            "url": "https://www.futbin.com/players"
        }
    ],
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ]
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("getdataforme/futbin-category-details").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 = {
    "startUrls": [{ "url": "https://www.futbin.com/players" }],
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
    },
}

# Run the Actor and wait for it to finish
run = client.actor("getdataforme/futbin-category-details").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 '{
  "startUrls": [
    {
      "url": "https://www.futbin.com/players"
    }
  ],
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}' |
apify call getdataforme/futbin-category-details --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,getdataforme/futbin-category-details"
        }
    }
}
```

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/XaDta2gbLX6SewRTm/builds/BPLyxMOGiotc06EMM/openapi.json
