{
  "openapi": "3.0.1",
  "info": {
    "title": "Socios.com Fan Token & Fan Vote Scraper",
    "description": "Scrape Socios.com fan votes with their results already counted - question, every option, votes cast and the winning percentage - across 9,800+ polls and 231 partner clubs. Also returns the fan token catalogue with contract addresses and supply. No account or login needed.",
    "version": "0.0",
    "x-build-id": "47lG2ijHsYX2NrIwh"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/fanndev~socios-fan-token-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-fanndev-socios-fan-token-scraper",
        "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/fanndev~socios-fan-token-scraper/runs": {
      "post": {
        "operationId": "runs-sync-fanndev-socios-fan-token-scraper",
        "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/fanndev~socios-fan-token-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-fanndev-socios-fan-token-scraper",
        "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",
        "properties": {
          "mode": {
            "title": "What to scrape",
            "enum": [
              "polls",
              "partners",
              "fanTokens",
              "voteTokens",
              "reference",
              "all"
            ],
            "type": "string",
            "description": "Fan votes reads Socios' poll catalogue with every result already counted - question, options, votes cast per option and the winning percentage. Partner clubs lists all 231 teams, esports orgs and brands on the platform. Fan tokens lists the token catalogue with contract addresses. Vote tokens adds circulating supply and the token's own description. Reference tables are the leagues, sports and countries that the other modes reference by id. Everything runs all five in one go.",
            "default": "polls"
          },
          "partners": {
            "title": "Limit to these clubs",
            "type": "array",
            "description": "Fan votes mode only. Club name, token symbol, short code or partner id - 'AC Milan', '$ACM' and 'ACM' all reach the same club. Leave empty for every club on the platform. Anything that matches no club produces one error row naming it, rather than being dropped in silence.",
            "items": {
              "type": "string"
            }
          },
          "pollStatuses": {
            "title": "Poll status",
            "type": "array",
            "description": "Fan votes mode only. Closed polls are the ones with final results and there are about 8,100 of them; open is whatever is live right now, usually only one or two. Cancelled polls account for most of the rest. Leave empty for every status. Socios' API applies this filter itself, so narrowing here makes the run cheaper rather than just smaller.",
            "items": {
              "type": "string",
              "enum": [
                "closed",
                "opened",
                "cancelled",
                "error",
                "suspended",
                "cancelling",
                "scheduled",
                "created",
                "processing",
                "closed-pending",
                "closed-release-wallet-limit",
                "closed-blockchain-pending"
              ],
              "enumTitles": [
                "Closed - final results (~8,100)",
                "Open now (~1)",
                "Cancelled (~1,690)",
                "Error (~13)",
                "Suspended (~5)",
                "Cancelling (~1)",
                "Scheduled (none today)",
                "Created (none today)",
                "Processing (none today)",
                "Closing (none today)",
                "Closed - wallet limit (none today)",
                "Closed - awaiting blockchain (none today)"
              ]
            },
            "default": []
          },
          "pollTypes": {
            "title": "Poll type",
            "type": "array",
            "description": "Fan votes mode only. Engagement polls are the fun ones clubs run for their fans, integrity polls are binding club decisions, and prediction polls are match forecasts. Socios' API ignores this filter, so the actor applies it after fetching - it trims the dataset but not the run time.",
            "items": {
              "type": "string",
              "enum": [
                "engagement",
                "integrity",
                "prediction"
              ],
              "enumTitles": [
                "Engagement",
                "Integrity (binding)",
                "Prediction"
              ]
            },
            "default": []
          },
          "pollOrderBy": {
            "title": "Order fan votes by",
            "enum": [
              "",
              "createdAt",
              "openAt",
              "closeAt",
              "publicationDate",
              "status"
            ],
            "type": "string",
            "description": "Newest first in every case - Socios' API has no ascending option. Leave on Default unless you want the ordering pinned to a specific date field. Ordering by status groups the catalogue by state instead of by date.",
            "default": ""
          },
          "activePartnersOnly": {
            "title": "Active clubs only",
            "type": "boolean",
            "description": "Partner clubs mode only. 88 of the 231 partners are active; the rest are inactive clubs whose tokens and past polls still exist. Turn this on to list only the live ones.",
            "default": false
          },
          "maxItems": {
            "title": "Maximum rows",
            "minimum": 1,
            "maximum": 100000,
            "type": "integer",
            "description": "Caps fan votes and partner clubs. The full poll catalogue is about 9,825 rows; the other modes are small enough that they always return in full.",
            "default": 1000
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Off by default and genuinely optional. Socios' API has no WAF, no IP gate and no rate limit that a normal run meets, and it answers identically from a datacenter and a residential address. Turn it on only if you are running this on a schedule from one IP all day.",
            "default": {
              "useApifyProxy": false
            }
          }
        }
      },
      "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}