Website Checker avatar

Website Checker

Try for free

No credit card required

Go to Store
Website Checker

Website Checker

lukaskrivka/website-checker
Try for free

No credit card required

Check any website you plan to scrape for expected Compute unit consumption, anti-scraping software, and reliability.

Developer
Maintained by Community

Actor Metrics

  • 12 monthly users

  • No reviews yet

  • 27 bookmarks

  • >99% runs succeeded

  • Created in Jan 2020

  • Modified a month ago

You can access the Website Checker programmatically from your own applications by using the Apify API. You can also choose the language preference from below. To use the Apify API, you’ll need an Apify account and your API token, found in Integrations settings in Apify Console.

1{
2  "openapi": "3.0.1",
3  "info": {
4    "version": "0.2",
5    "x-build-id": "SKRHQW51PZRm23LYv"
6  },
7  "servers": [
8    {
9      "url": "https://api.apify.com/v2"
10    }
11  ],
12  "paths": {
13    "/acts/lukaskrivka~website-checker/run-sync-get-dataset-items": {
14      "post": {
15        "operationId": "run-sync-get-dataset-items-lukaskrivka-website-checker",
16        "x-openai-isConsequential": false,
17        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
18        "tags": [
19          "Run Actor"
20        ],
21        "requestBody": {
22          "required": true,
23          "content": {
24            "application/json": {
25              "schema": {
26                "$ref": "#/components/schemas/inputSchema"
27              }
28            }
29          }
30        },
31        "parameters": [
32          {
33            "name": "token",
34            "in": "query",
35            "required": true,
36            "schema": {
37              "type": "string"
38            },
39            "description": "Enter your Apify token here"
40          }
41        ],
42        "responses": {
43          "200": {
44            "description": "OK"
45          }
46        }
47      }
48    },
49    "/acts/lukaskrivka~website-checker/runs": {
50      "post": {
51        "operationId": "runs-sync-lukaskrivka-website-checker",
52        "x-openai-isConsequential": false,
53        "summary": "Executes an Actor and returns information about the initiated run in response.",
54        "tags": [
55          "Run Actor"
56        ],
57        "requestBody": {
58          "required": true,
59          "content": {
60            "application/json": {
61              "schema": {
62                "$ref": "#/components/schemas/inputSchema"
63              }
64            }
65          }
66        },
67        "parameters": [
68          {
69            "name": "token",
70            "in": "query",
71            "required": true,
72            "schema": {
73              "type": "string"
74            },
75            "description": "Enter your Apify token here"
76          }
77        ],
78        "responses": {
79          "200": {
80            "description": "OK",
81            "content": {
82              "application/json": {
83                "schema": {
84                  "$ref": "#/components/schemas/runsResponseSchema"
85                }
86              }
87            }
88          }
89        }
90      }
91    },
92    "/acts/lukaskrivka~website-checker/run-sync": {
93      "post": {
94        "operationId": "run-sync-lukaskrivka-website-checker",
95        "x-openai-isConsequential": false,
96        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
97        "tags": [
98          "Run Actor"
99        ],
100        "requestBody": {
101          "required": true,
102          "content": {
103            "application/json": {
104              "schema": {
105                "$ref": "#/components/schemas/inputSchema"
106              }
107            }
108          }
109        },
110        "parameters": [
111          {
112            "name": "token",
113            "in": "query",
114            "required": true,
115            "schema": {
116              "type": "string"
117            },
118            "description": "Enter your Apify token here"
119          }
120        ],
121        "responses": {
122          "200": {
123            "description": "OK"
124          }
125        }
126      }
127    }
128  },
129  "components": {
130    "schemas": {
131      "inputSchema": {
132        "type": "object",
133        "required": [
134          "urlsToCheck"
135        ],
136        "properties": {
137          "urlsToCheck": {
138            "title": "URLs to check",
139            "type": "array",
140            "description": "A static list of URLs to check for captchas. To be able to add new URLs on the fly, enable the <b>Use request queue</b> option.<br><br>For details, see <a href='https://apify.com/apify/web-scraper#start-urls' target='_blank' rel='noopener'>Start URLs</a> in README.",
141            "items": {
142              "type": "object",
143              "required": [
144                "url"
145              ],
146              "properties": {
147                "url": {
148                  "type": "string",
149                  "title": "URL of a web page",
150                  "format": "uri"
151                }
152              }
153            }
154          },
155          "proxyConfiguration": {
156            "title": "Proxy Configuration",
157            "type": "object",
158            "description": "Specifies proxy servers that will be used by the scraper in order to hide its origin.<br><br>For details, see <a href='https://apify.com/apify/web-scraper#proxy-configuration' target='_blank' rel='noopener'>Proxy configuration</a> in README.",
159            "default": {}
160          },
161          "checkers.cheerio": {
162            "title": "Cheerio",
163            "type": "boolean",
164            "description": "Crawl with Cheerio",
165            "default": true
166          },
167          "checkers.puppeteer": {
168            "title": "Puppeteer",
169            "type": "boolean",
170            "description": "Crawl with Puppeteer",
171            "default": true
172          },
173          "checkers.playwright": {
174            "title": "Playwright",
175            "type": "boolean",
176            "description": "Crawl with Playwright",
177            "default": true
178          },
179          "saveSnapshot": {
180            "title": "Enabled",
181            "type": "boolean",
182            "description": "Will save HTML for Cheerio and HTML + screenshot for Puppeteer/Playwright",
183            "default": true
184          },
185          "enqueueAllOnDomain": {
186            "title": "Enqueue any URL on domain (no need for link selector or pseudo URLs)",
187            "type": "boolean",
188            "description": "Will enqueue any URLs on the domain",
189            "default": true
190          },
191          "linkSelector": {
192            "title": "Link Selector",
193            "type": "string",
194            "description": "A CSS selector saying which links on the page (<code>&lt;a&gt;</code> elements with <code>href</code> attribute) shall be followed and added to the request queue. This setting only applies if <b>Use request queue</b> is enabled. To filter the links added to the queue, use the <b>Pseudo-URLs</b> setting.<br><br>If <b>Link selector</b> is empty, the page links are ignored.<br><br>For details, see <a href='https://apify.com/apify/web-scraper#link-selector' target='_blank' rel='noopener'>Link selector</a> in README."
195          },
196          "pseudoUrls": {
197            "title": "Pseudo-URLs",
198            "type": "array",
199            "description": "Specifies what kind of URLs found by <b>Link selector</b> should be added to the request queue. A pseudo-URL is a URL with regular expressions enclosed in <code>[]</code> brackets, e.g. <code>http://www.example.com/[.*]</code>. This setting only applies if the <b>Use request queue</b> option is enabled.<br><br>If <b>Pseudo-URLs</b> are omitted, the actor enqueues all links matched by the <b>Link selector</b>.<br><br>For details, see <a href='https://apify.com/apify/web-scraper#pseudo-urls' target='_blank' rel='noopener'>Pseudo-URLs</a> in README.",
200            "default": [],
201            "items": {
202              "type": "object",
203              "required": [
204                "purl"
205              ],
206              "properties": {
207                "purl": {
208                  "type": "string",
209                  "title": "Pseudo-URL of a web page"
210                }
211              }
212            }
213          },
214          "repeatChecksOnProvidedUrls": {
215            "title": "Repeat checks on provided URLs",
216            "type": "integer",
217            "description": "Will access each URL multiple times. Useful to test the same URL or bypass blocking of the first page."
218          },
219          "maxNumberOfPagesCheckedPerDomain": {
220            "title": "Max number of pages checked per domain",
221            "type": "integer",
222            "description": "The maximum number of pages that the checker will load. The checker will stop when this limit is reached. It's always a good idea to set this limit in order to prevent excess platform usage for misconfigured scrapers. Note that the actual number of pages loaded might be slightly higher than this value.<br><br>If set to <code>0</code>, there is no limit."
223          },
224          "maxConcurrentPagesCheckedPerDomain": {
225            "title": "Maximum concurrent pages checked per domain",
226            "minimum": 1,
227            "type": "integer",
228            "description": "Specifies the maximum number of pages that can be processed by the checker in parallel for one domain. The checker automatically increases and decreases concurrency based on available system resources. This option enables you to set an upper limit, for example to reduce the load on a target website.",
229            "default": 500
230          },
231          "maxConcurrentDomainsChecked": {
232            "title": "Maximum number of concurrent domains checked",
233            "minimum": 1,
234            "maximum": 10,
235            "type": "integer",
236            "description": "Specifies the maximum number of domains that should be checked at a time. This setting is relevant when passing in more than one URL to check.",
237            "default": 5
238          },
239          "retireBrowserInstanceAfterRequestCount": {
240            "title": "Retire browser instance after request count",
241            "minimum": 1,
242            "type": "integer",
243            "description": "How often will the browser itself rotate. Pick a higher number for smaller consumption, pick a lower number to rotate (test) more proxies.",
244            "default": 10
245          },
246          "navigationTimeoutSecs": {
247            "title": "Navigation timeout (seconds)",
248            "minimum": 1,
249            "type": "integer",
250            "description": "Specifies the maximum time in seconds the request will wait for the page to load. If the page is not loaded within this time, the browser will throw an error and the page will be marked as failed.",
251            "default": 60
252          },
253          "puppeteer.headfull": {
254            "title": "Headfull browser (XVFB)",
255            "type": "boolean",
256            "description": "Only works for Puppeteer type!"
257          },
258          "puppeteer.useChrome": {
259            "title": "Use Chrome",
260            "type": "boolean",
261            "description": "Only works for Puppeteer type! Be careful that Chrome is not guaranteed to work with Puppeteer."
262          },
263          "puppeteer.waitFor": {
264            "title": "Wait for",
265            "type": "string",
266            "description": "Only works for Puppeteer type. Will wait on each page. You can provide number in ms or a selector.",
267            "default": "2000"
268          },
269          "puppeteer.memory": {
270            "title": "Memory",
271            "minimum": 1024,
272            "maximum": 32768,
273            "type": "integer",
274            "description": "Must be power of 2 between 128 and 32768.",
275            "default": 4096
276          },
277          "playwright.chrome": {
278            "title": "Chrome",
279            "type": "boolean",
280            "description": "Use Chrome when checking",
281            "default": false
282          },
283          "playwright.firefox": {
284            "title": "Firefox",
285            "type": "boolean",
286            "description": "Use Firefox when checking",
287            "default": true
288          },
289          "playwright.webkit": {
290            "title": "Safari (Webkit)",
291            "type": "boolean",
292            "description": "Use Safari when checking"
293          },
294          "playwright.useChrome": {
295            "title": "Use Chrome instead of Chromium",
296            "type": "boolean",
297            "description": "Only works for Playwright type! Be careful that Chrome is not guaranteed to work with Playwright."
298          },
299          "playwright.headfull": {
300            "title": "Headfull browser (XVFB)",
301            "type": "boolean",
302            "description": "If the browser should be headfull or not"
303          },
304          "playwright.waitFor": {
305            "title": "Wait for",
306            "type": "string",
307            "description": "Only works for playwright type. Will wait on each page. You can provide number in ms or a selector.",
308            "default": "2000"
309          },
310          "playwright.memory": {
311            "title": "Memory",
312            "minimum": 1024,
313            "maximum": 32768,
314            "type": "integer",
315            "description": "Must be power of 2 between 128 and 32768.",
316            "default": 4096
317          }
318        }
319      },
320      "runsResponseSchema": {
321        "type": "object",
322        "properties": {
323          "data": {
324            "type": "object",
325            "properties": {
326              "id": {
327                "type": "string"
328              },
329              "actId": {
330                "type": "string"
331              },
332              "userId": {
333                "type": "string"
334              },
335              "startedAt": {
336                "type": "string",
337                "format": "date-time",
338                "example": "2025-01-08T00:00:00.000Z"
339              },
340              "finishedAt": {
341                "type": "string",
342                "format": "date-time",
343                "example": "2025-01-08T00:00:00.000Z"
344              },
345              "status": {
346                "type": "string",
347                "example": "READY"
348              },
349              "meta": {
350                "type": "object",
351                "properties": {
352                  "origin": {
353                    "type": "string",
354                    "example": "API"
355                  },
356                  "userAgent": {
357                    "type": "string"
358                  }
359                }
360              },
361              "stats": {
362                "type": "object",
363                "properties": {
364                  "inputBodyLen": {
365                    "type": "integer",
366                    "example": 2000
367                  },
368                  "rebootCount": {
369                    "type": "integer",
370                    "example": 0
371                  },
372                  "restartCount": {
373                    "type": "integer",
374                    "example": 0
375                  },
376                  "resurrectCount": {
377                    "type": "integer",
378                    "example": 0
379                  },
380                  "computeUnits": {
381                    "type": "integer",
382                    "example": 0
383                  }
384                }
385              },
386              "options": {
387                "type": "object",
388                "properties": {
389                  "build": {
390                    "type": "string",
391                    "example": "latest"
392                  },
393                  "timeoutSecs": {
394                    "type": "integer",
395                    "example": 300
396                  },
397                  "memoryMbytes": {
398                    "type": "integer",
399                    "example": 1024
400                  },
401                  "diskMbytes": {
402                    "type": "integer",
403                    "example": 2048
404                  }
405                }
406              },
407              "buildId": {
408                "type": "string"
409              },
410              "defaultKeyValueStoreId": {
411                "type": "string"
412              },
413              "defaultDatasetId": {
414                "type": "string"
415              },
416              "defaultRequestQueueId": {
417                "type": "string"
418              },
419              "buildNumber": {
420                "type": "string",
421                "example": "1.0.0"
422              },
423              "containerUrl": {
424                "type": "string"
425              },
426              "usage": {
427                "type": "object",
428                "properties": {
429                  "ACTOR_COMPUTE_UNITS": {
430                    "type": "integer",
431                    "example": 0
432                  },
433                  "DATASET_READS": {
434                    "type": "integer",
435                    "example": 0
436                  },
437                  "DATASET_WRITES": {
438                    "type": "integer",
439                    "example": 0
440                  },
441                  "KEY_VALUE_STORE_READS": {
442                    "type": "integer",
443                    "example": 0
444                  },
445                  "KEY_VALUE_STORE_WRITES": {
446                    "type": "integer",
447                    "example": 1
448                  },
449                  "KEY_VALUE_STORE_LISTS": {
450                    "type": "integer",
451                    "example": 0
452                  },
453                  "REQUEST_QUEUE_READS": {
454                    "type": "integer",
455                    "example": 0
456                  },
457                  "REQUEST_QUEUE_WRITES": {
458                    "type": "integer",
459                    "example": 0
460                  },
461                  "DATA_TRANSFER_INTERNAL_GBYTES": {
462                    "type": "integer",
463                    "example": 0
464                  },
465                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
466                    "type": "integer",
467                    "example": 0
468                  },
469                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
470                    "type": "integer",
471                    "example": 0
472                  },
473                  "PROXY_SERPS": {
474                    "type": "integer",
475                    "example": 0
476                  }
477                }
478              },
479              "usageTotalUsd": {
480                "type": "number",
481                "example": 0.00005
482              },
483              "usageUsd": {
484                "type": "object",
485                "properties": {
486                  "ACTOR_COMPUTE_UNITS": {
487                    "type": "integer",
488                    "example": 0
489                  },
490                  "DATASET_READS": {
491                    "type": "integer",
492                    "example": 0
493                  },
494                  "DATASET_WRITES": {
495                    "type": "integer",
496                    "example": 0
497                  },
498                  "KEY_VALUE_STORE_READS": {
499                    "type": "integer",
500                    "example": 0
501                  },
502                  "KEY_VALUE_STORE_WRITES": {
503                    "type": "number",
504                    "example": 0.00005
505                  },
506                  "KEY_VALUE_STORE_LISTS": {
507                    "type": "integer",
508                    "example": 0
509                  },
510                  "REQUEST_QUEUE_READS": {
511                    "type": "integer",
512                    "example": 0
513                  },
514                  "REQUEST_QUEUE_WRITES": {
515                    "type": "integer",
516                    "example": 0
517                  },
518                  "DATA_TRANSFER_INTERNAL_GBYTES": {
519                    "type": "integer",
520                    "example": 0
521                  },
522                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
523                    "type": "integer",
524                    "example": 0
525                  },
526                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
527                    "type": "integer",
528                    "example": 0
529                  },
530                  "PROXY_SERPS": {
531                    "type": "integer",
532                    "example": 0
533                  }
534                }
535              }
536            }
537          }
538        }
539      }
540    }
541  }
542}

Website Checker OpenAPI definition

OpenAPI is a standard for designing and describing RESTful APIs, allowing developers to define API structure, endpoints, and data formats in a machine-readable way. It simplifies API development, integration, and documentation.

OpenAPI is effective when used with AI agents and GPTs by standardizing how these systems interact with various APIs, for reliable integrations and efficient communication.

By defining machine-readable API specifications, OpenAPI allows AI models like GPTs to understand and use varied data sources, improving accuracy. This accelerates development, reduces errors, and provides context-aware responses, making OpenAPI a core component for AI applications.

You can download the OpenAPI definitions for Website Checker from the options below:

If you’d like to learn more about how OpenAPI powers GPTs, read our blog post.

You can also check out our other API clients: