The best way to get speaking engagements is as follows:
1. Make sure --> you <-- are a quality product. Do you have a message that will sell? Do you have a personal brand that will stand out among countless other people in your field, and/or in the speaking/training world?
2. Identify your market. Who will pay to have you speak in front of them, or conduct training with them?
3. Practice in front of groups, even if you are a great speaker. Watch, listen, read, and absorb the cadence and presence of professional speakers, and make their world your own.
4. Create a dynamite video, one-sheet, and website, then write a book. Those are the things that will show a potential client that you are worth hiring, and worth the fee that you command.
5. Be reasonable in your fees. Ask around what other speakers are getting. Start with "free" speaking engagements, and test the water with various fees. Work your way up to $1500-2500/speaking engagement, plus travel expenses. Then, work your way up from there.
4. Create a value proposition and pitch that no one can refuse. Also, don't forget to "salvage the sale" if you get a "no" from a potential client. If you have books, ask them to buy 500 copies of your book, and then you will speak free. If you need video of you speaking, ask them to give you an honorarium and pay your travel, but pay for a video team to come in and record.
It will take time, but it will be worth it in the end. Speakers can be very well compensated for their ideas and effort. Good luck!