Does Dropbox provide an API so that I will pass public file URL and Dropbox will take over it to read and upload and return appropriate response.
Yes, Dropbox offers the /2/files/save_url endpoint which can be used to save a file to Dropbox by supplying a URL. It either returns the result directly, or an async job ID. If it returns an async job ID, you would then use /2/files/save_url/check_job_status to check the result.
By the way, those are links to the documentation for the HTTPS endpoints themselves, but we recommend using one of the official SDKs if possible. Those have corresponding native methods for the HTTPS endpoints.