{
  "openapi": "3.0.1",
  "info": {
    "title": "Athlete Intelligence Agent",
    "description": "Give it an athlete's name, get a structured, source-cited profile: identity, career, stats, market value, social reach and news — every field with a source and confidence score. Or call the data tools directly. No AI key needed.",
    "version": "1.0",
    "x-build-id": "Y0LPMpQ0584pRWar4"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/filip_cicvarek~athlete-intelligence-agent/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-filip_cicvarek-athlete-intelligence-agent",
        "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/filip_cicvarek~athlete-intelligence-agent/runs": {
      "post": {
        "operationId": "runs-sync-filip_cicvarek-athlete-intelligence-agent",
        "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/filip_cicvarek~athlete-intelligence-agent/run-sync": {
      "post": {
        "operationId": "run-sync-filip_cicvarek-athlete-intelligence-agent",
        "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": {
          "operation": {
            "title": "What do you want?",
            "enum": [
              "profile",
              "identity",
              "stats",
              "market",
              "news",
              "social",
              "search",
              "crawl"
            ],
            "type": "string",
            "description": "**Full profile** runs the AI agent across every source and returns one complete, source-cited athlete profile. The other options are single lookups — no AI involved, much cheaper, and they return raw structured data for your own app or agent. The same options are available as HTTP endpoints in Standby mode.",
            "default": "profile"
          },
          "athleteName": {
            "title": "Athlete name",
            "type": "string",
            "description": "The athlete to research. A name alone works; the agent disambiguates and figures out the sport."
          },
          "instructions": {
            "title": "Instructions (optional)",
            "type": "string",
            "description": "Free-text guidance on what to emphasise, e.g. 'focus on transfer rumours and market value' or 'I'm evaluating social reach for a sponsorship deal'. Steers emphasis and source priority; the output structure stays fixed."
          },
          "sportHint": {
            "title": "Sport hint (optional)",
            "type": "string",
            "description": "Helps disambiguate athletes who share a name. e.g. 'tennis', 'soccer', 'basketball'. Leave empty to let the agent infer it."
          },
          "depth": {
            "title": "Research depth",
            "enum": [
              "quick",
              "standard",
              "deep"
            ],
            "type": "string",
            "description": "How hard the agent works on a full profile. **quick** uses free structured sources plus web search. **standard** adds Transfermarkt market value (football) and recent news. **deep** adds social-media follower scraping. Deeper research calls more paid sources, so it costs proportionally more per profile (quick 1x, standard 2x, deep 5x) and takes longer. Only applies when 'What do you want?' is set to Full profile.",
            "default": "standard"
          },
          "enableSocial": {
            "title": "Scrape social media",
            "type": "boolean",
            "description": "Fetch Instagram/X/TikTok/YouTube follower counts for handles found during research. Leave unset to follow the depth preset (on for 'deep', off otherwise). Adds pass-through scraping cost."
          },
          "costCapUsd": {
            "title": "Cost cap (USD per run)",
            "minimum": 0.1,
            "maximum": 25,
            "type": "number",
            "description": "Safety ceiling on what the agent spends on LLM calls and paid sub-Actors while building one profile. When reached, it stops gathering and emits what it has. Leave empty to use the depth default (quick $0.50, standard $1.50, deep $5)."
          },
          "maxIterations": {
            "title": "Max agent iterations",
            "minimum": 1,
            "maximum": 20,
            "type": "integer",
            "description": "Hard ceiling on agent reasoning steps (tool-call rounds). Backstop against runaway loops. Leave empty to use the depth default (quick 8, standard 12, deep 18)."
          },
          "model": {
            "title": "Claude model",
            "enum": [
              "claude-opus-4-8",
              "claude-sonnet-4-6",
              "claude-haiku-4-5"
            ],
            "type": "string",
            "description": "LLM that orchestrates the research and writes the final profile. Opus is the default and, on measured runs, is not more expensive overall — cheaper models tend to compensate with extra searches. Haiku is genuinely cheapest and fine for well-covered athletes.",
            "default": "claude-opus-4-8"
          },
          "anthropicApiKey": {
            "title": "Anthropic API key (optional — leave empty)",
            "type": "string",
            "description": "**Leave this empty for the normal case.** By default the Actor reaches Claude through Apify's own `apify/openrouter` proxy, so you need no AI provider account at all and the LLM usage is billed to your Apify account in credits. Supply your own Anthropic key only if you would rather the LLM cost went to your Anthropic account instead."
          },
          "query": {
            "title": "Query",
            "type": "string",
            "description": "For the 'Recent news' and 'Web search' lookups. Defaults to the athlete name."
          },
          "url": {
            "title": "URL",
            "type": "string",
            "description": "For the 'Read one page' lookup."
          },
          "platform": {
            "title": "Social platform",
            "enum": [
              "instagram",
              "x",
              "tiktok",
              "youtube"
            ],
            "type": "string",
            "description": "For the 'Social followers' lookup."
          },
          "handle": {
            "title": "Social handle",
            "type": "string",
            "description": "For the 'Social followers' lookup. Without the @."
          },
          "maxResults": {
            "title": "Max results",
            "minimum": 1,
            "maximum": 15,
            "type": "integer",
            "description": "For the news and web-search lookups."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}