XPM will always need a Page URL to work, but it can deal with editing content which isn't embedded on that Page.
So when supplying the XPM markup, you have to ensure you are adding the Page markup also, and use a "dummy" Page URI. That is the URI of a Page which actually exists in your CMS, but you will only use for editing the content on your third party page. It is basically making sure that your content has the XPM markup it currently already has, and add the following for the Page:
<!-- Page Settings: {"PageID":"tcm:1-2-64","PageModified":"10/23/2014 4:31:20 PM","PageTemplateID":"tcm:1-3-128","PageTemplateModified":"10/10/2014 3:34:29 PM"} -->
<script type="text/javascript" language="javascript" defer="defer" src="http://your.cms.url/WebUI/Editors/SiteEdit/Views/Bootstrap/Bootstrap.aspx?mode=js" id="tridion.siteedit"></script>
This is the XPM Page parkup with the details of your "dummy" Page, and the XPM bootstrap script, which will add the XPM edit button for you.