Microsoft Learn Catalog Scraper
Pricing
from $0.01 / 1,000 catalog item saveds
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
Maintained by CommunityActor 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
| Field | Description |
|---|---|
catalogType | Requested API collection |
itemType | Microsoft item type |
uid | Stable Microsoft Learn UID |
title | Catalog item title |
summary | Clean text summary or subtitle |
url | Microsoft Learn URL |
locale | Returned locale |
durationMinutes | Duration in minutes |
durationHours | Duration in hours |
products | Microsoft product slugs |
roles | Microsoft role slugs |
levels | Beginner, intermediate, advanced, and related levels |
subjects | Subject slugs |
popularity | Microsoft popularity score when present |
ratingAverage | Average rating when present |
ratingCount | Rating count when present |
lastModified | Microsoft last-modified timestamp |
iconUrl | Catalog icon URL |
childCount | Number of units/modules when present |
relatedUids | Related units, modules, exams, courses, or study guides |
scrapedAt | Actor scrape timestamp |
raw | Optional 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
- Open the actor on Apify.
- Keep
catalogTypesset tomodules. - Keep
localeasen-usor enter another Microsoft Learn locale. - Set
maxItemsto the number of module records you need. - Run the actor.
- Download results as JSON, CSV, Excel, XML, or HTML.
How to monitor Microsoft Learn certifications
- Set
catalogTypestocertifications. - Optionally set
rolessuch assolution-architect. - Optionally set
levelssuch asintermediate. - Run the actor daily or weekly.
- Compare
uidandlastModifiedvalues 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
maxItemsfor sample runs. - Use
uidas your primary key in downstream systems. - Use
lastModifiedto detect changes between catalog snapshots. - Enable
includeRawonly 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 ApifyClientclient = 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.
Related scrapers
Explore related Automation Lab actors:
- https://apify.com/automation-lab/udemy-scraper
- https://apify.com/automation-lab/linkedin-learning-scraper
- https://apify.com/automation-lab/coursera-scraper
- https://apify.com/automation-lab/job-board-keyword-signal-scanner
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.