Discover/PMG Notes API
live

PMG Notes APIpmgnotes.com

Access PMG banknote population report data: grading census by country, denomination, and grade level. Retrieve over 200 countries plus PMG news articles.

Endpoint health
verified 4d ago
get_population_report_countries
get_population_report_notes
get_population_report_categories
get_news_articles
search_population_report
6/6 passing latest checkself-healing
Endpoints
6
Updated
26d ago

What is the PMG Notes API?

This API exposes 6 endpoints covering the PMG Population Report, the primary grading census for world banknotes. Starting with get_population_report_countries, which returns over 200 country and region entries each with a NoteCensusCount, you can drill down through categories and subcategories to pull per-note grade distributions across all PMG grade levels — down to exact counts for every grade a note has received.

Try it

No input parameters required.

api.parse.bot/scraper/7431b8eb-aeb8-4f8d-b609-40931e9461ab/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/7431b8eb-aeb8-4f8d-b609-40931e9461ab/get_population_report_countries' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace pmgnotes-com-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""Walkthrough: PMG Banknote API — population reports, note census, and news."""
from parse_apis.pmg_banknote_api import PMG, SubcategoryNotFound

client = PMG()

# List all countries in the population report, capped at 5.
for country in client.countries.list(limit=5):
    print(country.name, country.note_census_count)

# Drill into a specific country's categories and subcategories.
afghanistan = client.country(id=1)
for cat in afghanistan.categories(limit=3):
    print(cat.name, cat.total_graded)

# Get denominations for a country + category.
for subcat in afghanistan.subcategories(category_id=1, limit=3):
    print(subcat.name, subcat.total_graded)

# Fetch notes for a subcategory with grade distributions.
denom = client.subcategory(id=8655)
try:
    note = denom.notes(limit=1).first()
    if note:
        print(note.note_number_display, note.denomination, note.total_graded)
except SubcategoryNotFound as exc:
    print(f"Subcategory gone: {exc}")

# Search for notes by keyword within a country.
for result in afghanistan.search(query="50", limit=3):
    print(result.note_number_display, result.denomination, result.url)

# Latest news articles.
for article in client.articles.list(limit=3):
    print(article.title, article.post_date)

print("exercised: countries.list / country.categories / country.subcategories / subcategory.notes / country.search / articles.list")
All endpoints · 6 totalmissing one? ·

Retrieve the top-level list of all countries and regions available in the PMG Population Report. Returns over 200 entries with note census counts and identifiers for drilling into categories. Each country carries a CCGResourceCountryID used to fetch its categories and subcategories.

Input

No input parameters required.

Response
{
  "type": "object",
  "fields": {
    "data": "object containing items array of country objects with Name, SeoName, CCGResourceCountryID, NoteCensusCount, PMGCode"
  },
  "sample": {
    "data": {
      "items": [
        {
          "Name": "Afghanistan",
          "PMGCode": "AFG",
          "SeoName": "afghanistan",
          "NoteCensusCount": 5669,
          "CCGResourceCountryID": 1
        }
      ]
    },
    "status": "success"
  }
}

About the PMG Notes API

Navigation Hierarchy

The PMG population report is structured as a three-level hierarchy. get_population_report_countries returns the top level: all countries and regions with fields like Name, SeoName, CCGResourceCountryID, and NoteCensusCount. Pass a CCGResourceCountryID to get_population_report_categories to get the era or region groupings for that country, each carrying a PMGResourceCategoryID and a TotalGraded count. Then pass both IDs to get_population_report_subcategories to retrieve denominations with their own PMGResourceSubcategoryID values and cumulative grading totals.

Census Detail and Search

get_population_report_notes is where the grading distribution lives. It requires a subcategory_id and accepts an optional page parameter (fixed page size of 75) and an optional issuer filter — note that issuer must match exact internal values. Each item in the Items array carries the full grade distribution across all PMG grade levels alongside identifiers and descriptive fields. search_population_report lets you query by keyword within a specific country_id, returning matching notes with fields including ImportNoteID, NoteNumberDisplay, Category, Subcategory, Denomination, and a URL linking to the population report detail view.

News Archive

get_news_articles provides a paginated archive of PMG news articles dating back to 2002. Each page returns 10 items with Title, Teaser, PostDate, and ArticleUrl. Pagination is controlled by the page parameter; the response includes TotalCount, PageCount, and PageSize for traversal.

