1. acquire or possess evidence against, or a particular advantage over somebody
have years of experience on somebody
If you ‘have something on somebody’ it means you are in possession of information or evidence that could be used to gain an advantage over someone else or in order to threaten or blackmail someone. This is an informal phrase similar in meaning to ‘have dirt on someone’ or ‘have information on someone’. This expression is most commonly used when discussing evidence in relation to wrongdoing or crime, or when discussing an advantage a person or group holds over another. For that reason, it can be applied in either a social or professional setting. It is often said with a tone of defiance ('the police have nothing on me!'), arrogance ('I've got years of experience on you'), or a combination of both.