{
  "service": "openpagerank",
  "displayName": "OpenPageRank",
  "categories": [
    "Data",
    "Marketing"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "API Key",
      "placeholder": "OPENPAGERANK_API_KEY",
      "description": "OpenPageRank API key sent with the API-OPR header. Get free API access from the OpenPageRank signup page: https://www.domcop.com/openpagerank/auth/signup.",
      "extraFields": []
    }
  ],
  "homepageUrl": "https://openpagerank.com",
  "actions": [
    {
      "id": "openpagerank.get_page_rank",
      "service": "openpagerank",
      "name": "get_page_rank",
      "description": "Look up OpenPageRank scores for one or more domains and return normalized rank metadata.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "domains": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "One domain name."
            },
            "description": "The list of domains to query in one request.",
            "minItems": 1,
            "maxItems": 100
          }
        },
        "additionalProperties": false,
        "required": [
          "domains"
        ],
        "description": "Input parameters for looking up OpenPageRank scores."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "statusCode": {
            "type": "integer",
            "description": "The overall HTTP-style status code returned by OpenPageRank."
          },
          "results": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "domain": {
                  "type": "string",
                  "description": "The domain that was queried."
                },
                "statusCode": {
                  "type": "integer",
                  "description": "The HTTP-style status code returned for this domain."
                },
                "error": {
                  "type": "string",
                  "description": "The error message returned for this domain."
                },
                "pageRankInteger": {
                  "type": "integer",
                  "description": "The integer Page Rank score returned by OpenPageRank."
                },
                "pageRankDecimal": {
                  "type": "number",
                  "description": "The decimal Page Rank score returned by OpenPageRank."
                },
                "rank": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The rank returned by OpenPageRank, or null when unavailable."
                    },
                    {
                      "type": "null"
                    }
                  ]
                }
              },
              "additionalProperties": false,
              "description": "A single OpenPageRank lookup result."
            },
            "description": "The per-domain lookup results returned by OpenPageRank."
          }
        },
        "additionalProperties": false,
        "description": "The normalized OpenPageRank lookup result."
      }
    }
  ]
}
