# Mongolia MRPAM Mining Cadastre Scraper: Licenses & Boundaries (`getascraper/mongolia-mrpam-mining-cadastre-scraper`) Actor

Export Mongolia's public mining and exploration license register: holder in English and Mongolian, commodity, dates, area, and the full concession boundary, not a center point. Self-serve pay-per-event pricing, no sales call or contract. Optional monitoring returns only new or changed licenses.

- **URL**: https://apify.com/getascraper/mongolia-mrpam-mining-cadastre-scraper.md
- **Developed by:** [GetAScraper](https://apify.com/getascraper) (community)
- **Categories:** Other, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.63 / 1,000 license records

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## ⛏️ Mongolia MRPAM Mining Cadastre Scraper: Licenses & Boundaries

<table width="100%">
<tr>
<td style="padding:24px 28px;background:#FFFBEB;border:1px solid #FDE68A;border-top:4px solid #92400E;border-radius:12px">
<span style="font-size:23px;font-weight:800;color:#1C1917;line-height:1.3">Every Mongolian mining license, with the full concession boundary, no sales call required.</span><br>
<span style="font-size:15px;color:#57534E;line-height:1.6">Export the public MRPAM/EITI Mongolia mining and exploration license register and pay only for what you export. Schedule it once to get only new or changed licenses on later runs.</span>
</td>
</tr>
</table>

<table width="100%">
<tr>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #FDE68A;border-radius:10px 0 0 10px;vertical-align:top"><span style="font-size:15px;font-weight:800;color:#92400E">🗺️ Full boundaries</span><br><span style="font-size:12px;color:#57534E">Get the complete concession polygon, not just a center point.</span></td>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #FDE68A;border-left:none;vertical-align:top"><span style="font-size:15px;font-weight:800;color:#92400E">🌐 Bilingual records</span><br><span style="font-size:12px;color:#57534E">Holder and site names in English and Mongolian.</span></td>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #FDE68A;border-left:none;vertical-align:top"><span style="font-size:15px;font-weight:800;color:#92400E">🔔 Change monitoring</span><br><span style="font-size:12px;color:#57534E">Schedule runs and receive only new or changed licenses.</span></td>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #FDE68A;border-left:none;border-radius:0 10px 10px 0;vertical-align:top"><span style="font-size:15px;font-weight:800;color:#92400E">🚫 No contract</span><br><span style="font-size:12px;color:#57534E">Pay per result. No annual subscription or sales call.</span></td>
</tr>
</table>

### 🔍 What does this Actor do?

This Actor exports Mongolia's public mining and exploration license register, sourced from MRPAM (Mineral Resources and Petroleum Authority of Mongolia) and EITI Mongolia's open data feed. Each record includes the license code, site name, license type, holder company, licensed commodity, grant and expiry dates, area, and the full concession boundary.

Use it to pull the entire national register in one run, or narrow it by license type, commodity, license holder, or grant date. Turn on monitoring mode and it remembers what it has already seen, so a scheduled run only reports licenses that are new or have changed.

### 👥 Who is it for?

- **Due-diligence and ESG analysts** who need to check whether a mine's actual footprint, not just its address, overlaps a protected area, river, or neighboring concession.
- **Critical-minerals and supply-chain risk teams** tracking who holds gold, copper, coal, fluorite, tungsten, tin, graphite, or rare-earth licenses in Mongolia, and when a new one appears.
- **Data teams, researchers, and journalists** who want the public register in a structured format without a 12-month data contract.

### ✨ Why use it?

- Get the full concession boundary as a polygon, not a single point, so you can check real overlaps with protected areas or other land use.
- Filter by license type, commodity, license holder name, or grant date range, or leave every filter empty for the full register.
- Turn on monitoring mode to track new grants and license changes on a schedule instead of re-exporting the whole register every time.
- Pay only for the records you export. No subscription, no sales call, no minimum contract.

### 🧭 How it works

<table width="100%"><tr>
<td style="padding:16px 14px;width:33%;background:#FFFBEB;border:1px solid #FDE68A;border-radius:10px 0 0 10px;vertical-align:top"><span style="font-size:12px;font-weight:800;color:#92400E;letter-spacing:1px">STEP 1</span><br><span style="font-size:14px;font-weight:700;color:#1C1917">Set your filters</span><br><span style="font-size:12px;color:#57534E">Pick a license type, commodity, holder, or date range, or leave them all empty.</span></td>
<td style="padding:16px 14px;width:33%;background:#FFFBEB;border:1px solid #FDE68A;border-left:none;vertical-align:top"><span style="font-size:12px;font-weight:800;color:#92400E;letter-spacing:1px">STEP 2</span><br><span style="font-size:14px;font-weight:700;color:#1C1917">Run once, or schedule it</span><br><span style="font-size:12px;color:#57534E">Pull a full export, or turn on monitoring for changes only.</span></td>
<td style="padding:16px 14px;width:33%;background:#FFFBEB;border:1px solid #FDE68A;border-left:none;border-radius:0 10px 10px 0;vertical-align:top"><span style="font-size:12px;font-weight:800;color:#92400E;letter-spacing:1px">STEP 3</span><br><span style="font-size:14px;font-weight:700;color:#1C1917">Use clean, structured data</span><br><span style="font-size:12px;color:#57534E">Download the dataset for your GIS, spreadsheet, or pipeline.</span></td>
</tr></table>

### ⚙️ Input

| Field | Type | Required | Description |
|---|---|---|---|
| License types | array | No | Include Mining License, Exploration License, or both. |
| Commodity contains | text | No | Match a commodity such as gold, copper, coal, fluorite, tungsten, tin, graphite, or REE. |
| License holder name contains | text | No | Match a holder's English or Mongolian registered name. |
| Granted on or after | date | No | Only include licenses granted on or after this date. |
| Granted on or before | date | No | Only include licenses granted on or before this date. |
| Include concession boundary polygon | boolean | No | Add the full concession boundary to each record. |
| Only new or changed licenses | boolean | No | Compare against a saved watchlist and return changes only. |
| Monitoring state name | text | No | Keeps each scheduled watchlist separate. |
| Include unchanged licenses | boolean | No | Also return licenses that have not changed since the last run. |
| Maximum licenses | integer | No | Bounded limit for saved records. |
| Proxy configuration | enum | No | Optional. The public source needs no proxy by default. |

### 📊 Data table

| Field | Type | Description |
|---|---|---|
| `licenseCode` | text | Official license code. |
| `nameEn` / `nameMn` | text | Site name in English and Mongolian. |
| `licenseType` | text | Mining License or Exploration License. |
| `commodity` / `commodityMn` | text | Licensed commodity, when published. |
| `grantDate` | date | Date the license was granted. |
| `expiryDate` | date | Date the license expires. |
| `holderNameEn` / `holderNameMn` | text | License holder's registered name. |
| `holderRegistrationId` | number | Holder's state registration ID. |
| `areaHectares` | number | Concession area in hectares. |
| `geometry` | object | Full concession boundary polygon, when requested. |
| `changeType` | text | `NEW`, `UPDATED`, or `UNCHANGED`, when monitoring is on. |
| `sourceUrl` | link | Public source record used for this result. |

### 💰 Pricing

This Actor uses pay-per-event pricing. Empty runs cost nothing, and there are no subscriptions.

### ⭐ Enjoying Mongolia MRPAM Mining Cadastre Scraper?

<table width="100%"><tr><td style="padding:20px 24px 14px;background:#FFFBEB;border:1px solid #FDE68A;border-left:5px solid #92400E;border-radius:10px 10px 0 0"><span style="font-size:20px;letter-spacing:4px">⭐ ⭐ ⭐ ⭐ ⭐</span><br><span style="font-size:17px;font-weight:800;color:#1C1917">Found a concession boundary faster than checking it by hand?</span><br><span style="font-size:14px;color:#57534E">A 5-star rating takes 10 seconds and helps other due-diligence teams find this Actor.</span></td></tr><tr><td style="padding:0;background:#92400E;border:1px solid #FDE68A;border-top:none;border-radius:0 0 10px 10px;text-align:center"><a href="https://apify.com/getascraper/mongolia-mrpam-mining-cadastre-scraper/reviews" style="display:block;padding:13px 16px;color:#FFFFFF;text-decoration:none;font-weight:800;font-size:15px;letter-spacing:0.3px">★&nbsp;&nbsp;Rate this Actor on Apify</a></td></tr></table>

### ❓ FAQ

#### Is this an official MRPAM data source?

The data comes from a public ArcGIS feed sourced from MRPAM and EITI Mongolia's open data initiative. It is not MRPAM's own website, and this Actor is not affiliated with or endorsed by MRPAM.

#### Does every license have a commodity listed?

No. The source itself leaves the commodity field blank on a portion of licenses, mostly unclassified exploration licenses. Those records are returned with a blank commodity field rather than a guessed value.

#### Can I track new licenses automatically?

Yes. Turn on monitoring mode, give the watchlist a name, and run it on a schedule. Later runs return only licenses that are new or have changed.

#### How current is the register?

It reflects whatever MRPAM and EITI Mongolia have published in the source feed at the time of your run. Grant activity in this register can be irregular, so a scheduled run may correctly return no changes if nothing new has been filed.

### 🔗 Other actors

- [UAE Industrial Licence Monitor: بيانات الموردين](https://apify.com/getascraper/uae-industrial-licence-monitor) ↗ - Monitor public UAE industrial supplier licenses for changes.
- [AHPRA Health Practitioner Register Scraper: Bulk Check & Watch](https://apify.com/getascraper/ahpra-practitioner-register-monitor) ↗ - Bulk check and monitor an official professional register.
- [Albania QKB Scraper: Company Registry & Beneficial Owner Data](https://apify.com/getascraper/albania-qkb-scraper) ↗ - Look up company registry and beneficial owner records.
- [Job Bank Canada Scraper & LMIA Job Monitor](https://apify.com/getascraper/jobbank-scraper) ↗ - Monitor an official government job register for new postings.

# Changelog

This Actor's version history is a separate document: https://apify.com/getascraper/mongolia-mrpam-mining-cadastre-scraper/changelog.md

# Actor input Schema

## `licenseTypes` (type: `array`):

Restrict results to one or both official license types. Leave empty to include both Mining and Exploration licenses.

## `mineralContains` (type: `string`):

Case-insensitive substring match against the source's commodity field, for example gold, copper, coal, fluorite, tungsten, tin, graphite, or REE. The source data itself leaves this field blank on about 1,261 of 3,178 licenses (mostly unclassified exploration licenses); those records are correctly excluded whenever this filter is set, and left as null (never a placeholder) when it is not.

## `holderNameContains` (type: `string`):

Case-insensitive substring match against the license holder's English or Mongolian registered name, for due-diligence lookups on one company or individual.

## `grantDateFrom` (type: `string`):

Only include licenses with a grant date on or after this date.

## `grantDateTo` (type: `string`):

Only include licenses with a grant date on or before this date.

## `includeGeometry` (type: `boolean`):

Add the full polygon boundary (ring coordinates, Web Mercator) for each license instead of just its identifying fields. The source publishes the complete boundary, not only a centroid point, so this is useful for land-use, protected-area, or watershed overlap analysis. Off by default because it roughly doubles the size of each record.

## `incrementalMode` (type: `boolean`):

Compare this run against a saved monitoring state from the last run under the same state name, and emit only licenses that are new or have a changed grant date, expiry date, holder, or commodity. Turn this on for scheduled runs that track the cadastre over time instead of re-exporting the whole register every time.

## `stateName` (type: `string`):

A label for this watchlist's saved state. Use a distinct name for each independent scheduled monitor so their change histories do not overwrite each other.

## `includeUnchanged` (type: `boolean`):

When monitoring is on, also emit licenses that have not changed since the last run, tagged accordingly. Off by default so scheduled runs only surface real changes.

## `maxItems` (type: `integer`):

Maximum number of license records to save in this run. The full public register is 3,178 records and a full pull is cheap, but the default stays small so a first run finishes quickly; raise it deliberately once you know what you need.

## `proxyConfiguration` (type: `object`):

Optional override. The source is a public, unauthenticated Esri ArcGIS REST API with no anti-bot protection, so no proxy is required and the default direct connection is the recommended, lowest-cost setting.

## Actor input object example

```json
{
  "licenseTypes": [],
  "mineralContains": "",
  "holderNameContains": "",
  "grantDateFrom": "",
  "grantDateTo": "",
  "includeGeometry": false,
  "incrementalMode": false,
  "stateName": "default",
  "includeUnchanged": false,
  "maxItems": 25,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "licenseTypes": [],
    "mineralContains": "",
    "holderNameContains": "",
    "grantDateFrom": "",
    "grantDateTo": "",
    "includeGeometry": false,
    "incrementalMode": false,
    "stateName": "default",
    "includeUnchanged": false,
    "maxItems": 25,
    "proxyConfiguration": {
        "useApifyProxy": false
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("getascraper/mongolia-mrpam-mining-cadastre-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "licenseTypes": [],
    "mineralContains": "",
    "holderNameContains": "",
    "grantDateFrom": "",
    "grantDateTo": "",
    "includeGeometry": False,
    "incrementalMode": False,
    "stateName": "default",
    "includeUnchanged": False,
    "maxItems": 25,
    "proxyConfiguration": { "useApifyProxy": False },
}

# Run the Actor and wait for it to finish
run = client.actor("getascraper/mongolia-mrpam-mining-cadastre-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "licenseTypes": [],
  "mineralContains": "",
  "holderNameContains": "",
  "grantDateFrom": "",
  "grantDateTo": "",
  "includeGeometry": false,
  "incrementalMode": false,
  "stateName": "default",
  "includeUnchanged": false,
  "maxItems": 25,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}' |
apify call getascraper/mongolia-mrpam-mining-cadastre-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,getascraper/mongolia-mrpam-mining-cadastre-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/h0Ey2jQ83h2bmaUbn/builds/rPOpmGlEsKggotg06/openapi.json
