Sitemap & RSS Feed Exporter (CSV, Excel, JSON) avatar

Sitemap & RSS Feed Exporter (CSV, Excel, JSON)

Pricing

from $0.50 / 1,000 url exporteds

Go to Apify Store
Sitemap & RSS Feed Exporter (CSV, Excel, JSON)

Sitemap & RSS Feed Exporter (CSV, Excel, JSON)

Export every URL from XML sitemaps and every item from RSS, Atom or JSON feeds into one clean table. Auto-finds sitemaps and feeds from a homepage.

Pricing

from $0.50 / 1,000 url exporteds

Rating

0.0

(0)

Developer

Wood Between Studio

Wood Between Studio

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 hours ago

Last modified

Share

Sitemap & RSS Feed Exporter

Turn any website's sitemap or RSS, Atom or JSON feed into a clean CSV, Excel or JSON list of URLs in seconds. Just paste a homepage and it finds the sitemaps and feeds for you.

Give it a website, a sitemap or a feed, and get back one tidy table you can download as CSV, Excel or JSON. It reads XML sitemaps (including sitemap indexes and .xml.gz files) and RSS, Atom and JSON Feed files, and puts everything in the same columns.

You don't need to know where a site keeps its sitemap. Paste the homepage and the Actor checks robots.txt, the usual sitemap locations and the page's feed links for you.

What it's good for

  • Content inventories. Get every URL a site has published, with last-modified dates, before a migration, a redesign or a content audit.
  • Competitor tracking. See what a competitor published this month. Set "Only items changed or published after" and schedule the run weekly.
  • Feeding other tools. Use the URL list as input for a crawler, a link checker, a translation job or a spreadsheet.
  • News and blog monitoring. Pull several RSS or Atom feeds into one dataset and push them to Google Sheets, Slack or a webhook with Apify integrations.
  • Podcast and media lists. Feed enclosures (audio and video file URLs) are included.
  • SEO checks. Turn on "Check HTTP status" to find sitemap entries that 404 or redirect. Those shouldn't be in a sitemap.

What it handles

SourceNotes
sitemap.xmlloc, lastmod, changefreq, priority, image sitemaps, hreflang alternates, Google News titles and dates
Sitemap indexFollows nested indexes (up to 5 levels by default)
.xml.gzDecompressed automatically
RSS 2.0 / RSS 1.0 (RDF)title, link, date, author, categories, summary, GUID, enclosure
Atomsame fields, mapped to the same columns
JSON Feed 1.0 / 1.1same fields
A normal web pagefinds sitemaps in robots.txt (or tries /sitemap.xml, /sitemap_index.xml, /wp-sitemap.xml) and feeds in <link rel="alternate"> tags

Input

The only required field is startUrls. A typical input:

{
"startUrls": [
{ "url": "https://www.woodbetweenstudio.com" },
{ "url": "https://github.blog/feed/" },
{ "url": "https://www.nytimes.com/sitemaps/new/sitemap.xml.gz" }
],
"maxItems": 5000,
"maxItemsPerStartUrl": 1000,
"excludeUrlPattern": "/tag/|/author/",
"modifiedAfter": "2026-01-01"
}
FieldWhat it doesDefault
startUrlsHomepages, sitemaps or feeds. Mix freely.(required)
autoDiscoverLook up sitemaps and feeds when you give a normal pagetrue
includeSitemaps / includeFeedsTurn either source type offtrue / true
maxItemsStop after this many rows in total10000
maxItemsPerStartUrlCap per start URL, so one huge site doesn't use the whole budget. 0 = no cap0
includeUrlPattern / excludeUrlPatternRegular expressions to keep or drop URLsempty
modifiedAfterKeep only rows dated after this date (rows with no date are dropped)empty
maxSitemapDepthHow deep to follow sitemap indexes5
checkStatusSend a HEAD request to each URL and record the status codefalse

Output

Every row has the same shape. Sitemap URLs have type: "sitemap-url" and feed entries have type: "feed-item". A field is null when the source doesn't provide it.

Sitemap row:

{
"type": "sitemap-url",
"url": "https://www.woodbetweenstudio.com/shop/",
"title": null,
"lastModified": "2026-10-27T00:00:00.000Z",
"published": null,
"changeFrequency": null,
"priority": null,
"imageCount": 0,
"images": [],
"alternates": [],
"sourceUrl": "https://www.woodbetweenstudio.com/sitemap.xml",
"sourceType": "sitemap"
}

Feed row:

{
"type": "feed-item",
"url": "https://github.blog/news-insights/company-news/github-universe-2026-evolving-every-layer-of-the-stack/",
"title": "GitHub Universe 2026: Evolving every layer of the stack",
"published": "2026-10-28T16:09:28.000Z",
"author": "Jay Parikh",
"categories": ["Company news", "News & insights", "GitHub Universe"],
"summary": "Today, we laid out our vision for GitHub as the most comprehensive, end-to-end software delivery system…",
"guid": "https://github.blog/?p=99788",
"enclosureUrl": null,
"feedTitle": "The GitHub Blog",
"sourceUrl": "https://github.blog/feed/",
"sourceType": "rss"
}

The key-value store also gets a SUMMARY record listing every sitemap or feed the Actor touched, what kind it was, how many rows it produced and any error (for example "HTTP 404" or "No sitemap or feed found for this site").

Pricing

In plain words: $0.50 per 1,000 rows exported (that's $0.0005 per URL or feed item), plus Apify's small standard Actor start fee. Exporting a 2,000-URL sitemap costs about $1.

  • Rows removed by your filters or by the duplicate check are not charged.
  • Set maxItems, or a maximum cost per run in the run options, and the Actor stops cleanly at the limit.
  • Reading sitemaps is light work, so platform usage per run is usually tiny.

FAQ

Does it crawl the website? No. It only reads the sitemap and feed files the site publishes. That's why it's fast and cheap. If a site has no sitemap and no feed, you'll get zero rows and a note in SUMMARY. For a site like that, use a crawler instead.

Is this allowed? Sitemaps and feeds exist so that machines can read them. The Actor makes a handful of requests per site (or one per URL if you turn on status checks). Use it on sites you own or on public sitemaps and feeds, and follow each site's terms.

A site has 200,000 URLs. Will it handle that? Yes. Raise maxItems, and give the run more memory if the sitemap files are very large. Use maxItemsPerStartUrl when you mix big and small sites in one run.

Why are some feed summaries cut off? Summaries are plain text trimmed to 500 characters, so the table stays readable. The url field links to the full article.

Can I get only new items each week? Yes. Schedule the Actor and set modifiedAfter to the date of your last run, or de-duplicate on url in your own sheet or database.

The site uses a sitemap that isn't listed in robots.txt. Paste the sitemap URL itself as a start URL.

Something didn't parse. Please open an issue on the Actor page with the URL. Broken sitemaps in the wild come in many odd shapes, and we fix reports quickly.

These work well together for a quick technical SEO check:

  • Broken Link Checker: find 404 errors, dead links and redirect chains across a whole site.
  • SEO Meta Tag Audit: bulk-check meta titles, meta descriptions, canonicals, H1s and schema, with a 0-100 score per page.

Typical workflow: export the sitemap here, then paste the URL list into the link checker (list mode) or the meta audit.


Made by Wood Between Studio.