Create silence based on labels

Is it possible to create a silence based on an arbitrary label for a check? My use case is to send alerts via events with a proxy_entity, and metadata in labels, and then be able to silence these alerts via these labels. For e.g.

Alert1 -> proxy_entity: entity1, labels: { "url": foo, "name": foo }
Alert2 -> proxy_entity: entity2, labels: { "url": bar, "name": bar }
Alert3 -> proxy_entity: entity3, labels: { "url": baz, "name": foo }

How do I create a silence which silences all Alerts that match the label url: foo, so that I can silence Alert 1 and Alert 3.

One way to implement this is to add metadata to a dummy silence, and lookup this metadata in a filter or a handler. Not sure if a filter can do http requests. But this would be hack. It would be good to have this as a first class capability.