{
  "service": "parsera",
  "displayName": "Parsera",
  "categories": [
    "Data",
    "Developer Tools"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "API Key",
      "placeholder": "PARSERA_API_KEY",
      "description": "Parsera API key sent in the X-API-KEY header. Create or copy it from your Parsera account after signing in: https://parsera.org/app.",
      "extraFields": []
    }
  ],
  "homepageUrl": "https://parsera.org",
  "actions": [
    {
      "id": "parsera.extract",
      "service": "parsera",
      "name": "extract",
      "description": "Extract structured data from a webpage URL with Parsera using a prompt, attributes, or both.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "The webpage URL to extract structured data from.",
            "format": "uri"
          },
          "prompt": {
            "type": "string",
            "minLength": 1,
            "description": "Natural-language extraction instructions."
          },
          "attributes": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The output field name for the extracted attribute."
                },
                "description": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Natural-language guidance for extracting this attribute."
                },
                "type": {
                  "type": "string",
                  "description": "Optional Parsera output type for this attribute."
                }
              },
              "additionalProperties": true,
              "required": [
                "name",
                "description"
              ],
              "description": "A structured attribute Parsera should extract from the source."
            },
            "description": "The structured attributes Parsera should extract from the webpage.",
            "minItems": 1
          },
          "proxyCountry": {
            "type": "string",
            "minLength": 1,
            "description": "Parsera proxy country to use for the webpage request."
          },
          "cookies": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The cookie name."
                },
                "value": {
                  "type": "string",
                  "description": "The cookie value."
                },
                "domain": {
                  "type": "string",
                  "description": "The cookie domain."
                },
                "path": {
                  "type": "string",
                  "description": "The cookie path."
                }
              },
              "additionalProperties": true,
              "required": [
                "name",
                "value"
              ],
              "description": "A browser cookie forwarded to Parsera during page extraction."
            },
            "description": "Cookies to use while Parsera fetches the webpage."
          }
        },
        "additionalProperties": false,
        "required": [
          "url"
        ],
        "description": "Input parameters for extracting structured data from a URL with Parsera.",
        "anyOf": [
          {
            "required": [
              "prompt"
            ]
          },
          {
            "required": [
              "attributes"
            ]
          }
        ]
      },
      "outputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "The structured extraction payload returned by Parsera."
      }
    },
    {
      "id": "parsera.extract_markdown",
      "service": "parsera",
      "name": "extract_markdown",
      "description": "Extract clean Markdown from a webpage URL with Parsera.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "The webpage URL to convert into clean Markdown.",
            "format": "uri"
          },
          "proxyCountry": {
            "type": "string",
            "minLength": 1,
            "description": "Parsera proxy country to use for the webpage request."
          },
          "cookies": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The cookie name."
                },
                "value": {
                  "type": "string",
                  "description": "The cookie value."
                },
                "domain": {
                  "type": "string",
                  "description": "The cookie domain."
                },
                "path": {
                  "type": "string",
                  "description": "The cookie path."
                }
              },
              "additionalProperties": true,
              "required": [
                "name",
                "value"
              ],
              "description": "A browser cookie forwarded to Parsera during page extraction."
            },
            "description": "Cookies to use while Parsera fetches the webpage."
          }
        },
        "additionalProperties": false,
        "required": [
          "url"
        ],
        "description": "Input parameters for extracting clean Markdown from a URL with Parsera."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "markdown": {
            "anyOf": [
              {
                "type": "string",
                "description": "The Markdown content extracted by Parsera."
              },
              {
                "type": "null"
              }
            ]
          },
          "raw": {
            "description": "The original Parsera response payload."
          }
        },
        "additionalProperties": false,
        "description": "The normalized Markdown extraction result returned by Parsera."
      }
    },
    {
      "id": "parsera.list_llm_specs",
      "service": "parsera",
      "name": "list_llm_specs",
      "description": "List the LLM specifications available to Parsera requests.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "No input is required to list Parsera LLM specs."
      },
      "outputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "The list payload returned by Parsera."
      }
    },
    {
      "id": "parsera.list_proxy_countries",
      "service": "parsera",
      "name": "list_proxy_countries",
      "description": "List proxy countries available to Parsera extraction requests.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "No input is required to list Parsera proxy countries."
      },
      "outputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "The list payload returned by Parsera."
      }
    },
    {
      "id": "parsera.parse",
      "service": "parsera",
      "name": "parse",
      "description": "Parse structured attributes from raw HTML or text content already available to the caller.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "content": {
            "type": "string",
            "minLength": 1,
            "description": "Raw HTML or text content to parse."
          },
          "prompt": {
            "type": "string",
            "minLength": 1,
            "description": "Natural-language parsing instructions."
          },
          "attributes": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The output field name for the extracted attribute."
                },
                "description": {
                  "type": "string",
                  "minLength": 1,
                  "description": "Natural-language guidance for extracting this attribute."
                },
                "type": {
                  "type": "string",
                  "description": "Optional Parsera output type for this attribute."
                }
              },
              "additionalProperties": true,
              "required": [
                "name",
                "description"
              ],
              "description": "A structured attribute Parsera should extract from the source."
            },
            "description": "The structured attributes Parsera should extract from the supplied content.",
            "minItems": 1
          },
          "mode": {
            "type": "string",
            "minLength": 1,
            "description": "Parsera extractor mode to use for parsing."
          }
        },
        "additionalProperties": false,
        "required": [
          "content"
        ],
        "description": "Input parameters for parsing structured data from raw HTML or text with Parsera.",
        "anyOf": [
          {
            "required": [
              "prompt"
            ]
          },
          {
            "required": [
              "attributes"
            ]
          }
        ]
      },
      "outputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": true,
        "description": "The structured extraction payload returned by Parsera."
      }
    }
  ]
}
