How Reddit Crawls Your Pages

Understanding redditbot, Embedly delegation, and how link previews are generated

The redditbot crawler

Reddit doesn’t parse your page metadata itself. When someone submits a link post, Reddit dispatches Mozilla/5.0 (compatible; redditbot/1.0; +http://www.reddit.com/feedback) to fetch the page, then hands it off to Embedly – a metadata extraction service Reddit acquired. Embedly fetches your page via api.embedly.com/1/oembed, parses tags, ranks candidate images, and returns structured JSON back to Reddit.

This two-step delegation is unique among social platforms and matters when you’re debugging – a problem could be at the redditbot level (can’t reach your page) or the Embedly level (misinterpreting your tags).

No JavaScript execution

Neither redditbot nor Embedly runs JavaScript. Your og:title, og:description, and og:image tags must be in the initial HTML response. If your tags are injected client-side by a framework, Reddit will never see them.

Sites using client-side rendering need SSR or a prerender service that serves static HTML to crawlers.

robots.txt behavior

redditbot honors robots.txt. If your robots.txt blocks the redditbot user agent or the submitted URL path, no preview gets generated. Add an explicit allow rule:

User-agent: redditbot
Allow: /

If you have a blanket Disallow: / for unknown bots, place the redditbot rule above it.

Checking if redditbot can reach your page

Fetch your page with the redditbot user agent:

curl -A "Mozilla/5.0 (compatible; redditbot/1.0; +http://www.reddit.com/feedback)" \
     https://example.com/your-page | head -50

If your <meta property="og:..."> tags are in the response, Reddit’s crawler will see them too.

Embedly’s role in the pipeline

Embedly normalizes metadata across tag formats. It checks Open Graph tags first, then falls back to oEmbed endpoints, Twitter Card tags, and finally scrapes the page body for candidate images. Pages without explicit OG tags may still generate a preview this way, but the results will be unpredictable. Always provide explicit Open Graph tags.