Getting Started
How to build an XML feed for JamesEdition. This page covers the rules common to every category; each category page (Real Estate, Cars, Watches) has the field list.
Using a CRM? Most CRM systems can send us this feed automatically. See Connect your CRM before building one by hand.
How importing works
You host the feed at a stable URL (or FTP path) and send us the link. We fetch it three times a day (≈ 00:11, 08:11, 16:11 UTC) and reconcile each time: new listings are added, changed ones updated, and listings that disappear from the feed are removed.
Accessing your feed and images
- We fetch your feed and images with the HTTP header
User-Agent: JamesEdition Feed Crawler 1.0. If your server or CDN filters traffic by User-Agent, allow-list this value so we aren't blocked. - We do not fetch from a single fixed IP address — don't rely on IP allow-listing.
- Image URLs must be canonical and stable — the same photo must keep the same URL over time. We may re-download an image more than once, so URLs that change or expire will break your listings' photos.
XML rules that apply to every feed
- Encoding: UTF-8. Escape special characters in text — e.g.
&must be written&. - Required vs optional: every element marked Required must be present. Some required
elements may be sent empty-closed when you have no value — e.g.
<zip/>, or<price/>whenprice_on_requestisyes. Optional elements you don't use can be omitted or empty-closed. - Booleans: use
yes/no. - Numbers: send prices and other numbers as plain digits with no thousands separators —
e.g.
1234567. versionattribute:<jamesedition_feed version="…">records the layout, not the category —3.9for the single-office (<adverts>) layout,4.4for the multi-office (<offices>+<listings>) layout. A Cars or Watches feed declares the version of whichever layout it uses.
Photos
- A listing needs at least 2 reachable photos to be published.
- Formats: JPEG, PNG or WEBP. Up to 100 images per listing, each ≤ 20 MB.
- Order in the feed is the order shown on the listing.
- See Image URLs must be canonical above.
Supported video sources
Provide a single video URL in media/video/video_url — the page URL of the video, from one
of these providers:
| Provider | URL shape |
|---|---|
| YouTube | https://www.youtube.com/watch?v=VIDEO_ID or https://youtu.be/VIDEO_ID |
| Vimeo | https://player.vimeo.com/video/VIDEO_ID |
| Brightcove | https://players.brightcove.net/ACCOUNT/default_default/index.html?videoId=VIDEO_ID |
Supported virtual-tour sources
Provide a single virtual-tour URL in media/virtual_tour_link — the public share URL of the
tour, from one of these providers:
Matterport, My360, YouriGuide, Realistico, Nodalview, VT 3DVista, H4Life, Virtea, CloudPano, BuyMeProperty, Ego Real Estate, Kuula, Vale do Lobo, Theasys, iStaging, VirtualinkCY, Giraffe360, Floorfy, arxftpserver.
Example URL per provider
- Matterport:
https://my.matterport.com/show/?m=ABCDEFG - My360:
https://vt.plushglobalmedia.com/tour/12345/embed?config=jamesedition - YouriGuide:
https://youriguide.com/ABC123 - Realistico:
https://viewer.realisti.co/1234ABCD/?viewMode=embed - Nodalview:
https://nodalview.com/s/ABCDEFGH - VT 3DVista:
https://360.pinkrealestate.pt/1234/ - H4Life:
https://h4l.site/360/virtualtour - Virtea:
https://virtea.com/tours/12345/ - CloudPano:
https://app.cloudpano.com/tours/ABCDEFG/ - BuyMeProperty:
https://www.buymeproperty.pt/sharevirtualtour/12345/ - Ego Real Estate:
https://websitesv4.egorealestate.com/sharevirtualtour/123-456 - Kuula:
https://kuula.co/share/collection/XYZ123 - Vale do Lobo:
https://valedoloboproperties.com/360VirtualTour/Home/XYZ/ - Theasys:
https://theasys.io/viewer/ABCDEFG/ - iStaging:
https://livetour.istaging.com/XYZ-123 - VirtualinkCY:
https://tours.virtualinkcy.com/XYZ-123 - Giraffe360:
https://giraffe360.com/tour/12345678/ - Floorfy:
https://floorfy.com/tour/12345678/
Next steps
- Real Estate · Single office — one agency, one office.
- Real Estate · Multi office — multiple offices/agents.
- Field reference — the full canonical field dictionary.
- Amenities · Changelog