User Guide

Getting Started with CrossFeed

Display your social media content on any website in minutes. This guide walks you through every step.

1

Sign in to your account

Open your CrossFeed dashboard and sign in with your email and password.

  1. Navigate to the Dashboard from the CrossFeed landing page (click "Get Started Free" or "Dashboard" in the nav).
  2. Enter your email and password.
  3. Click Sign In.

Demo mode: The login form comes pre-filled with demo credentials (demo@crossfeed.app / crossfeed). Just click Sign In to explore.

Once authenticated, you'll be redirected to the main dashboard. Sessions last 30 days, so you won't need to log in often.

2

Explore your dashboard

The dashboard shows all your connected social media feeds at a glance.

Each feed card displays:

Each card has two action buttons:

The Connect Feed button is coming soon. For now, demo feeds are pre-configured for you to explore the full workflow.

3

Use the embed builder

The embed builder is a visual tool that lets you customize how your feed looks and generates the code snippet to paste on your site.

  1. From the dashboard, click Get Embed Code on any feed card.
  2. On the left panel, pick a layout (Grid, Masonry, Carousel, or List).
  3. Adjust the settings:
    • Columns — how many columns to display (1–6)
    • Number of Posts — how many posts to show (1–50)
    • Gap — spacing between items in pixels (0–32)
    • Link to original posts — make images clickable to the source
    • Lazy load images — defer offscreen images for performance
  4. Watch the live preview update in real-time on the right panel as you tweak settings.
  5. When you're happy, click the Copy button above the code snippet.

The preview is a live render of the actual embed script — what you see is exactly what your visitors will see.

4

Add the embed to your website

Paste the copied code snippet into your website's HTML wherever you want the feed to appear.

<!-- 1. Add a container where the feed will render --> <div id="crossfeed-widget"></div> <!-- 2. Include the embed script --> <script src="https://crossfeed.app/embed.js" data-feed="feed_poshpeony" data-target="#crossfeed-widget" data-layout="grid" data-columns="3" data-limit="9" data-gap="8" data-link="true" data-lazy="true"> </script>

That's it. The script handles everything automatically:

  1. Shows a skeleton loader with shimmer animation while fetching
  2. Fetches your latest posts from the CrossFeed API
  3. Renders the feed in your chosen layout
  4. Uses Shadow DOM so CrossFeed styles never conflict with your site's CSS

The embed script is under 8 KB gzipped. It loads asynchronously and won't block your page.

5

Choose a layout

CrossFeed ships with four built-in layouts. Set the data-layout attribute to switch between them.

Grid

Fixed columns, square images. Clean and uniform — great for Instagram-style feeds.

Masonry

Pinterest-style columns with variable image heights. Best for mixed content and photography.

Carousel

Horizontal scroll with snap points and prev/next buttons. Ideal for featured content or limited space.

List

Vertical list with thumbnails, captions, and dates. Perfect for blogs or news-style feeds.

All layouts are responsive out of the box — they automatically adapt to 2 columns on mobile screens (under 640px).

6

Configure with data attributes

Every aspect of the embed is controlled through data-* attributes on the script tag. No JavaScript configuration needed.

Attribute Default Description
data-feed Required. Your feed ID (e.g. feed_poshpeony)
data-target auto CSS selector for the container element. If omitted, a div is created automatically.
data-layout grid One of: grid, masonry, carousel, list
data-columns 3 Number of columns (1–6)
data-limit 9 Number of posts to display (1–50)
data-gap 8 Space between items in pixels (0–32)
data-link true Wrap images in links to the original post
data-lazy true Lazy load offscreen images for performance
7

Use the REST API directly

If you prefer to build your own UI or integrate with a framework, you can fetch feed data directly from the API.

Get feed posts

# Fetch the latest 9 posts GET /v1/feed/{feed_id}?limit=9 # With API key authentication curl https://crossfeed.app/v1/feed/feed_poshpeony?limit=9 \ -H "X-CrossFeed-Key: cf_your_api_key"

Response

{ "feed": { "id": "feed_poshpeony", "platform": "instagram", "handle": "@poshpeony01" }, "posts": [ { "id": "post_001", "image_url": "/media/feed_poshpeony/post_001", "caption": "Sunday brunch vibes", "source_url": "https://instagram.com/p/...", "posted_at": "2025-01-15T10:30:00Z" } ] }

Get feed metadata

GET /v1/feed/{feed_id}/meta

Returns feed name, platform, avatar URL, total post count, and last sync timestamp.

Rate limits apply based on your plan. Free tier allows 1,000 API calls per day. Check the plans section for details.

8

Plans and pricing

CrossFeed offers five tiers to match your needs. All plans include the embed script and REST API access.

Feature Free Creator Pro Agency
Feeds 1 3 10 50
API calls/day 1K 10K 50K 200K
Sync interval 24h 6h 1h 15 min
Layouts Grid All 4 All 4 All 4
Watermark Yes No No No

The Scale plan ($99/mo) adds unlimited feeds, 1M API calls/day, 5-minute sync, and white-label branding.

9

Troubleshooting

"No posts found" message

"Failed to load feed" error

Styles look broken on my site

Images load slowly

Carousel buttons don't scroll

Need help? Open the browser console and look for messages prefixed with [CrossFeed] — they'll point you to the issue.