Content & Listings Monitor avatar

Content & Listings Monitor

Try for free

No credit card required

Go to Store
Content & Listings Monitor

Content & Listings Monitor

cyberfly/listingmonitor
Try for free

No credit card required

Monitor anything, anywhere. Receive mobile alerts or execute actions on updates of interest. Useful for listings, news, articles, products and more.

You can access the Content & Listings Monitor programmatically from your own applications by using the Apify API. You can 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.0",
5    "x-build-id": "ABVW9s7C8cyggnLzb"
6  },
7  "servers": [
8    {
9      "url": "https://api.apify.com/v2"
10    }
11  ],
12  "paths": {
13    "/acts/cyberfly~listingmonitor/run-sync-get-dataset-items": {
14      "post": {
15        "operationId": "run-sync-get-dataset-items-cyberfly-listingmonitor",
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/cyberfly~listingmonitor/runs": {
50      "post": {
51        "operationId": "runs-sync-cyberfly-listingmonitor",
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/cyberfly~listingmonitor/run-sync": {
93      "post": {
94        "operationId": "run-sync-cyberfly-listingmonitor",
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        "properties": {
134          "config": {
135            "title": "Config",
136            "enum": [
137              "@ CUSTOM",
138              "eBay - item @",
139              "eBay - list @",
140              "FlexJobs",
141              "Freelancer",
142              "HackerNews",
143              "HackerNews + post metadata",
144              "StackOverflow",
145              "StackOverflow - Bounties",
146              "TechCrunch"
147            ],
148            "type": "string",
149            "description": "Existing watchers to execute. <b>Need more?</b> <a href='https://apify.com/cyberfly' target='_blank' rel='noopener'>Let's get in touch!</a>",
150            "default": "HackerNews"
151          },
152          "url": {
153            "title": "URL",
154            "type": "string",
155            "description": "URL to load for content check or monitoring"
156          },
157          "includeUrl": {
158            "title": "Include in output",
159            "type": "boolean",
160            "description": "Extend each output result with this URL - you can use custom scraper instead with this extractor: `node.href` (URLs of list item links) or `document.location.href` (URL of current page)",
161            "default": false
162          },
163          "selectors": {
164            "title": "Content selectors (simple default)",
165            "type": "array",
166            "description": "Content selectors to monitor for each element to monitor and compare against previous listings (e.g. date, title, headers, content, keywords)",
167            "items": {
168              "type": "string"
169            }
170          },
171          "scrapers": {
172            "title": "Custom scrapers (advanced override of selectors)",
173            "type": "string",
174            "description": "Content extractors to apply for each element to monitor and compare against previous listings (e.g. date, title, headers, content, keywords). CTRL + / on selection to un-comment the example code block."
175          },
176          "watch": {
177            "title": "Watch",
178            "type": "boolean",
179            "description": "Run in default check mode (schedulable) or infinite watch mode (continuous) - latter might be more resource intensive",
180            "default": false
181          },
182          "delay": {
183            "title": "Delay",
184            "minimum": 1,
185            "maximum": 99999,
186            "type": "integer",
187            "description": "Amount of time to wait before next check (watch mode only)",
188            "default": 300
189          },
190          "limit": {
191            "title": "Limit",
192            "maximum": 99999,
193            "type": "integer",
194            "description": "Limit items to keep in dataset (history)",
195            "default": 1000
196          },
197          "options.headless": {
198            "title": "Headless",
199            "type": "boolean",
200            "description": "Run browser in invisible headless mode without GUI - more efficient but may break on some websites",
201            "default": false
202          },
203          "options.useChrome": {
204            "title": "Chrome",
205            "type": "boolean",
206            "description": "Run full browser (Chrome instead of Chromium) - less efficient but may work better on some websites",
207            "default": false
208          },
209          "options.useFingerprints": {
210            "title": "Stealth",
211            "type": "boolean",
212            "description": "Use automatic fingerprint spoofing to prevent automation from being detected on sensitive websites",
213            "default": false
214          },
215          "options.useTrafficBlocker": {
216            "title": "Blocker",
217            "type": "boolean",
218            "description": "Use network traffic blocker for any fluff and media to save resources - may break on some websites",
219            "default": true
220          },
221          "limits.alerts": {
222            "title": "Alerts",
223            "minimum": 1,
224            "maximum": 99,
225            "type": "integer",
226            "description": "Limit amount of alerts for a single check (one check/watch cycle). Remaining items will only be stored in output without notification.",
227            "default": 10
228          },
229          "limits.results": {
230            "title": "Results",
231            "minimum": 1,
232            "maximum": 9999,
233            "type": "integer",
234            "description": "Limit amount of alerts for a single check (one check/watch cycle). Remaining items will only be stored in output without notification.",
235            "default": 100
236          },
237          "keywords": {
238            "title": "Keywords (simple default)",
239            "type": "array",
240            "description": "Filter items to match specific keywords. Use the more advanced filters for more refined conditions.",
241            "default": [],
242            "items": {
243              "type": "string"
244            }
245          },
246          "filters": {
247            "title": "Filters (advanced override)",
248            "type": "string",
249            "description": "Advanced alternative to keywords. Define exact rules to match each item against specified conditions. CTRL + / on selection to un-comment the example code block."
250          },
251          "matcher": {
252            "title": "Fields (for relative filters)",
253            "type": "string",
254            "description": "Define how to match updates with records for relative filters (compare against previous records). Declare static fields to consider items identical. Exclude dynamic fields to ignore them from comparison."
255          },
256          "pages.enable": {
257            "title": "Pages?",
258            "type": "boolean",
259            "description": "Enable automatic pagination",
260            "default": false
261          },
262          "pages.retries": {
263            "title": "Retries",
264            "minimum": 1,
265            "maximum": 10,
266            "type": "integer",
267            "description": "Number of attempts to load more content through automatic pagination before considering results complete.",
268            "default": 3
269          },
270          "pages.selector": {
271            "title": "Pagination button selector",
272            "type": "string",
273            "description": "Pagination button selector (right arrow, load more etc.)"
274          },
275          "alerts.enable": {
276            "title": "Alert?",
277            "type": "boolean",
278            "description": "Notify specified channels on updates",
279            "default": true
280          },
281          "alerts.mail.enable": {
282            "title": "E-mail",
283            "type": "boolean",
284            "description": "Enable channel",
285            "default": false
286          },
287          "alerts.mail.address": {
288            "title": "E-mail",
289            "type": "string",
290            "description": "E-mail address"
291          },
292          "alerts.ntfy.enable": {
293            "title": "Ntfy",
294            "type": "boolean",
295            "description": "Enable channel <a href='https://ntfy.sh' target='_blank' rel='noopener'>Ntfy</a>",
296            "default": false
297          },
298          "alerts.ntfy.channel": {
299            "title": "Channel",
300            "type": "string",
301            "description": "Ntfy topic"
302          },
303          "hooks.load": {
304            "title": "Page load",
305            "type": "string",
306            "description": "Action to perform on page load (e.g. confirm cookie consent dialog)"
307          },
308          "login.url": {
309            "title": "Login URL",
310            "type": "string",
311            "description": "Login page in case website redirect between content and login page is not automatic"
312          },
313          "login.username": {
314            "title": "Username",
315            "type": "string",
316            "description": "Encrypted username (if applicable)"
317          },
318          "login.password": {
319            "title": "Password",
320            "type": "string",
321            "description": "Encrypted password (if applicable)"
322          },
323          "login.selectors.username": {
324            "title": "Username selector",
325            "type": "string",
326            "description": "Username selector on the login screen (if applicable)"
327          },
328          "login.selectors.password": {
329            "title": "Password selector",
330            "type": "string",
331            "description": "Password selector on the login screen (if applicable)"
332          },
333          "session": {
334            "title": "Session?",
335            "type": "boolean",
336            "description": "Store and reuse a login session for this website (if applicable)",
337            "default": false
338          },
339          "cookies": {
340            "title": "Cookies",
341            "type": "array",
342            "description": "Insert custom cookies from external browser to restore specific local state. Export cookies using browser extension EditThisCookie"
343          },
344          "proxy": {
345            "title": "Proxy",
346            "type": "object",
347            "description": "Define proxy to pass data through",
348            "default": {
349              "useApifyProxy": false
350            }
351          }
352        }
353      },
354      "runsResponseSchema": {
355        "type": "object",
356        "properties": {
357          "data": {
358            "type": "object",
359            "properties": {
360              "id": {
361                "type": "string"
362              },
363              "actId": {
364                "type": "string"
365              },
366              "userId": {
367                "type": "string"
368              },
369              "startedAt": {
370                "type": "string",
371                "format": "date-time",
372                "example": "2025-01-08T00:00:00.000Z"
373              },
374              "finishedAt": {
375                "type": "string",
376                "format": "date-time",
377                "example": "2025-01-08T00:00:00.000Z"
378              },
379              "status": {
380                "type": "string",
381                "example": "READY"
382              },
383              "meta": {
384                "type": "object",
385                "properties": {
386                  "origin": {
387                    "type": "string",
388                    "example": "API"
389                  },
390                  "userAgent": {
391                    "type": "string"
392                  }
393                }
394              },
395              "stats": {
396                "type": "object",
397                "properties": {
398                  "inputBodyLen": {
399                    "type": "integer",
400                    "example": 2000
401                  },
402                  "rebootCount": {
403                    "type": "integer",
404                    "example": 0
405                  },
406                  "restartCount": {
407                    "type": "integer",
408                    "example": 0
409                  },
410                  "resurrectCount": {
411                    "type": "integer",
412                    "example": 0
413                  },
414                  "computeUnits": {
415                    "type": "integer",
416                    "example": 0
417                  }
418                }
419              },
420              "options": {
421                "type": "object",
422                "properties": {
423                  "build": {
424                    "type": "string",
425                    "example": "latest"
426                  },
427                  "timeoutSecs": {
428                    "type": "integer",
429                    "example": 300
430                  },
431                  "memoryMbytes": {
432                    "type": "integer",
433                    "example": 1024
434                  },
435                  "diskMbytes": {
436                    "type": "integer",
437                    "example": 2048
438                  }
439                }
440              },
441              "buildId": {
442                "type": "string"
443              },
444              "defaultKeyValueStoreId": {
445                "type": "string"
446              },
447              "defaultDatasetId": {
448                "type": "string"
449              },
450              "defaultRequestQueueId": {
451                "type": "string"
452              },
453              "buildNumber": {
454                "type": "string",
455                "example": "1.0.0"
456              },
457              "containerUrl": {
458                "type": "string"
459              },
460              "usage": {
461                "type": "object",
462                "properties": {
463                  "ACTOR_COMPUTE_UNITS": {
464                    "type": "integer",
465                    "example": 0
466                  },
467                  "DATASET_READS": {
468                    "type": "integer",
469                    "example": 0
470                  },
471                  "DATASET_WRITES": {
472                    "type": "integer",
473                    "example": 0
474                  },
475                  "KEY_VALUE_STORE_READS": {
476                    "type": "integer",
477                    "example": 0
478                  },
479                  "KEY_VALUE_STORE_WRITES": {
480                    "type": "integer",
481                    "example": 1
482                  },
483                  "KEY_VALUE_STORE_LISTS": {
484                    "type": "integer",
485                    "example": 0
486                  },
487                  "REQUEST_QUEUE_READS": {
488                    "type": "integer",
489                    "example": 0
490                  },
491                  "REQUEST_QUEUE_WRITES": {
492                    "type": "integer",
493                    "example": 0
494                  },
495                  "DATA_TRANSFER_INTERNAL_GBYTES": {
496                    "type": "integer",
497                    "example": 0
498                  },
499                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
500                    "type": "integer",
501                    "example": 0
502                  },
503                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
504                    "type": "integer",
505                    "example": 0
506                  },
507                  "PROXY_SERPS": {
508                    "type": "integer",
509                    "example": 0
510                  }
511                }
512              },
513              "usageTotalUsd": {
514                "type": "number",
515                "example": 0.00005
516              },
517              "usageUsd": {
518                "type": "object",
519                "properties": {
520                  "ACTOR_COMPUTE_UNITS": {
521                    "type": "integer",
522                    "example": 0
523                  },
524                  "DATASET_READS": {
525                    "type": "integer",
526                    "example": 0
527                  },
528                  "DATASET_WRITES": {
529                    "type": "integer",
530                    "example": 0
531                  },
532                  "KEY_VALUE_STORE_READS": {
533                    "type": "integer",
534                    "example": 0
535                  },
536                  "KEY_VALUE_STORE_WRITES": {
537                    "type": "number",
538                    "example": 0.00005
539                  },
540                  "KEY_VALUE_STORE_LISTS": {
541                    "type": "integer",
542                    "example": 0
543                  },
544                  "REQUEST_QUEUE_READS": {
545                    "type": "integer",
546                    "example": 0
547                  },
548                  "REQUEST_QUEUE_WRITES": {
549                    "type": "integer",
550                    "example": 0
551                  },
552                  "DATA_TRANSFER_INTERNAL_GBYTES": {
553                    "type": "integer",
554                    "example": 0
555                  },
556                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
557                    "type": "integer",
558                    "example": 0
559                  },
560                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
561                    "type": "integer",
562                    "example": 0
563                  },
564                  "PROXY_SERPS": {
565                    "type": "integer",
566                    "example": 0
567                  }
568                }
569              }
570            }
571          }
572        }
573      }
574    }
575  }
576}

Content & Listings Monitor 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 Content & Listings Monitor 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:

Developer
Maintained by Community

Actor Metrics

  • 1 monthly user

  • 2 bookmarks

  • >99% runs succeeded

  • Created in Jan 2024

  • Modified a month ago