Check if we find new value from a request
Global code
Move the code after your __main__ check into a function, since it's still in global scope.
PEP8
firstReq should be first_req, and the same for new_req.
Dict comprehension
I would rearrange your filtered comprehension to be only a dict, and to use dict.update. In other words,
filtered = {r: self._requests.get(r) for r in requests}

self._requests.update({
    r: time
    for r, orig_time in filtered.items()
    if orig_time is None or time - orig_time &gt;= self._cooldown
})

List comprehension
    firstReq = []
    for _ in range(random.randint(1, 5)):
        firstReq.append(f&quot;US {random.randint(1, 10)}&quot;)

can be
first_req = [
    f&quot;US {random.randint(1, 10)}&quot;
    for _ in range(random.randint(1, 5))
]

Diagnostic printing
    print(self._requests)

is out-of-place. Remove it, and if you still want this to happen, issue an equivalent statement from main(), perhaps printing the entire RequestFilter and overriding __str__ to return pprint.pformat(self._requests).
Change detection
Apparently what you actually want is to return a boolean that is true if self._requests has changed. This can be done like:
filtered = {r: self._requests.get(r) for r in requests}

old_requests = dict(self._requests)

self._requests.update({
    r: time
    for r, orig_time in filtered.items()
    if orig_time is None or time - orig_time &gt;= self._cooldown
})

return old_requests == self._requests