From your code, it looks like provider is a variant or some other variable, and not an object.
Is Nothing is for objects only, yet later you say it’s a value that should either be NULL or NOT NULL, which would be handled by IsNull.
Try using:
If Not IsNull(provider) Then
url = url & "&provider=" & provider
End if
Alternately, if that doesn’t work, try:
If provider <> "" Then
url = url & "&provider=" & provider
End if