{
  "openapi": "3.0.1",
  "info": {
    "title": "Site Render: website text, emails & phones ($13/1K pages)",
    "description": "Open company websites in a real browser and return each page's rendered text, emails, phone numbers, final URL, HTTP status and bot-challenge signals.",
    "version": "0.1",
    "x-build-id": "Qk67K5szqqEVpDu7h"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/mathtec~site-render/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-mathtec-site-render",
        "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/mathtec~site-render/runs": {
      "post": {
        "operationId": "runs-sync-mathtec-site-render",
        "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/mathtec~site-render/run-sync": {
      "post": {
        "operationId": "run-sync-mathtec-site-render",
        "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",
        "required": [
          "startUrls"
        ],
        "properties": {
          "startUrls": {
            "title": "Company sites",
            "type": "array",
            "description": "One URL per company site (homepage). Each may carry userData {company_number, hex} which is copied to every output row.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "followLinkWords": {
            "title": "Follow links whose text or URL contains",
            "type": "array",
            "description": "Admin setting (Scout agent-chose 2026-10-16, unruled): which internal links count as worth opening. Empty = homepage only.",
            "default": [
              "contact",
              "about",
              "team",
              "people",
              "leadership",
              "management",
              "board",
              "directors",
              "staff",
              "news",
              "press",
              "media",
              "products",
              "solutions",
              "services",
              "customers",
              "clients",
              "case-stud",
              "partners"
            ],
            "items": {
              "type": "string"
            }
          },
          "maxPagesPerSite": {
            "title": "Max pages per site (incl. homepage)",
            "minimum": 1,
            "type": "integer",
            "description": "Admin setting (Scout agent-chose 2026-10-16 from the harvest benchmark: max_pages 12 gave no gain beyond it; unruled). Spend control, not a data judgement.",
            "default": 12
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Datacenter by default; set apifyProxyGroups ['RESIDENTIAL'] for sites that block datacenter IPs (10 GB/month on mathtec).",
            "default": {
              "useApifyProxy": true
            }
          },
          "navigationTimeoutSecs": {
            "title": "Page load timeout (s)",
            "minimum": 5,
            "type": "integer",
            "description": "Admin setting (Scout agent-chose 2026-10-16, unruled): seconds before a page load counts as failed.",
            "default": 45
          },
          "waitAfterLoadMillis": {
            "title": "Extra wait after load (ms)",
            "minimum": 0,
            "type": "integer",
            "description": "Admin setting (Scout agent-chose 2026-10-16, unruled): extra wait so JavaScript-built pages fill in.",
            "default": 1500
          },
          "maxTextChars": {
            "title": "Max text characters kept per page",
            "minimum": 1000,
            "type": "integer",
            "description": "Admin setting (Scout agent-chose 2026-10-16, unruled): rendered text kept per page; the rest is cut, not judged.",
            "default": 60000
          },
          "blockResources": {
            "title": "Block images, media and fonts",
            "type": "boolean",
            "description": "When on, the browser cancels requests for the resource types listed in 'Resource types to block' before they download. Page text, emails and phones come from the page's HTML and scripts, so they are not affected; less data goes through the proxy, which matters most on residential proxy (billed per GB). Off = every resource loads, as before.",
            "default": false
          },
          "blockResourceTypes": {
            "title": "Resource types to block",
            "type": "array",
            "description": "Used only when 'Block images, media and fonts' is on. Playwright resource types: image, media, font, stylesheet, script, xhr, fetch, websocket, manifest, other. Blocking 'script', 'xhr' or 'fetch' can stop JavaScript-built pages from showing their text.",
            "default": [
              "image",
              "media",
              "font"
            ],
            "items": {
              "type": "string"
            }
          },
          "maxConcurrency": {
            "title": "Max concurrent pages",
            "minimum": 1,
            "type": "integer",
            "description": "Admin setting (Scout agent-chose 2026-10-16, unruled): pages open at once (cost/speed only).",
            "default": 10
          }
        }
      },
      "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}