Skip to content

Custom Filtering

When filter_item() exists in your hook, the built-in keyword filter is skipped entirely. This gives you full control over which items make it to the database.

name = "Custom Filter Example"
url = "https://example-jobs.com/listings"
selector = ".job-card"
interval = 60
fields = [
"title:h3.job-title",
"company:.company-name",
"salary:.salary-range",
"link:a.apply-link@href",
]
  • filter_item is mutually exclusive with keywords in config
  • Return nil to drop, return the item to keep
  • You can mutate fields before storage
  • before_notify can silence notifications based on item count