CTAN TeX Packages Scraper
Pricing
from $7.50 / 1,000 results
CTAN TeX Packages Scraper
Scrapes CTAN TeX package metadata by keyword search. Returns each package as a flat row with key, name, caption, and topics, with an option to hydrate full detail JSON.
Pricing
from $7.50 / 1,000 results
Rating
0.0
(0)
Developer
ParseForge
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 hours ago
Last modified
Categories
Share
CTAN TeX Packages Scraper
Scrape CTAN TeX package metadata by keyword or name, up to a million packages per run. Every package comes with its key, caption, topics, and optional full detail JSON. No login or API key. Export to CSV, JSON, Excel, or XML.
CTAN's package list is spread across thousands of directory pages with no single download. This reads the official JSON API directly, matching packages by name, key, or caption substring, and returns each match in one fixed schema. You can hydrate full package details with one checkbox.
| Who uses it | What they scrape CTAN for |
|---|---|
| LaTeX package authors | Monitor how their own packages are indexed and captioned on CTAN. |
| TeX distribution maintainers | Audit package metadata across the entire CTAN archive for consistency. |
| Academic librarians | Build a searchable catalog of LaTeX packages available for researchers. |
| Dev tool builders | Populate a package browser or IDE autocomplete with live CTAN data. |
What it does
This Actor collects CTAN TeX package metadata by keyword search and returns each package as a flat row, with an option to fetch full detail JSON for every match.
- ๐ Keyword search: substring match against package key, name, or caption, case-insensitive.
- ๐ฆ Bulk collection: set a maximum up to 1,000,000 packages per run and let the Actor paginate.
- ๐ง Optional hydration: toggle full detail JSON per package, including version, author, and dependencies.
Results export to CSV, JSON, Excel, or XML, or straight from the API.
What you can do with CTAN data
๐ Audit package metadata.
A TeX distribution maintainer searches for all packages with a topic keyword, hydrates details, and checks for missing license or author fields before a release.
๐ Build a package search engine.
A dev tool builder scrapes the full CTAN catalog, stores the flat rows in a database, and powers a web search interface for LaTeX users.
๐ Track package ecosystem growth.
A researcher runs the Actor monthly with no search filter, collects all package keys, and plots the growth of CTAN over time.
๐ Populate IDE autocomplete.
A plugin author scrapes package names and captions, then ships the list as a completion source inside a LaTeX editor.
Why choose this scraper
| What you get | |
|---|---|
| No API key | Reads CTAN's public JSON endpoint directly, no registration or token. |
| Flat schema | Every package returns as one row with key, name, caption, and topics. |
| Full detail option | Hydrate each package to get version, author, license, and dependencies. |
| Large runs | Collect up to a million packages in a single run with automatic pagination. |
How it compares
This Actor and the CTAN Packages Scraper both collect metadata from CTAN, but they differ in hydration support and the fields they expose.
| Feature | ParseForge | CTAN Packages Scraper - LaTeX Package Metadata |
|---|---|---|
| Keyword search by package name or caption | Yes, case-insensitive substring match | Not listed |
| Hydrate full package detail JSON | Yes, optional per-package detail fetch | Not listed |
| Configurable max items per run | Yes, up to 1,000,000 | Not listed |
| Returns package topics | Yes | Yes |
| Returns package key and caption | Yes | Yes |
Configure the run
Drive the Actor with a package name or keyword substring, set a maximum item count, and choose whether to fetch full detail JSON for each match. The Input tab lists every parameter.
A first run with the defaults:
{"maxItems": 10}
A larger pull:
{"maxItems": 200}
Pricing
Pay-per-result: $0.0085 per result collected. You pay only for the results written to your dataset.
| Results collected | Approximate cost |
|---|---|
| 100 results | $0.85 |
| 1,000 results | $8.50 |
| 10,000 results | $85.00 |
New Apify accounts start with $5 in free credit.
Free users
Free-plan runs return up to 10 results as a preview. Upgrade your Apify plan to collect up to 1,000,000 results per run.
Run it
- Create a free Apify account with $5 in credit.
- Open the CTAN TeX Packages Scraper.
- Set your inputs and any filters, then click Start.
- Export the results as CSV, Excel, JSON, or XML from the Dataset tab.
Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python.
Use with AI agents (MCP)
Give an AI agent live access to CTAN through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:
$claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/ctan-tex-packages-scraper"
Then prompt it in plain language to run the scraper and read back the results.
Troubleshooting
Why am I getting no results?
Check your search term. The match is a case-insensitive substring against package key, name, and caption. Try a shorter or more general keyword. Also verify that maxItems is set to at least 1.
The run is very slow with hydration enabled.
Hydration fetches one detail JSON per package, so a run of 1,000 packages makes 1,000 extra requests. Disable hydration if you only need the basic fields, or reduce maxItems.
Some packages are missing author or license fields even with hydration.
CTAN's detail JSON only contains what package authors have provided. If a package uploader did not fill in the author or license metadata, those fields will be empty in the output.
The Actor stopped before reaching my maxItems limit.
The Actor stops when CTAN's API returns no more matching packages. If your search term matches fewer packages than your maxItems, the run ends early. Try broadening your search.
I get a timeout error on large runs.
Large hydrated runs can take a long time. Increase the Actor's timeout in the run settings, or split the work into multiple runs with different search terms.
FAQ
| Question | Answer |
|---|---|
| Does this Actor need a CTAN account or API key? | No. It reads CTAN's public JSON endpoint directly, so no registration, token, or login is required. |
| What does the hydrate option do? | When hydrate is enabled, the Actor fetches each package's detail JSON from CTAN, which includes version, author, license, dependencies, and long description. This makes the run slower because it issues one extra request per package. |
| How many packages can I collect in one run? | You set the maximum with the maxItems field, up to 1,000,000. The Actor paginates through CTAN's JSON API until it reaches your limit or exhausts the matches. |
| Can I search for packages by topic? | The search field matches against package key, name, and caption as a case-insensitive substring. If a topic word appears in the caption, the package will be returned. |
| What output formats are supported? | You can export your dataset to CSV, JSON, Excel, or XML from the Apify platform. |
| Does this Actor download the actual.sty or.cls files? | No. It collects only metadata from CTAN's JSON API. To download package archives, you would need a different Actor that fetches the zip files. |
| How do I get only a specific package by exact name? | Enter the exact package key or name in the search field. The substring match will find it, and you can set maxItems to 1 if you only want that single result. |
| Is the Actor fast without hydration? | Yes. Without hydration, the Actor makes one paginated request to the CTAN package list endpoint, which returns many packages per page. Hydration adds one request per package. |
| Can I run this on a schedule? | Yes. Apify supports scheduled runs, so you can set this Actor to collect CTAN metadata daily, weekly, or monthly to track changes. |
| What fields are in the flat row output? | Each row includes the package key, name, caption, and topics. When hydration is enabled, additional fields like version, author, license, and dependencies are added. |
Related actors
Browse the full ParseForge collection for more scrapers.
๐ Need help? Email parseforge@protonmail.com with your run ID, your input, and what you expected.
โ ๏ธ Disclaimer. This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by CTAN. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.
