Unusually, in St Pete's, local tours are not a lot cheaper than ship's tours - esp bearing in mind Thomson tours are generally cheaper than the identical tour via other ships.
But the experience with local operators will be much better - groups are normally a max 16, early admission to Hermitage, etc..
Might be a problem getting a group together - needs 8 to get a tour at the standard price, & local operators don't always offer individual bookings for all ships- esp comparative tiddlers like Spirit.
Contact Alla, SPB, Red October, Anastasia & TJ Tours (just google them) - they're pretty efficient at getting back to you. You'll probably find they already have folk from your ship registered for tours & your choice of operator may be dictated by who is offering a tour that you can join. But no worries, they all have excellent reputations.
Don't delay, you've left it a bit late & life will be complicated trying to sort out St Pete's once you're at sea .For instance they will need your passport details to organise your visa-waiver, which you'll have to print-off.
Also payment - they generally price in US dollars & although other currencies are accepted payment in USD avoids grief over exchange rates, so you'll need to take US dollars. Credit cards are accepted, but I think they all add the commission charge. Payment is on-the-day (start of day 2 if you're on a 2 day tour). My reference to US dollars is for paying for a tour only - USD are no use for anything else on your cruise.
I expect you're aware that unless you take a pre-booked tour either with the ship or with one of those accredited local operators, you'll need a personal visa - which is expensive & complicated, & you're probably too late to organise that anyway.