Police said it is highly probable that Lopez has done this before.
They are looking for more potential victims in the surrounding area.
Police say Lopez flashed a security badge at a prostitute and forcibly raped her.
"She believed him to be a police officer," said Pomona Police Dept. Sgt. Michael Oliveri.
Oliveri said that the prostitute reported the rape to police within an hour and a full-scale investigation followed.
At first, investigators could not rule out if the suspect was a policeman.
"When I got that information it was very concerning because every chief of police wants to maintain the integrity of his department. That's why Internal Affairs was quickly called in. One of the first steps we had to do was show it wasn't one of our officers because that's very important," Pomona Police Chief Joe Romero said.
Investigators got their big break two days after the rape when the victim saw the suspect drive by and wrote down his license plate number.
"An arrest was made last night and this person is not a police officer. This person is not even a security officer," Sgt. Oliveri said.
Lopez was arrested in Montclair, where police say he was preparing to pick up another prostitute.
The victim identified Lopez as the man who raped her and he has admitted the crime.
Lopez is being held on $1 million bail.
He will be charged with rape and impersonating a police officer.
If you are a victim of Marvin Lopez, call Pomona Police at (909) 620-2155.