MSN supports Articles, Galleries, and Video. MSN only supports HTTPS feed sources. Using TLS/SSL is highly recommended. Links containing usernames or passwords in the resource or parameters will be rejected. IP whitelisting is not supported, and MSN cannot provide static IPs.
Articles
Articles are posts consisting of text, images, and videos. Articles are not required to have images, but only articles that include images can be auto-published.
Galleries
Galleries are slideshows consisting of images and captions. Galleries must have embedded images to be published.
Video
Videos can be posted on their own or included in articles. A video post ingested from your feed will be rehosted on MSN, while a video hosted on a third-party site such as YouTube or DailyMotion will be embedded via that site’s hosting.
Videos hosted on MSN will generate multiple bitrates for multi-device transcoding and adaptive streaming.
Supported Video Container Formats
AVI, MPEG, MP4, WMV, M4V
Supported Video Codecs
H.264, MPEG-1, MPEG-2, MPEG-4 v2, VC1, WMV, DV (DVC, DVHD, DVSD, DVSL)
Supported Audio Formats
AC-3 (Dolby Digital), AAC, MP3, Windows Media Audio
Supported Protocols
HTTP, FTP
Supported File Extensions
.mp4, .mpeg, .mpg, .wmv, .avi, .m4v
Video Size
Videos are recommended to be at least 720p, 3Mbps. Maximum video file size is 2GB.
NOTE: Upscaling is not supported, so high video file quality is recommended.
Images
Images cannot be posts on their own. They must be embedded into an article or gallery or attached to a video post as a thumbnail.
Supported Image Formats
PNG, JPG, GIF, WebP
NOTE: GIFs cannot be used as promotional pictures.
Image Size
It is recommended that images be at least 720px in height or width. The maximum image filesize is 15MB. Images can be any aspect ratio but may not display correctly if the ratio is less than .5 or greater than 1.89.
For promo images, the resolution should be 1200x624px and they should have a 1.91:1 aspect ratio with a minimum of 72 DPI.
Thumbnail Images
Thumbnail images can have an aspect ratio of 16:9 or 4:3. An image size of 1920x1080px is recommended. Progressive JPEGs are not supported.
Related Links
Posts of all types may have related links at the bottom of the content. Related links must have a link location, display text, and thumbnail to appear.
Social Media
MSN supports embeds from:
- Twitter
- Facebook
- Instagram
- Pinterest
- Infogram
- Spotify
- Flourish
- Google Maps
- Giphy
- Reddit
- TikTok
MSN recommends using the default embed code provided by the source site. Click here to see examples of embed code for common social media sites.
Feed Metadata Rules
- Publisher must have distribution rights for all content within the feed. If the publisher does not have rights to syndicate some images, they MUST set “HasSyndicationRights” to false.
- All feeds must be fresh and updating regularly before going live.
- Custom mapping is not supported, all fields must be specified as per the given examples.
- Partner endpoints must be static/unchanging where there is no requirement to build any dynamic values such as route segments, query string values and HTTP request header values.
- All items in the feed must be in the same single language configured for the feed.
- Encoding is UTF-8 by default unless otherwise specified in the xml tag. Feeds with mixed or encoding will fail to ingest.
- Feeds should not contain any un-escaped illegal characters such as “&”, “<”, “>”, double quotes and single quotes. Items with control characters will fail to ingest.
- Microsoft may strip any links of a primarily promotional nature.
- Publisher contact persons emails must be stored when the publisher’s brand is boarded to use for notifying the content publisher of live site issues such as stale feeds.
Feed Change Detection
MSN saves resources during ingestion by only processing feeds that have new or updated content. Changes can be flagged in two ways:
HTTP ETags
Publishers can send a request with an ETag header, which acts like a checksum for the feed contents. The tag will be cached and sent back in the If-None-Match header while requesting the feed.
Last Modified
Content sent with a Last-Modified header will be cached, with subsequent request receiving an If-Modified-Since header. Feed servers will respond with a 304 status code if no changes have been made since the last modified date.
Feed Authentication
Feed authentication is not required. Publishers can ingest content with nothing more than a feed source URL if they so wish, but MSN also supports Basic Authentication and OAuth 2.0. Click here to see a chart detailing the feed ingestion process.
Basic Authentication
MSN supports basic authentication as specified in RFC 7517. To add basic authentication to your feed, provide:
- Username
- Password
- Secured Feed URL
OAuth 2.0
To add OAuth 2.0 authentication to your feed, provide:
- Security Token Server URL
- Client_ID
- Grant_Type
- Scope (Optional, used to indicate access level. This value will be sent as-is.)
- Secured Feed URL
Document Encoding
MSN uses UTF-8 encoding by default. You can override this by changing the encoding attribute of the prolog node to a valid encoding value.
Supported Feed Formats
MSN supports RSS, ATOM, and some subsets of Media RSS, Dublin Core, and other namespaces detailed in Media RSS.
Large Feeds
MSN recommends maintaining a feed size of less than 30 fresh items at all times, but you can use ATOM’s Feed Paging feature to enable sliding window ingestion of your feed.
Limits and Error Handling
Maximum feed size is 10MB and maximum image size is 14MB. MSN automatically triggers an escalation if ingested content is more than three days old. If you have different content age requirements, contact us at PartnerHubSupport@microsoft.com. MSN re-tries feeds that have errors, but if the errors persist you will be notified to investigate. MSN automatically turns off content ingestion from feeds that remain in an error state for a prolonged period of time.
Extending Feeds with Namespaces
You can extend feed vocabulary and terms in XML-based feeds along with their recommended prefix. MSN only recognizes elements and attributes explicitly specified in the listed code examples. Any unsupported namespace will be ignored.