{
  "service": "scrapingdog",
  "displayName": "Scrapingdog",
  "categories": [
    "Developer Tools",
    "Data"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "API Key",
      "placeholder": "SCRAPINGDOG_API_KEY",
      "description": "Scrapingdog API key passed with the api_key query parameter. Get it from the official member area: https://api.scrapingdog.com/login."
    }
  ],
  "homepageUrl": "https://www.scrapingdog.com",
  "actions": [
    {
      "id": "scrapingdog.fetch_html",
      "service": "scrapingdog",
      "name": "fetch_html",
      "description": "Fetch the HTML response for one target URL through the Scrapingdog Web Scraping API.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "The decoded target URL to scrape.",
            "format": "uri"
          },
          "dynamic": {
            "type": "boolean",
            "description": "Whether Scrapingdog should render JavaScript for the target page."
          }
        },
        "additionalProperties": false,
        "required": [
          "url"
        ],
        "description": "The input payload for fetching a web page through Scrapingdog."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "html": {
            "type": "string",
            "description": "The HTML or text content returned by Scrapingdog."
          },
          "statusCode": {
            "type": "integer",
            "description": "The HTTP status code returned by Scrapingdog."
          },
          "contentType": {
            "type": "string",
            "description": "The response content type returned by Scrapingdog."
          }
        },
        "additionalProperties": false,
        "required": [
          "html",
          "statusCode"
        ],
        "description": "The output payload for fetching a web page through Scrapingdog."
      }
    },
    {
      "id": "scrapingdog.get_account_usage",
      "service": "scrapingdog",
      "name": "get_account_usage",
      "description": "Retrieve Scrapingdog account usage and credit information for the API key.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "The input payload for retrieving Scrapingdog account usage."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "usage": {
            "type": "object",
            "additionalProperties": {
              "description": "A JSON-compatible value returned by Scrapingdog."
            },
            "description": "The JSON object returned by Scrapingdog for this request."
          }
        },
        "additionalProperties": false,
        "description": "The output payload for Scrapingdog account usage."
      }
    },
    {
      "id": "scrapingdog.google_maps_place",
      "service": "scrapingdog",
      "name": "google_maps_place",
      "description": "Retrieve details for one Google Maps place through Scrapingdog.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "dataId": {
            "type": "string",
            "minLength": 1,
            "description": "The Google Maps data ID for a place."
          },
          "placeId": {
            "type": "string",
            "minLength": 1,
            "description": "The Google Maps place ID."
          },
          "country": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "The two-letter country code used for localized results."
          },
          "type": {
            "type": "string",
            "enum": [
              "place"
            ],
            "description": "The Google Maps place request type."
          }
        },
        "additionalProperties": false,
        "description": "The input payload for retrieving one Google Maps place through Scrapingdog.",
        "anyOf": [
          {
            "required": [
              "dataId"
            ]
          },
          {
            "required": [
              "placeId"
            ]
          }
        ]
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "additionalProperties": {
              "description": "A JSON-compatible value returned by Scrapingdog."
            },
            "description": "The JSON object returned by Scrapingdog for this request."
          }
        },
        "additionalProperties": false,
        "description": "The output payload for a Scrapingdog Google Maps Places request."
      }
    },
    {
      "id": "scrapingdog.google_maps_search",
      "service": "scrapingdog",
      "name": "google_maps_search",
      "description": "Run a Google Maps Search request through Scrapingdog.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "minLength": 1,
            "description": "The Google Maps search query."
          },
          "ll": {
            "type": "string",
            "minLength": 1,
            "description": "The GPS coordinate origin used by Google Maps, such as @40.745,-74,15z."
          },
          "domain": {
            "type": "string",
            "minLength": 1,
            "description": "The Google domain to use for Google Maps results."
          },
          "language": {
            "type": "string",
            "minLength": 1,
            "description": "The language code for localized Google Maps results."
          },
          "country": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "The two-letter country code used for localized results."
          },
          "page": {
            "type": "integer",
            "minimum": 0,
            "description": "The Google Maps Search page number, starting at 0."
          }
        },
        "additionalProperties": false,
        "required": [
          "query"
        ],
        "description": "The input payload for running a Google Maps Search request through Scrapingdog."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "additionalProperties": {
              "description": "A JSON-compatible value returned by Scrapingdog."
            },
            "description": "The JSON object returned by Scrapingdog for this request."
          }
        },
        "additionalProperties": false,
        "description": "The output payload for a Scrapingdog Google Maps Search request."
      }
    },
    {
      "id": "scrapingdog.google_scholar_search",
      "service": "scrapingdog",
      "name": "google_scholar_search",
      "description": "Run a Google Scholar search request through Scrapingdog.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "minLength": 1,
            "description": "The Google Scholar search query."
          },
          "html": {
            "type": "boolean",
            "description": "Whether Scrapingdog should return raw Google Scholar HTML."
          },
          "country": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "The two-letter country code used for localized results."
          },
          "language": {
            "type": "string",
            "minLength": 1,
            "description": "The language code for localized Google Scholar results."
          },
          "lr": {
            "type": "string",
            "minLength": 1,
            "description": "The Google Scholar language restriction value, such as lang_en."
          },
          "cites": {
            "type": "string",
            "minLength": 1,
            "description": "The Google Scholar cited-by article ID."
          },
          "cluster": {
            "type": "string",
            "minLength": 1,
            "description": "The Google Scholar article cluster ID."
          },
          "asYlo": {
            "type": "string",
            "minLength": 1,
            "description": "The starting publication year filter."
          },
          "asYhi": {
            "type": "string",
            "minLength": 1,
            "description": "The ending publication year filter."
          },
          "asSdt": {
            "type": "string",
            "minLength": 1,
            "description": "The Google Scholar search type or patent/case law filter."
          },
          "safe": {
            "type": "string",
            "enum": [
              "active",
              "off"
            ],
            "description": "The Google Scholar safe search setting."
          },
          "filter": {
            "type": "boolean",
            "description": "Whether to enable Google's similar and omitted result filters."
          },
          "asVis": {
            "type": "boolean",
            "description": "Whether citations should be excluded from Scholar results."
          },
          "asRr": {
            "type": "boolean",
            "description": "Whether only review articles should be returned."
          },
          "page": {
            "type": "integer",
            "minimum": 0,
            "description": "The Google Scholar page number, starting at 0."
          },
          "results": {
            "type": "integer",
            "minimum": 1,
            "description": "The number of Google Scholar results to request."
          }
        },
        "additionalProperties": false,
        "required": [
          "query"
        ],
        "description": "The input payload for running a Google Scholar search request through Scrapingdog."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "additionalProperties": {
              "description": "A JSON-compatible value returned by Scrapingdog."
            },
            "description": "The JSON object returned by Scrapingdog for this request."
          }
        },
        "additionalProperties": false,
        "description": "The output payload for a Scrapingdog Google Scholar Search request."
      }
    },
    {
      "id": "scrapingdog.google_search",
      "service": "scrapingdog",
      "name": "google_search",
      "description": "Run a Google Search request through Scrapingdog and return parsed results.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "minLength": 1,
            "description": "The Google search query."
          },
          "domain": {
            "type": "string",
            "minLength": 1,
            "description": "The Google domain to use, such as google.com or google.co.uk."
          },
          "country": {
            "type": "string",
            "minLength": 2,
            "maxLength": 2,
            "description": "The two-letter country code used for localized results."
          },
          "cr": {
            "type": "string",
            "minLength": 1,
            "description": "The Google country restriction filter, such as countryUS."
          },
          "uule": {
            "type": "string",
            "minLength": 1,
            "description": "The encoded Google location parameter."
          },
          "location": {
            "type": "string",
            "minLength": 1,
            "description": "The origin location for the Google search."
          },
          "language": {
            "type": "string",
            "minLength": 1,
            "description": "The Google language code for result localization."
          },
          "lr": {
            "type": "string",
            "minLength": 1,
            "description": "The Google language restriction value, such as lang_en."
          },
          "ludocid": {
            "type": "string",
            "minLength": 1,
            "description": "The Google Business listing ID to extract."
          },
          "lsig": {
            "type": "string",
            "minLength": 1,
            "description": "The Google lsig parameter used for some knowledge graph views."
          },
          "kgmid": {
            "type": "string",
            "minLength": 1,
            "description": "The Google Knowledge Graph ID to scrape."
          },
          "si": {
            "type": "string",
            "minLength": 1,
            "description": "The cached Google search parameter string."
          },
          "ibp": {
            "type": "string",
            "minLength": 1,
            "description": "The Google layout expansion parameter."
          },
          "uds": {
            "type": "string",
            "minLength": 1,
            "description": "The Google filtering string."
          },
          "tbs": {
            "type": "string",
            "minLength": 1,
            "description": "The advanced Google search filter string."
          },
          "safe": {
            "type": "string",
            "enum": [
              "active",
              "off"
            ],
            "description": "The Google safe search setting."
          },
          "nfpr": {
            "type": "boolean",
            "description": "Whether to exclude results for an auto-corrected query."
          },
          "filter": {
            "type": "boolean",
            "description": "Whether to enable Google's similar and omitted result filters."
          },
          "page": {
            "type": "integer",
            "minimum": 0,
            "description": "The Google Search page number, starting at 0."
          },
          "results": {
            "type": "integer",
            "minimum": 1,
            "description": "The number of Google Search results to request."
          },
          "advanceSearch": {
            "type": "boolean",
            "description": "Whether to request Scrapingdog advanced Google Search parsing."
          },
          "mobSearch": {
            "type": "boolean",
            "description": "Whether to request mobile Google Search results."
          },
          "html": {
            "type": "boolean",
            "description": "Whether Scrapingdog should return full Google result page HTML."
          }
        },
        "additionalProperties": false,
        "required": [
          "query"
        ],
        "description": "The input payload for running a Google Search request through Scrapingdog."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "additionalProperties": {
              "description": "A JSON-compatible value returned by Scrapingdog."
            },
            "description": "The JSON object returned by Scrapingdog for this request."
          }
        },
        "additionalProperties": false,
        "description": "The output payload for a Scrapingdog Google Search request."
      }
    }
  ]
}
