The suspect, named only as Jens F., worked for a company that was contracted by the Bundestag to carry out regular checks on electric equipment in parliament.
“Against this background, the defendant had access to PDF files with the floor plans of” parliamentary properties, said federal prosecutors.
The suspect is believed to have decided sometime in the summer of 2017 to pass on the information to Russian secret services.
“For that, he prepared a data carrier with the corresponding PDF files and sent it to an employee in the Russian embassy in Berlin, who mainly works for the Russian military secret service GRU,” said prosecutors.
German intelligence services have repeatedly warned about spying attempts or cyberattacks launched by Russian hackers.
Chancellor Angela Merkel herself told parliament last May that she had concrete proof that Russia was targeting her in the attacks.
The German parliament fell victim in 2015 to a cyber assault, and local media have named the suspect in that attack as Dmitry Badin, who is also wanted by the FBI for other similar attempts.
The latest spy charges raised by prosecutors are likely to further inflame tensions between Berlin and Moscow.
Ties are already badly frayed over the poisoning and subsequent jailing of Russian opposition leader Alexei Navalny.
Moscow has firmly denied any accusations of cyberattacks, or involvement in the poisoning of Navalny using the deadly Soviet-era nerve agent Novichok.
But Germany has pointed to ‘unequivocal’ proof of the Novichok murder attempt.
Navalny had received treatment in Berlin but last month returned to Moscow where he was immediately imprisoned.
The European Union earlier this week agreed new sanctions on four senior Russian officials over the Navalny affair.
Russian President Vladimir Putin has lashed out at the decision, saying the West was seeking to “shackle” his country.