Microsoft Learn Catalog Scraper avatar

Microsoft Learn Catalog Scraper

Pricing

from $0.01 / 1,000 catalog item saveds

Go to Apify Store
Microsoft Learn Catalog Scraper

Microsoft Learn Catalog Scraper

Export Microsoft Learn modules, learning paths, certifications, exams, and courses for L&D catalog sync and skills taxonomy workflows.

Pricing

from $0.01 / 1,000 catalog item saveds

Rating

0.0

(0)

Developer

Stas Persiianenko

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Share

Export Microsoft Learn catalog metadata from the public Microsoft Learn Catalog API.

Use this actor to collect modules, learning paths, certifications, exams, and instructor-led courses for L&D platforms, skills taxonomies, training-content monitoring, recruiting intelligence, and education data pipelines.

What does Microsoft Learn Catalog Scraper do?

Microsoft Learn Catalog Scraper turns Microsoft Learn's public catalog JSON into clean Apify dataset rows.

It extracts Microsoft Learn records such as modules, learning paths, certifications, exams, and courses.

Each output row includes stable Microsoft UIDs, titles, summaries, URLs, duration, roles, products, levels, subjects, ratings, popularity, related item IDs, update timestamps, and optional raw source JSON.

Who is it for?

L&D platforms

Sync Microsoft Learn modules and paths into internal course catalogs.

Training teams

Monitor new and changed Microsoft Learn content for Azure, Power Platform, GitHub, Microsoft 365, security, and data workloads.

Certification teams

Track exams and certifications with related study material.

Recruiting and workforce analytics teams

Map Microsoft training content to role and skill taxonomies.

Education data vendors

Build normalized Microsoft Learn datasets for search, recommendations, or market intelligence.

Why use this actor?

  • ✅ Uses the public Microsoft Learn Catalog API.
  • ✅ No login, browser, or residential proxy required.
  • ✅ Normalizes multiple catalog collections into one clean dataset.
  • ✅ Supports locale, type, text, product, role, level, and subject filters.
  • ✅ Includes stable UIDs for incremental catalog syncs.
  • ✅ Can include raw source objects for audit-heavy pipelines.

What Microsoft Learn data can I scrape?

You can scrape:

  • Microsoft Learn modules
  • Microsoft Learn learning paths
  • Microsoft certifications
  • Microsoft exams
  • Microsoft courses

Data fields

FieldDescription
catalogTypeRequested API collection
itemTypeMicrosoft item type
uidStable Microsoft Learn UID
titleCatalog item title
summaryClean text summary or subtitle
urlMicrosoft Learn URL
localeReturned locale
durationMinutesDuration in minutes
durationHoursDuration in hours
productsMicrosoft product slugs
rolesMicrosoft role slugs
levelsBeginner, intermediate, advanced, and related levels
subjectsSubject slugs
popularityMicrosoft popularity score when present
ratingAverageAverage rating when present
ratingCountRating count when present
lastModifiedMicrosoft last-modified timestamp
iconUrlCatalog icon URL
childCountNumber of units/modules when present
relatedUidsRelated units, modules, exams, courses, or study guides
scrapedAtActor scrape timestamp
rawOptional original source object

How much does it cost to scrape Microsoft Learn catalog data?

This actor uses pay-per-event pricing.

There is a small start charge per run and a per-item charge for each catalog record saved.

The default input is intentionally small enough for a first test run while still returning useful module data.

For large catalog syncs, increase maxItems or select more catalog types.

How to scrape Microsoft Learn modules

  1. Open the actor on Apify.
  2. Keep catalogTypes set to modules.
  3. Keep locale as en-us or enter another Microsoft Learn locale.
  4. Set maxItems to the number of module records you need.
  5. Run the actor.
  6. Download results as JSON, CSV, Excel, XML, or HTML.

How to monitor Microsoft Learn certifications

  1. Set catalogTypes to certifications.
  2. Optionally set roles such as solution-architect.
  3. Optionally set levels such as intermediate.
  4. Run the actor daily or weekly.
  5. Compare uid and lastModified values between runs.

Input options

catalogTypes

Select one or more catalog collections.

Available values are modules, learningPaths, certifications, exams, and courses.

locale

Use a Microsoft Learn locale such as en-us, de-de, fr-fr, ja-jp, or es-es.

maxItems

Limit how many matching records are saved across all selected catalog types.

searchQuery

Filter records by title, summary, subtitle, UID, display name, or course number.

products

Filter by product slugs such as azure, azure-machine-learning, power-bi, or github.

roles

Filter by role slugs such as developer, administrator, data-scientist, or solution-architect.

levels

Filter by level values such as beginner, intermediate, or advanced.

subjects

Filter by subject slugs such as machine-learning or cloud-computing.

includeRaw

Set to true to include the original Microsoft Learn JSON object in each dataset row.

Example input

{
"catalogTypes": ["modules"],
"locale": "en-us",
"maxItems": 100,
"products": ["azure"],
"levels": ["beginner"],
"includeRaw": false
}