Reliability & maintenanceVerified

The PMG Notes API is a managed, monitored endpoint for pmgnotes.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when pmgnotes.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official pmgnotes.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
4d ago
Latest check
6/6 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Build a rarity tracker that monitors TotalGraded counts across denominations to surface notes with low census populations.
  • Create a grade distribution chart for a specific note series by pulling the full Items array from get_population_report_notes.
  • Index searchable note data by running search_population_report across countries and caching ImportNoteID and Denomination fields.
  • Automate a portfolio valuation tool that tracks PMG grade counts for specific banknotes over time using subcategory IDs.
  • Power a collector alert system that monitors changes in NoteCensusCount for target country entries.
  • Aggregate PMG news headlines and teasers for a numismatic news feed using get_news_articles with date-sorted pagination.
  • Generate country-level census summaries by combining NoteCensusCount from countries with TotalGraded data from subcategories.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does PMG Notes have an official developer API?+
PMGnotes.com does not publish an official public developer API or documented data feed for its population report or census data.
What does `get_population_report_notes` return, and how does filtering work?+
get_population_report_notes returns a paginated object with an Items array where each entry includes the complete grade distribution across all PMG grade levels for notes in that subcategory. Pagination is fixed at 75 items per page. The optional issuer filter narrows results but must match exact internal issuer values — there is no endpoint to enumerate valid issuer strings, so this typically requires a prior search or known values.
Does the API return individual certification lookup by PMG certificate number?+
No, the current endpoints cover population report hierarchy (countries, categories, subcategories, notes) and keyword search scoped to a country. Individual cert-number lookups are not part of this API. You can fork it on Parse and revise to add an endpoint targeting cert-level lookups if that data is accessible.
How far back do news articles go, and is full article body included?+
The get_news_articles endpoint returns articles dating back to 2002. Each article includes Title, Teaser, PostDate, and ArticleUrl, but the full article body text is not returned. You can fork it on Parse and revise to add an endpoint that retrieves full article content via the ArticleUrl.
Does the search endpoint work across all countries at once?+
search_population_report requires a country_id parameter, so each search call is scoped to a single country. Cross-country search is not supported in a single request. You can fork this API on Parse and revise it to add a multi-country search by fanning out requests across country IDs.
Page content last updated . Spec covers 6 endpoints from pmgnotes.com.
Related APIs in FinanceSee all →
psacard.com API
Look up PSA certification details for graded collectible cards and search comprehensive population reports and price guides across all card categories. Browse collectible categories by set to discover grading data, pricing information, and population statistics.
pricecharting.com API
Access collectible pricing data from PriceCharting.com. Search for Pokémon cards, US coins, and other collectibles to retrieve current prices across multiple grades (ungraded, PSA 9, PSA 10, MS62, MS66, and more), browse full set listings, view historical price trends, and explore recent sold listings.
pewresearch.org API
Search and retrieve Pew Research Center publications, reports, and expert profiles across a wide range of topics, including technology, politics, science, religion, and social trends. Access detailed report content, key findings, charts, and methodology information, and filter results by topic, format, or region to stay informed on the latest research and data.
pmc.ncbi.nlm.nih.gov API
Search millions of full-text biomedical research articles and access their metadata, citations, and related papers from PubMed Central. Find articles by topic, discover similar research, explore journal collections, and retrieve detailed citation information to support your literature review and research.
mdpi.com API
Access MDPI's open-access academic content programmatically. Search across thousands of peer-reviewed articles, retrieve full structured text, extract key findings, and browse journal metadata including impact factors and CiteScores.
worlddata.info API
Explore global statistics and compare countries across population, economy, demographics, quality of life, education, and health metrics. Search worldwide data on everything from life expectancy and languages to religions and regional breakdowns to gain comprehensive insights into how nations rank against each other.
800notes.com API
Look up phone numbers to retrieve community-submitted scam and unwanted-call reports from 800notes.com. Browse recent reports, search by area code, explore forum discussions, and read articles about phone scams — all sourced from the 800notes public database.
worldometers.info API
Track current world population statistics, compare country rankings, and explore historical population trends and future projections. Monitor demographic changes across nations and understand global population dynamics in real-time.