{
  "openapi": "3.0.1",
  "info": {
    "title": "Website Audit Lead Finder — Web Design Leads",
    "description": "Finds businesses with bad websites and turns them into qualified leads. Bulk-checks any list of sites for missing SSL, broken mobile layout, slow load times and outdated tech, then scores each 0-100 with a plain-English issue list. Built for web designers and SEO agencies.",
    "version": "0.1",
    "x-build-id": "OlhVlFsZgdb0E5lk4"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/jurassic_jove~website-audit-leads/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-jurassic_jove-website-audit-leads",
        "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/jurassic_jove~website-audit-leads/runs": {
      "post": {
        "operationId": "runs-sync-jurassic_jove-website-audit-leads",
        "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/jurassic_jove~website-audit-leads/run-sync": {
      "post": {
        "operationId": "run-sync-jurassic_jove-website-audit-leads",
        "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": {
          "searchTerms": {
            "title": "Business categories to discover",
            "type": "array",
            "description": "Discovery mode. Business categories to look up on Google Maps, e.g. \"plumbers\", \"dentists\", \"law firms\". Combined with the Location below. Only businesses that publicly list a website are audited. Leave empty if you are supplying your own list further down.",
            "items": {
              "type": "string"
            }
          },
          "location": {
            "title": "Location",
            "type": "string",
            "description": "City, region or country for the Google Maps search, e.g. \"Tampa, FL\". Only used with the business categories above."
          },
          "datasetIds": {
            "title": "Or: Apify dataset IDs",
            "type": "array",
            "description": "List mode. IDs of datasets produced by previous Actor runs (Google Maps Lead Generator Pro, Business Finder, your own scrapers). All items are fetched with pagination. Invalid IDs are skipped with a warning, never a crash.",
            "items": {
              "type": "string"
            }
          },
          "csvUrls": {
            "title": "Or: CSV file URLs",
            "type": "array",
            "description": "List mode. Public URLs to CSV files (a key-value store download link works). The parser tolerates a BOM, comma/semicolon/tab/pipe delimiters and quoted fields. Malformed rows are skipped and counted, never crashing the run.",
            "items": {
              "type": "string"
            }
          },
          "inlineRecords": {
            "title": "Or: inline records",
            "type": "array",
            "description": "List mode. Records pasted directly as a JSON array. Accepts objects or bare URL strings. The example below shows the format — replace it with your own records or clear it."
          },
          "websiteField": {
            "title": "Website field name",
            "type": "string",
            "description": "Which field in your records holds the website. Leave empty to auto-detect — the Actor looks for website, websiteUrl, url, domain, site, homepage or web (case-insensitive) and also accepts bare URL strings."
          },
          "maxSites": {
            "title": "Maximum sites to audit",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "Hard cap on billable audits. Each site actually reached and evaluated costs $0.02. The Console pre-fills 10 for a cheap trial run (~$0.20); the default for API runs is 100 (~$2.00).",
            "default": 100
          },
          "maxTotalChargeUsd": {
            "title": "Maximum total charge (USD)",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "Hard spend cap for the whole run. The Actor stops cleanly the moment this budget is reached and reports what it did not process — it never silently drops records.",
            "default": 10
          },
          "onlyBelowScore": {
            "title": "Only output sites scoring below",
            "minimum": 0,
            "maximum": 100,
            "type": "integer",
            "description": "Optional lead filter. Only sites scoring BELOW this number are written to the dataset — those are your actual leads. Leave empty to output every audited site. Note: filtered-out sites were still fully audited, so they are still charged; unreachable sites always pass the filter (a dead website is the strongest pitch there is)."
          },
          "extractEmails": {
            "title": "Extract contact details",
            "type": "boolean",
            "description": "Collect emails, phone numbers and social links during the SAME browser visit that runs the audit (plus up to 2 contact/about pages). One visit, two jobs — this adds no extra charge.",
            "default": true
          },
          "aiPitchSummary": {
            "title": "Add an AI outreach pitch",
            "type": "boolean",
            "description": "Write a 2-sentence, ready-to-send pitch angle for each lead, referencing that site's specific problems. Charged $0.012 per pitch generated. Off by default.",
            "default": false
          },
          "pitchTone": {
            "title": "Pitch tone",
            "enum": [
              "consultative",
              "direct",
              "friendly"
            ],
            "type": "string",
            "description": "Only used when the AI pitch is enabled.",
            "default": "consultative"
          },
          "maxConcurrency": {
            "title": "Concurrency",
            "minimum": 1,
            "maximum": 8,
            "type": "integer",
            "description": "How many sites are audited in parallel. Higher is faster but heavier — above 5, raise the run's memory to 4096 MB.",
            "default": 3
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "OFF by default, on purpose. Ordinary business websites are visited once each and do not need a proxy, and routing through one measurably distorts the very numbers this Actor sells — load time and page weight. A residential proxy also bills per GB, and because the audit deliberately downloads images to weigh the page, that gets expensive fast. Turn a proxy on only if you see sites coming back as \"blocked\".",
            "default": {
              "useApifyProxy": false
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}