{"uid":"cap_SnFdIWeO3188SmHyU6zgm","slug":"chess-notation-tools-pgn-header-parser-validator-e86167db","name":"Chess Notation Tools – PGN Header Parser & Validator","description":"Parse PGN tag pairs, check the Seven Tag Roster, result token and date format, and count the moves in the movetext.","url":"https://chess-notation.x402tookit.com/pgn-headers?utm_source=zero.xyz","method":"GET","headers":{},"bodySchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["input"],"properties":{"input":{"type":"object","required":["type","method"],"properties":{"type":{"type":"string","const":"http"},"method":{"enum":["GET"],"type":"string"},"queryParams":{"type":"object","required":["pgn"],"properties":{"pgn":{"type":"string","description":"A PGN game or just its tag-pair header (up to 6000 characters)"}}}},"additionalProperties":false},"output":{"type":"object","required":["type"],"properties":{"type":{"type":"string"},"example":{"type":"object","properties":{"asOf":{"type":["null","string"]},"tags":{"type":["null","object"],"properties":{"Date":{"type":["null","string"]},"Site":{"type":["null","string"]},"Black":{"type":["null","string"]},"Event":{"type":["null","string"]},"Round":{"type":["null","string"]},"White":{"type":["null","string"]},"Result":{"type":["null","string"]}}},"source":{"type":["null","string"]},"reasons":{"type":["array","null"]},"summary":{"type":["null","string"]},"verdict":{"type":["null","string"]},"degraded":{"type":["boolean","null"]},"tagCount":{"type":["null","number"]},"fullMoves":{"type":["null","number"]},"halfMoves":{"type":["null","number"]},"disclaimer":{"type":["null","string"]},"firstMoves":{"type":["array","null"],"items":{"type":"string"}},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"resultInMovetext":{"type":["null","string"]},"missingRosterTags":{"type":["array","null"]},"sevenTagRosterComplete":{"type":["boolean","null"]}}}}}}},"responseSchema":null,"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.02","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.02/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.02","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.02","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_FSJUXSABsOsP0qYBfD6_N","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.02","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Parses PGN tag pairs, validates the Seven Tag Roster, checks result token and date format, and counts moves in the movetext.","exampleAgentPrompt":"Can you parse and validate the headers in this PGN — I want to know if the Seven Tag Roster is complete, whether the date and result token look correct, and how many moves are in the game: '[Event \"World Championship\"][Site \"London\"][Date \"2024.11.01\"][Round \"1\"][White \"Carlsen, Magnus\"][Black \"Nepomniachtchi, Ian\"][Result \"1-0\"] 1. e4 e5 2. Nf3 Nc6 1-0'","exampleUseCases":[{"title":"Validate PGN before database import","prompt":"Before I store this PGN game in my database, check if all Seven Tag Roster tags are present and the date and result tokens are valid: '[Event \"London Classic\"][Site \"London ENG\"][Date \"2023.12.09\"][Round \"3\"][White \"So, Wesley\"][Black \"Anand, Viswanathan\"][Result \"1/2-1/2\"] 1. d4 d5 1/2-1/2'"},{"title":"Count moves in uploaded game","prompt":"I have a PGN game someone submitted to my chess tournament site — can you tell me how many full moves and half moves are in it, and whether the result in the movetext matches the header? Here's the PGN: '[Event \"Club Championship\"][Site \"??\"][Date \"2024.03.15\"][Round \"2\"][White \"Smith, J\"][Black \"Jones, T\"][Result \"1-0\"] 1. e4 c5 2. Nf3 d6 3. d4 cxd4 4. Nxd4 1-0'"},{"title":"Find missing roster tags in PGN","prompt":"Can you check this PGN snippet and tell me which of the Seven Tag Roster tags are missing? '[Event \"Open\"][Date \"2024.05.???\"][White \"Adams\"][Result \"*\"] 1. e4'"}],"resultDescription":"Returns a structured object containing: extracted tag key-value pairs (Event, Site, Date, White, Black, Round, Result), total tag count, list of missing Seven Tag Roster tags, a boolean indicating whether the Seven Tag Roster is complete, the result token found in the movetext, full and half move counts, first few moves, a validation verdict (pass/fail/warn), human-readable reasons for any issues, a summary string, and flags for degraded service or unchecked fields.","failureModes":["PGN string exceeds 6000 character limit — request rejected","Malformed or empty PGN input causes null fields in output","PGN with no tag pairs returns empty tags object and missing roster tags list","Non-standard or custom tag names may not be checked against the Seven Tag Roster","Ambiguous or missing result token returns null resultInMovetext","Payment failure (x402) prevents call from completing"],"whenToPreferThis":"Use this endpoint when you need to validate or extract structured metadata from PGN chess game headers — especially to check Seven Tag Roster completeness, verify date/result format compliance, or count moves before storing or displaying a game. Prefer this over general text parsing when working specifically with PGN-formatted chess data.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-29T13:14:24.832Z","isFirstParty":false,"canonicalSlug":"chess-notation-tools-pgn-header-parser-validator-e86167db"}