Example output

{
"catalogType": "modules",
"itemType": "module",
"uid": "learn.wwl.experiment-azure-machine-learning",
"title": "Experiment with Azure Machine Learning",
"summary": "Learn how to find the best machine learning model...",
"url": "https://learn.microsoft.com/en-us/training/modules/experiment-azure-machine-learning/",
"locale": "en-us",
"durationMinutes": 65,
"durationHours": 1.08,
"products": ["azure-machine-learning"],
"roles": ["data-scientist"],
"levels": ["beginner"],
"subjects": ["machine-learning"],
"lastModified": "2026-03-13T17:10:00+00:00"
}

Tips for best results

  • Start with one catalog type to inspect available fields.
  • Use maxItems for sample runs.
  • Use uid as your primary key in downstream systems.
  • Use lastModified to detect changes between catalog snapshots.
  • Enable includeRaw only when you need complete source JSON.

Integrations

Connect the dataset to:

  • Learning management systems
  • Skills ontology databases
  • Data warehouses
  • BI dashboards
  • Recruiting analytics workflows
  • Catalog-change monitors
  • Certification content trackers

API usage with Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('automation-lab/microsoft-learn-catalog-scraper').call({
catalogTypes: ['modules', 'learningPaths'],
locale: 'en-us',
maxItems: 500,
products: ['azure']
});
console.log(run.defaultDatasetId);

API usage with Python

from apify_client import ApifyClient
client = ApifyClient('MY-APIFY-TOKEN')
run = client.actor('automation-lab/microsoft-learn-catalog-scraper').call(run_input={
'catalogTypes': ['certifications', 'exams'],
'locale': 'en-us',
'maxItems': 250,
})
print(run['defaultDatasetId'])

API usage with cURL

curl -X POST 'https://api.apify.com/v2/acts/automation-lab~microsoft-learn-catalog-scraper/runs?token=MY-APIFY-TOKEN' \
-H 'Content-Type: application/json' \
-d '{"catalogTypes":["modules"],"locale":"en-us","maxItems":100}'

MCP integration

Use this actor from MCP-compatible clients through Apify MCP Server.

MCP URL:

https://mcp.apify.com/?tools=automation-lab/microsoft-learn-catalog-scraper

Add it in Claude Code:

$claude mcp add apify-microsoft-learn "https://mcp.apify.com/?tools=automation-lab/microsoft-learn-catalog-scraper"

Or use a JSON MCP configuration:

{
"mcpServers": {
"apify-microsoft-learn": {
"url": "https://mcp.apify.com/?tools=automation-lab/microsoft-learn-catalog-scraper"
}
}
}

MCP prompts

Try prompts such as:

Example prompts:

  • "Using MCP, run the Microsoft Learn Catalog Scraper to export 100 beginner Azure modules."
  • "Using the Apify MCP tool, run the Microsoft Learn actor and find certifications for solution architects."
  • "Use MCP with automation-lab/microsoft-learn-catalog-scraper to monitor Microsoft Learn exams and return UIDs plus last modified dates."

Scheduling

You can schedule this actor to run daily, weekly, or monthly.

For catalog monitoring, store each dataset and compare uid plus lastModified between runs.

Locale support

The actor passes your locale to the Microsoft Learn Catalog API.

Availability can vary by catalog item and Microsoft locale.

If a localized item is not available, Microsoft may return source metadata according to the API's behavior.

Filtering strategy

Filters are applied after the public API response is downloaded.

This keeps behavior consistent across all catalog collections, including collections with different API-side filter support.

Legality

This actor uses a public Microsoft Learn catalog endpoint and extracts public metadata.

You should still follow Microsoft terms, respect intellectual property, and use the data for legitimate business purposes.

Do not use the actor to copy protected course content beyond public catalog metadata.

Troubleshooting

I got fewer records than expected

Check maxItems, selected catalog types, and filters. A product, role, level, subject, or text filter can narrow results quickly.

I do not see raw Microsoft fields

Set includeRaw to true. Raw fields are disabled by default to keep datasets smaller and easier to export.

A product or role filter returns nothing

Microsoft uses slug values. Inspect an unfiltered sample first, then reuse exact slugs from the products and roles arrays.

FAQ

Can I scrape all Microsoft Learn modules?

Yes. Select modules and set maxItems high enough for the module catalog.

Can I scrape certifications and exams in one run?

Yes. Select both certifications and exams in catalogTypes.

Does this actor need proxies?

No. The baseline actor calls the public Microsoft Learn Catalog API directly.

Can I use this for change detection?

Yes. Use uid as the key and compare lastModified across scheduled runs.

Can I export to CSV?

Yes. Apify datasets can be downloaded as CSV, JSON, Excel, XML, RSS, or HTML.

Explore related Automation Lab actors:

Changelog

Initial version exports Microsoft Learn catalog records from the public API.

Support

If you need a custom field, catalog collection, or workflow integration, open an issue from the actor page.