Former German chancellor Gerhard Schroeder on Monday escaped being humiliatingly booted out of his party, as the ruling Social Democrats (SPD) found his ties with Vladimir Putin did not breach its rules.

Schroeder, 78, has come under growing criticism since Russia's February invasion of Ukraine over his continued friendship with Putin and his links to Russian energy companies.

The SPD's Hanover branch, where his membership is registered, opened a hearing in July to discuss 17 motions from local and regional chapters against his ongoing membership of the party.

But the branch said in a statement on Monday that the former chancellor was "not guilty of a violation of the party rules, as no violation can be proven against him".

The decision can be appealed, but legal experts say there are high hurdles for expelling members.

Schroeder, chancellor from 1998 to 2005, has refused to turn his back on the Russian president despite the Ukraine war.

His stance has made him an embarrassment to the SPD, which is also the party of Chancellor Olaf Scholz.

He has also been widely criticised for holding a number of lucrative posts at Russian energy giants, and it was only after much public pressure that Schroeder in May gave up his seat on the board of Russian energy group Rosneft.

He later also announced he would not be joining Gazprom's supervisory board as initially planned.

Germany's parliament in May removed some of the perks Schroeder was entitled to as an elder statesman, stripping him of an office and staff.

But Schroeder, who was Angela Merkel's immediate predecessor, has remained defiant and met with Putin in Moscow in July.

- 'Bad for our country' -

In an interview after the visit, he claimed Russia wanted a "negotiated solution" to the war -- comments branded as "disgusting" by Ukrainian President Volodymyr Zelensky.

Schroeder has also called on Berlin to reconsider its position on the Nord Stream 2 gas pipeline, which stands completed but was blocked by the German government in the run-up to the invasion of Ukraine.

Opposition lawmaker Thorsten Frei, from the centre-right CDU party, on Monday said the decision not to expel him was "bad for the SPD, but also bad for our whole country".

"This decision is very surprising for me. And it is also quite unbelievable in view of what we have seen from Gerhard Schroeder in the past weeks and months," he told Die Welt television.

SPD leader Lars Klingbeil said the move by the party's Hanover branch was purely a legal decision and Schroeder was "isolated" within the SPD as a result of his positions.

Germany's SPD has historically championed close ties with Russia, born out of the "Ostpolitik" policy of rapprochement and dialogue with the then Soviet Union, devised by former SPD chancellor Willy Brandt in the 1970s.

Senior SPD members, including the current president Frank-Walter Steinmeier -- a former foreign minister -- have faced mounting scrutiny since Russia's invasion of Ukraine.

A survey for the Bild daily on Sunday put the SPD on just 19 percent -- lagging in third place behind the conservatives on 27 percent and the Greens on 21 percent.