Gitea Explore Repositories Scraper
parseforge/gitea-explore-scraper
Developer toolsAutomationOther
Scrapes public repositories from any Gitea instance's explore page. Returns each repository as a flat row with name, description, stars, forks, owner, and timestamps. Filter by keyword and sort by activity or popularity.
- Total users
- 2
- Monthly active
- 1
- Total runs
- 44
- Bookmarked
- 0
- Rating
- Not rated yet
- Last modified
- 12 days ago
Overview
Gitea Explore Repositories Scraper
Scrape public repositories from any Gitea instance, filtered by keyword, sort order, and up to a million per run. Every repository comes with its stars, forks, description, and last update time. No API key required. Export to CSV, JSON, Excel, or XML.
Finding open-source projects across self-hosted Gitea instances like Codeberg or gitea.com means clicking through paginated explore pages by hand. This Actor reads the public repository listing directly from any Gitea instance you point it at, letting you search by name or keyword and sort by stars, forks, or recent activity. It returns a flat dataset of matching repositories, ready for analysis or archiving.
| Who uses it | What they scrape Gitea for |
|---|---|
| Open-source researchers | Discover trending projects across self-hosted Gitea communities. |
| DevTool companies | Find projects that match a technology stack for partnership or integration. |
| Security analysts | Monitor newly created or updated repositories for specific keywords. |
| Recruiters | Identify active maintainers and popular projects in a niche. |
What it does
This Actor collects public repositories from a Gitea instance's explore endpoint and returns each one as a flat row with its metadata.
- ๐ Keyword filter: Search repositories by name or description with a single query term.
- ๐ Flexible sorting: Order results by stars, forks, size, last update, creation date, or alphabetically.
- ๐ Any Gitea instance: Point the Actor at gitea.com, Codeberg, or any self-hosted Gitea server.
- ๐ฆ Bulk collection: Pull up to 1,000,000 repositories in a single run.
Results export to CSV, JSON, Excel, or XML, or straight from the API.
What you can do with Gitea data
๐ Track emerging open-source projects.
A researcher runs the Actor weekly on Codeberg with the keyword 'activitypub' sorted by stars to see which federated projects are gaining traction.
๐ก๏ธ Audit repositories for sensitive keywords.
A security team points the Actor at their organization's internal Gitea instance and searches for 'password' or 'secret' in recently updated repos.
๐ Build a directory of niche tools.
A content curator scrapes gitea.com for 'static site generator' sorted by forks to compile a list of actively maintained alternatives.
๐ค Find potential integration partners.
A DevTool company searches for 'docker' and 'kubernetes' across multiple Gitea instances to identify projects that could benefit from their platform.
Why choose this scraper
| What you get | |
|---|---|
| No API key | Reads the public explore API that requires no authentication. |
| Fixed schema | Every row has the same fields: name, description, stars, forks, owner, and timestamps. |
| Multi-instance | Works with any standard Gitea instance, not gitea.com. |
How it compares
No other Store actor targets Gitea the same way, so the honest comparison is with the alternatives teams actually weigh.
| Gitea Explore Repositories Scraper | Build it in-house | By hand | |
|---|---|---|---|
| Setup | Run it now, zero config | Days of engineering | None, but hours per pull |
| When Gitea changes | Maintained for you | You fix it | You re-learn the page |
| Proxies, retries, anti-bot | Built in | Your problem | Browser only |
| Output | Fixed JSON schema, CSV/Excel export | Whatever you build | Copy-paste |
| Cost | Pay per result | Engineering time | Analyst hours |
Configure the run
Drive the Actor from a Gitea instance URL and an optional keyword, and sorting runs server-side so only the top matches reach your dataset. The Input tab lists every parameter.
A first run with the defaults:
{
"instanceUrl": "https://gitea.com",
"maxItems": 10
}
A larger pull:
{
"instanceUrl": "https://gitea.com",
"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 Gitea Explore Repositories 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 Gitea 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/gitea-explore-scraper"
Then prompt it in plain language to run the scraper and read back the results.
Troubleshooting
Why am I getting no results?
Check that your instanceUrl points to a real Gitea instance and that your query keyword matches some public repository names or descriptions. Try leaving the query empty to list all public repos.
The Actor fails with a connection error.
Verify the instanceUrl is correct and includes the protocol (https://). Some self-hosted instances may block cloud IPs; try running the Actor with a proxy configuration.
I get fewer results than the maxItems I set.
The Actor stops when it has collected the requested number of repositories or when the instance has no more matching results. If the instance has fewer public repos than your maxItems, you will get all of them.
Sorting by 'size' returns unexpected order.
Gitea's API sorts by repository size in kilobytes as reported by the server. Very small or empty repositories may appear out of intuitive order.
The run is slow for large maxItems values.
The Actor paginates through results. Large instances with many repositories will take longer. Reduce maxItems or target a smaller instance if speed is critical.
FAQ
| Question | Answer |
|---|---|
| Do I need an API key or login to scrape Gitea? | No. This Actor uses the public, unauthenticated explore API endpoint that every Gitea instance exposes. provide the instance URL. |
| Which Gitea instances does this work with? | Any standard Gitea instance that has the /explore/repos page and its backing API enabled. This includes gitea.com, Codeberg, and most self-hosted installations. |
| Can I filter repositories by programming language? | The Gitea explore API does not support filtering by language directly. You can use the keyword query to search names and descriptions, then filter the resulting dataset by language if that field is present. |
| How many repositories can I collect in one run? | You can set the maximum up to 1,000,000 repositories. The actual number returned depends on how many public repositories match your query on that instance. |
| What does the sort order 'alpha' mean? | It sorts repositories alphabetically by their name. |
| Does this Actor scrape private repositories? | No. It only accesses the public explore listing, so only repositories marked as public on the target instance are returned. |
| Can I scrape multiple Gitea instances in one run? | One run targets one instance URL. To scrape several instances, run the Actor multiple times with different instanceUrl values, or use an Apify task for each. |
| What output formats are supported? | You can export your dataset as JSON, CSV, Excel, or XML from the Apify storage tab. |
| Is there a rate limit on Gitea's explore API? | Unauthenticated requests may be rate-limited by the instance administrator. If you hit a limit, the Actor will retry automatically with backoff. |
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 Gitea. 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.
Input
| Field | Type | What it does | Default |
|---|---|---|---|
| instanceUrl required | string | Base URL of the Gitea instance to search, for example https://gitea.com or https://codeberg.org. The /api/v1 path is added automatically. | https://gitea.com |
| query | string | Optional keyword to filter repositories by name or description (for example vue, docker, game). Leave empty to list all public repositories. | not set |
| sort | string (6 options) | Field used to order the results. | updated |
| order | string (2 options) | Ascending or descending order. | desc |
| maxItems | integer | How many repositories to collect per run. | 10 |
Pricing
from $7.69 per 1,000 results
| Charged for | What it is | Price each |
|---|---|---|
| result | Single result in the default dataset. | $0.00769 to $0.0085 |
Tiered: the lower figure is the price on a higher Apify plan. Billing and the free credit live on Apify.
API
One POST returns the dataset directly. Same shape for every scraper in the library, so swapping the slug is the only change.
curl -X POST "https://api.apify.com/v2/acts/parseforge~gitea-explore-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"helloWorld": 123
}' Examples
Input that runs as-is.
{
"helloWorld": 123
} Reviews
No reviews yet. Be the first.
Issues
We build and maintain this scraper, so a problem with it comes to us. Report it on the Apify listing and the thread stays attached to the scraper where the next person can find it: open an issue.
Broken and urgent, or you would rather not post in public? Write to parseforge@protonmail.com and it reaches the people who wrote it.
Related scrapers
Run Gitea Explore Repositories Scraper on Apify All scrapers
