{
  "service": "apify",
  "displayName": "Apify",
  "categories": [
    "Developer Tools",
    "Data"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "API Token",
      "placeholder": "apify_api_...",
      "description": "Apify API token used with the Authorization Bearer header. Create it in Apify Console settings: https://console.apify.com/settings/integrations.",
      "extraFields": []
    }
  ],
  "homepageUrl": "https://apify.com",
  "actions": [
    {
      "id": "apify.get_actor",
      "service": "apify",
      "name": "get_actor",
      "description": "Retrieve metadata for one Apify actor by identifier.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "actorId": {
            "type": "string",
            "minLength": 1,
            "description": "The Apify actor identifier, such as apify~web-scraper or apify/web-scraper."
          }
        },
        "additionalProperties": false,
        "description": "The input for retrieving one Apify actor."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "actor": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "description": "The Apify actor identifier."
              },
              "userId": {
                "type": "string",
                "description": "The owner user identifier."
              },
              "name": {
                "type": "string",
                "description": "The internal actor name."
              },
              "username": {
                "type": "string",
                "description": "The actor owner's username."
              },
              "title": {
                "type": "string",
                "description": "The actor display title."
              },
              "description": {
                "type": "string",
                "description": "The actor description."
              },
              "isPublic": {
                "type": "boolean",
                "description": "Whether the actor is public."
              },
              "createdAt": {
                "type": "string",
                "description": "When the actor was created."
              },
              "modifiedAt": {
                "type": "string",
                "description": "When the actor was last modified."
              },
              "stats": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "Actor usage and popularity statistics."
              }
            },
            "additionalProperties": true,
            "required": [
              "id",
              "userId",
              "name",
              "username",
              "isPublic"
            ],
            "description": "An Apify actor."
          }
        },
        "additionalProperties": false,
        "description": "The Apify actor response."
      }
    },
    {
      "id": "apify.get_current_user",
      "service": "apify",
      "name": "get_current_user",
      "description": "Retrieve the currently authenticated Apify user account.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "The input for retrieving the current Apify user."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "user": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "description": "The Apify user identifier."
              },
              "username": {
                "type": "string",
                "description": "The Apify username."
              },
              "email": {
                "type": "string",
                "description": "The email address of the Apify user."
              },
              "plan": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The Apify subscription plan."
              },
              "proxy": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The Apify proxy configuration."
              }
            },
            "additionalProperties": true,
            "required": [
              "username"
            ],
            "description": "The current Apify user account."
          }
        },
        "additionalProperties": false,
        "description": "The current authenticated Apify user response."
      }
    },
    {
      "id": "apify.get_dataset_items",
      "service": "apify",
      "name": "get_dataset_items",
      "description": "Retrieve JSON items from one Apify dataset.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "datasetId": {
            "type": "string",
            "minLength": 1,
            "description": "The Apify dataset identifier."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "description": "The maximum number of items to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "How many items to skip before returning results."
          },
          "clean": {
            "type": "boolean",
            "description": "Whether hidden fields and empty values should be removed from each item."
          },
          "skipHidden": {
            "type": "boolean",
            "description": "Whether fields starting with a hash sign should be skipped."
          }
        },
        "additionalProperties": false,
        "required": [
          "datasetId"
        ],
        "description": "The input for retrieving items from an Apify dataset."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {
                "description": "A JSON-compatible Apify value."
              }
            },
            "description": "The ordered list of Apify dataset items."
          }
        },
        "additionalProperties": false,
        "description": "The Apify dataset items response."
      }
    },
    {
      "id": "apify.get_run",
      "service": "apify",
      "name": "get_run",
      "description": "Retrieve the current status and storage identifiers for one Apify actor run.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "runId": {
            "type": "string",
            "minLength": 1,
            "description": "The Apify actor run identifier."
          },
          "waitForFinishSeconds": {
            "type": "integer",
            "minimum": 0,
            "maximum": 60,
            "description": "How many seconds to wait for run completion before returning."
          }
        },
        "additionalProperties": false,
        "required": [
          "runId"
        ],
        "description": "The input for retrieving one Apify actor run."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "run": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "description": "The Apify run identifier."
              },
              "actId": {
                "type": "string",
                "description": "The actor identifier associated with the run."
              },
              "status": {
                "type": "string",
                "description": "The current run status."
              },
              "startedAt": {
                "type": "string",
                "description": "When the run started."
              },
              "finishedAt": {
                "type": "string",
                "description": "When the run finished."
              },
              "defaultDatasetId": {
                "type": "string",
                "description": "The default dataset identifier created for the run."
              },
              "defaultKeyValueStoreId": {
                "type": "string",
                "description": "The default key-value store identifier created for the run."
              },
              "defaultRequestQueueId": {
                "type": "string",
                "description": "The default request queue identifier created for the run."
              },
              "stats": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The run statistics object."
              },
              "options": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The run options object."
              },
              "usage": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The run usage summary object."
              }
            },
            "additionalProperties": true,
            "required": [
              "id",
              "actId",
              "status"
            ],
            "description": "An Apify actor run."
          }
        },
        "additionalProperties": false,
        "description": "The Apify actor run response."
      }
    },
    {
      "id": "apify.run_actor",
      "service": "apify",
      "name": "run_actor",
      "description": "Start one Apify actor run with an optional JSON input payload.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "actorId": {
            "type": "string",
            "minLength": 1,
            "description": "The Apify actor identifier, such as apify~web-scraper or apify/web-scraper."
          },
          "input": {
            "type": "object",
            "additionalProperties": {
              "description": "A JSON-compatible Apify value."
            },
            "description": "The JSON input object passed to the actor run."
          },
          "build": {
            "type": "string",
            "minLength": 1,
            "description": "The actor build tag or number to run."
          },
          "memoryMbytes": {
            "type": "integer",
            "minimum": 1,
            "description": "The memory limit for the run in megabytes."
          },
          "timeoutSecs": {
            "type": "integer",
            "minimum": 1,
            "description": "The maximum runtime for the run in seconds."
          }
        },
        "additionalProperties": false,
        "required": [
          "actorId"
        ],
        "description": "The input for starting one Apify actor run."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "run": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "description": "The Apify run identifier."
              },
              "actId": {
                "type": "string",
                "description": "The actor identifier associated with the run."
              },
              "status": {
                "type": "string",
                "description": "The current run status."
              },
              "startedAt": {
                "type": "string",
                "description": "When the run started."
              },
              "finishedAt": {
                "type": "string",
                "description": "When the run finished."
              },
              "defaultDatasetId": {
                "type": "string",
                "description": "The default dataset identifier created for the run."
              },
              "defaultKeyValueStoreId": {
                "type": "string",
                "description": "The default key-value store identifier created for the run."
              },
              "defaultRequestQueueId": {
                "type": "string",
                "description": "The default request queue identifier created for the run."
              },
              "stats": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The run statistics object."
              },
              "options": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The run options object."
              },
              "usage": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The run usage summary object."
              }
            },
            "additionalProperties": true,
            "required": [
              "id",
              "actId",
              "status"
            ],
            "description": "An Apify actor run."
          }
        },
        "additionalProperties": false,
        "description": "The Apify actor run creation response."
      }
    }
  ]
}
