{
  "openapi": "3.0.1",
  "info": {
    "title": "Ultimate Clutch.co Scraper: B2B Agency Leads, Reviews & Emails",
    "description": "Scrape B2B agencies from Clutch.co by category, keyword or URL: names, websites, ratings, hourly rates, service focus, social profiles, client reviews with project budgets, and contact emails. Pay per result. Export CSV, JSON, Excel or API.",
    "version": "0.2",
    "x-build-id": "KocUp1MFPb7Hitgwc"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/fallarmony~clutch-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-fallarmony-clutch-scraper",
        "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/fallarmony~clutch-scraper/runs": {
      "post": {
        "operationId": "runs-sync-fallarmony-clutch-scraper",
        "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/fallarmony~clutch-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-fallarmony-clutch-scraper",
        "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": {
          "searchCategory": {
            "title": "Category",
            "enum": [
              "web-developers",
              "seo-firms",
              "agencies/digital-marketing",
              "app-developers",
              "developers",
              "web-designers",
              "it-services",
              "agencies/ppc",
              "developers/ecommerce",
              "agencies/branding",
              "developers/artificial-intelligence",
              "it-services/cybersecurity",
              "agencies/social-media-marketing",
              "agencies/content-marketing",
              "agencies/video-production",
              "developers/wordpress",
              "developers/shopify",
              "agencies/design",
              "agencies/graphic-designers",
              "pr-firms",
              "agencies/email",
              "agencies/creative"
            ],
            "type": "string",
            "description": "Clutch directory category to scrape (the part after clutch.co/). Ignored if 'Start URLs' is provided. Example: web-developers, seo-agencies, digital-marketing.",
            "default": "web-developers"
          },
          "searchKeyword": {
            "title": "Search keyword",
            "type": "string",
            "description": "Optional. Search Clutch.co by any keyword (e.g. 'shopify', 'react', 'fintech') instead of picking a category. Overrides 'Category'; ignored if 'Start URLs' is set."
          },
          "startUrls": {
            "title": "Start URLs (advanced)",
            "type": "array",
            "description": "Optional. Specific Clutch category/listing URLs to scrape. Overrides 'Category' and 'Search keyword'. To filter by location, append it to the category path: https://clutch.co/web-developers/california, https://clutch.co/web-developers/india, https://clutch.co/web-developers/london (the /uk/ /us/ /ca/ country prefixes also work). Tip: a keyword search like 'web developers india' finds the right directory automatically.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "maxItems": {
            "title": "Max companies",
            "minimum": 1,
            "maximum": 100000,
            "type": "integer",
            "description": "Maximum number of companies to scrape. Keep low for a first test run.",
            "default": 20
          },
          "enrichProfiles": {
            "title": "Enrich from profile page",
            "type": "boolean",
            "description": "Visit each company's profile page to add website, full address, founding year and full phone (extra requests, slower). Enables the 'Reviews' and 'Email' options below.",
            "default": false
          },
          "fastMode": {
            "title": "Fast mode (list only, skip website lookup)",
            "type": "boolean",
            "description": "Clutch only shows the website button on the first pages of each directory; deeper listings don't include it. By default the Actor visits those companies' profiles to fill the website in (full coverage, but much slower on large runs). Turn Fast mode ON to skip that: the run stays fast, but only companies from the first pages will have a website (deeper rows come back with an empty website). Great for smaller runs or when you don't need the website. Ignored when 'Enrich from profile page' is ON (profiles are visited anyway).",
            "default": false
          },
          "scrapeReviews": {
            "title": "Scrape client reviews",
            "type": "boolean",
            "description": "Include client reviews from each profile (requires 'Enrich from profile page'). Charged per review.",
            "default": false
          },
          "maxReviewsPerCompany": {
            "title": "Max reviews per company",
            "minimum": 0,
            "maximum": 100,
            "type": "integer",
            "description": "Cap the number of reviews saved (and charged) per company, so costs stay predictable. Set 0 to get all available reviews.",
            "default": 5
          },
          "enrichEmail": {
            "title": "Find contact email",
            "type": "boolean",
            "description": "Visit the agency's own website to find a public contact email (requires 'Enrich from profile page'). Charged per email found.",
            "default": false
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Proxy used for all requests. Leave on Automatic (datacenter) — the Actor solves Cloudflare with datacenter IPs plus automatic retries. Residential groups are not supported (and not needed); if you prefer your own proxies, paste them as Custom proxies.",
            "default": {
              "useApifyProxy": true
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}