Yes it’s free to add business in all these local maps and directories, yet some search engines like Yahoo charge a nominal fee for Enhanced features. But it’s worth to add business in basic listings also. Some companies provide services to optimize maps and listings over local directories. Normal fees start from $500 to $700 for setting up things and then $99 to $199 for ongoing recurring subscriptions. But in fact you can also add listings on your own, in case you find it difficult or a tedious job Add Local Listing provides services which list your business in Local Maps and Local Directories (one time).
Check Buy Local Business Listings to list your business in all major search engines and local business directories.