How is proper fee rate got on Bitcoin Cash I'm developing wallet system trading BTC, BCH and so on.
In BTC, I'm using estimatesmartfee API to calculate by transaction size and relayfee to guarantee minimum fee and it works well.
In BCH, though most of logic is same as BTC except estimatesmartfee, estimatefee is used in BCH.
However, as increasing transaction size by input UTXOs, sendrawtransaction is often failed because of shortage of fee.

How should it implemented properly? What is it affected?
I guess some reasons,
If I need to use API to get proper fee rete from some sites, what is that site?
The minRelayTxFee (which despite the name is a feerate) on BCH is 1000 satoshis per kilobyte or 1 satoshi per byte.

BCH has a blocksize limit of 32 MB and has generally had only a very small portion of the blockspace used. The current 7-day average is 27 kB blocksize. It rarely even peaks to 400 kB.

 via fork.lol

Given that BCH is currently using about 0.1% of its available blockspace, there is no need to pay a higher fee rate than minRelayTxFee.

Hence, I would recommend not to spend more time on research, but instead simply hardcode a fee rate of 1000 satoshis/kB. If you want to play it safe, you can go with 1500 or 2000 satoshis/kB. In the unlikely case that BCH traffic picks up enough to fill blocks, software support should probably improve at that time and you'll be able to reevaluate then.