It's correct. It's natural.
It's not a stock phrase.
It's a combination of a common word ("frank") and a common adjective ("fairly") that can be used with it.
"Frank" is a fairly common word, neither formal nor informal, used in both speaking and writing. It means a specific kind of honesty. It means "an honest statement that hasn't been softened out of politeness or concern for feelings." A "frank" person says directly what he means, without thinking about anybody's feelings.
If I have a subscription to "The New Yorker" magazine, and somebody who doesn't know it gives me a gift subscription so that I started getting two copies, and they asked me if I liked the gift, I might say one of two things:
1) "Yes, I love it, especially the cartoons."
2) "Frankly, I already subscribe to it. But they are going to make your gift an extension of my existing subscription."
We can and do modify "frank" with adjectives, such as "fairly frank" (meaning not entirely frank), "very frank," or "brutally frank."
"Brutally frank" means that the person is going to be honest even though they know, or ought to know, that it is going to hurt somebody's feelings.
Let's say we're at a clothing store and my wife tries something on and asks me "Do these pants make me look fat?"
I could answer "No." That's not frank.
I could answer "Yes, I think they do." That would be frank.
I could answer "Could I see how you look in this pair?" That would be fairly frank. I haven't actually said "yes," but I've given a hint.