A method implemented on a requesting device having at least one processor, storage, and a communication platform connected to a network for seamless browsing, the method being implemented via a browser application comprising a rendering unit, a page store, a history store and a cookie store, the method comprising: receiving, via the browser application, from a server, synchronization information corresponding to browser state information related to the execution of an instance of the browser application on each of a plurality of devices; determining, via the browser application, from the synchronization information, whether the browser application instance on the requesting device was the last executed browser application instance among the browser application instances on each of the plurality of devices; responsive to a determination that the browser application instance on the requesting device was not the last executed browser application instance: upon receiving a user indication to switch to browsing from where browsing finished on a browsing application of a different device, requesting the server to provide a list of a plurality of sessions to which to switch; obtaining, from the server, the list of the plurality of sessions; displaying, via the browser application, the list of the plurality of sessions, each session being associated with execution of an instance of the browser application on a corresponding one of the plurality of devices and indicating a name and type of the corresponding one of the plurality of devices, wherein a user selects from the list displayed via the browser application any of the plurality of sessions; receiving, via the browser application, a user selection of a session from the list of the plurality of sessions; and responsive to the received user selection, updating, by the browser application, the rendering unit, the page store, the history store and the cookie store with session information retrieved from the server for the selected session; and responsive to a determination that the browser application instance on the requesting device was the last executed browser application instance, updating, by the browser application, the rendering unit, the page store, the history store and the cookie store with synchronization information for the requesting device. receiving, via the browser application, from a server, synchronization information corresponding to browser state information related to the execution of an instance of the browser application on each of a plurality of devices; determining, via the browser application, from the synchronization information, whether the browser application instance on the requesting device was the last executed browser application instance among the browser application instances on each of the plurality of devices; responsive to a determination that the browser application instance on the requesting device was not the last executed browser application instance: upon receiving a user indication to switch to browsing from where browsing finished on a browsing application of a different device, requesting the server to provide a list of a plurality of sessions to which to switch; obtaining, from the server, the list of the plurality of sessions; displaying, via the browser application, the list of the plurality of sessions, each session being associated with execution of an instance of the browser application on a corresponding one of the plurality of devices and indicating a name and type of the corresponding one of the plurality of devices, wherein a user selects from the list displayed via the browser application any of the plurality of sessions; receiving, via the browser application, a user selection of a session from the list of the plurality of sessions; and responsive to the received user selection, updating, by the browser application, the rendering unit, the page store, the history store and the cookie store with session information retrieved from the server for the selected session; and responsive to a determination that the browser application instance on the requesting device was the last executed browser application instance, upon receiving a user indication to switch to browsing from where browsing finished on a browsing application of a different device, requesting the server to provide a list of a plurality of sessions to which to switch; obtaining, from the server, the list of the plurality of sessions; displaying, via the browser application, the list of the plurality of sessions, each session being associated with execution of an instance of the browser application on a corresponding one of the plurality of devices and indicating a name and type of the corresponding one of the plurality of devices, wherein a user selects from the list displayed via the browser application any of the plurality of sessions; receiving, via the browser application, a user selection of a session from the list of the plurality of sessions; and responsive to the received user selection, updating, by the browser application, the rendering unit, the page store, the history store and the cookie store with session information retrieved from the server for the selected session; and responsive to a determination that the browser application instance on the requesting device was the last executed browser application instance, updating, by the browser application, the rendering unit, the page store, the history store and the cookie store with synchronization information for the requesting device.