Connect Primavera P6 schedules to any tool — without Oracle licenses, desktop software, or manual exports. Developers get a clean JSON API. Project controls teams get automated DCMA compliance. PMOs get Monday-morning reporting without the copy-paste.
curl -X POST \ https://p6parser.com/parse \ -H "Authorization: Bearer xer_..." \ --data-binary "@schedule.xer"
{
"export_info": {
"version": "19.12",
"currency": "USD"
},
"schedule_summary": {
"total_activities": 847,
"critical_activities": 112,
"percent_complete": 34.2
},
"activities": [ /* 847 items */ ],
"wbs": [ /* hierarchy nodes */ ],
"relationships": [ /* FS/FF/SS/SF */ ],
"resources": [ /* assignments */ ],
"calendars": [ /* work calendars */ ],
"dcma": { /* Professional+ · ?dcma=true */
"overall_score": 78,
"overall_passed": false,
"checks": [ /* 14 DcmaCheckResult items */ ]
}
}
The same API serves three different teams.
Run DCMA 14-point compliance checks automatically. Know exactly which activities fail — with IDs — before submitting to your client. No ScheduleReader license, no Windows-only software.
Feed live schedule data into Power BI, Tableau, Excel, or your own dashboard — without P6 installed on every machine, without manual copy-paste exports every Monday morning.
You don't need to understand the XER format. Paste this API's documentation into your AI coding tool, describe what you want to build, and it writes the integration. P6 schedule data becomes structured JSON — ready for any database, dashboard, or workflow you have in mind.
Primavera P6 is Oracle's project scheduling software, widely used in construction, oil and gas, defense, and government infrastructure projects. When you export a project from P6, the file format is .xer — a proprietary, tab-separated text format with no public documentation and no official API for reading it programmatically.
P6 XER API is a hosted REST endpoint that accepts an XER file and returns its contents as structured JSON. You POST the file, you receive a JSON object containing every activity with its start and finish dates, duration, float values, critical path status, predecessors, successors, resources, WBS path, and calendar assignment. No Oracle license is required. No P6 installation. No Windows-only desktop software.
For teams that need DCMA 14-Point Schedule Assessment — a compliance check required on US government and defense contracts — the API runs all 14 checks and returns pass/fail status, percentage values, and the specific activity IDs that fail each check.
For teams that submit schedules, Business adds the Pre-Submission Pack, Monday-morning reporting, and Snapshot Governance — so you can submit, report, and prove what changed, without manual work.
Files are parsed in memory and immediately discarded. Nothing is logged or retained after the HTTP response is sent. The service is not affiliated with Oracle Corporation or Primavera Systems.
Every field, every time. Evaluate whether the output has what you need before you write a line of code.
// activities[n] { "activity_id": "A1010", "name": "Excavation", "wbs_path": "BRIDGE.FOUNDATION.EXCAVATION", "start": "2024-03-01T07:00:00Z", // ISO 8601 — always "finish": "2024-03-15T17:00:00Z", "original_duration_days": 10, "remaining_duration_days": 3, "percent_complete": 70, "total_float_days": 0, "free_float_days": 0, "is_critical": true, // total_float ≤ 0 "is_longest_path": true, "predecessors": [{ "activity_id": "A1000", "type": "FS", "lag_days": 0 }], "successors": [{ "activity_id": "A1020", "type": "FS", "lag_days": 0 }], "resources": [{ "resource_id": "CREW_A", "budgeted_cost": 12500, "actual_cost": 8750, "budgeted_qty": 80, // hours "actual_qty": 56 }] } // wbs[n] { "wbs_id": "WBS-003", "name": "Foundation", "full_path": "BRIDGE.FOUNDATION", "parent_wbs_id": "WBS-001" }
You can integrate xerparser. Here's what that actually means in practice.
XER files exported from Windows P6 installations use CP1252 encoding, not UTF-8. Activity names with accented characters, em-dashes, or Windows-specific symbols silently corrupt or crash naive parsers. Every deployment needs explicit encoding handling.
XER format varies across P6 versions 15.2 through 21.12. Field names, presence of optional columns, and date formats differ. A file exported from P6 v15.2 behaves differently than one from v19.12 — you need to handle both.
Real project files have missing %E terminators, truncated rows, and malformed headers. Production XER files from construction sites are not clean. Your parser needs defensive handling or it throws uncaught exceptions on real data.
Oracle updates P6 on its own schedule. When the format changes, someone on your team tracks it, fixes the parser, tests it against existing files, and deploys. That's engineering time away from your product.
Parsing is not the job. Submitting is.
Run all 14 checks and get a submission-ready pack — pass/fail per check, percentages, and the exact activity IDs that fail. Fix list grouped by impact, ready to send to your client. No surprises after submission.
Baseline variance per activity, float erosion, and critical-path changes — calculated for you. Includes our Power BI + Excel template. No manual exports every Monday morning.
Every parse is a snapshot. Compare any two updates and get a change log — added, removed, and moved activities, logic changes, float changes — ready to forward to your client.
Included in Business. No Monte Carlo. No delay claims. We get your P6 data out cleanly and help you prove it’s compliant.
Monthly subscription · cancel any time · calls reset each billing cycle.
| Tier | Price | What's included | |
|---|---|---|---|
Free Trial |
$0 |
50 parses · no card required
Full JSON output · evaluate before you commit
Copy key
|
|
|
Developer
Integrators & tooling builders
|
$75/mo |
150 parses/month
Full JSON · activities · WBS · relationships · resources · calendars
?raw_hours=true · schedule_summary · export_info
|
|
|
Professional
Schedule QC reviewers
|
$99/mo |
2,000 parses/month
Everything in Developer, plus:
DCMA 14-Point Schedule Assessment ( ?dcma=true) ·
constraint analysis · LOE detection · hard constraint flags
|
|
|
Business
Controls teams & PMO — for teams who submit schedules
|
$349/mo |
10,000 parses/month
Everything in Professional, plus:
DCMA Pre-Submission Pack — fix list, percentages, activity IDs Monday-Morning PMO Automation + Power BI & Excel template Snapshot Governance + XER Diff — prove what changed Baseline variance per activity ( ?baseline=true)Priority support |
|
|
Enterprise
Unlimited · SLA · custom domain
|
$999/mo |
Unlimited parses/month · dedicated support · custom SLA |
You can prove this works in the next ten minutes.
curl -X POST https://p6parser.com/parse \ -H "Authorization: Bearer YOUR_KEY" \ --data-binary "@schedule.xer" \ | python3 -m json.tool
import requests with open("schedule.xer", "rb") as f: r = requests.post( "https://p6parser.com/parse", headers={"Authorization": "Bearer YOUR_KEY"}, data=f.read(), timeout=30 ) r.raise_for_status() data = r.json() critical = [a for a in data["activities"] if a["is_critical"]] print(f"Critical activities: {len(critical)}")
const fs = require("fs"); const res = await fetch( "https://p6parser.com/parse", { method: "POST", headers: { "Authorization": "Bearer YOUR_KEY" }, body: fs.readFileSync("schedule.xer"), } ); const data = await res.json(); console.log(data.schedule_summary);
# Professional+ tier — add ?dcma=true to get the 14-point assessment curl -X POST \ "https://p6parser.com/parse?dcma=true" \ -H "Authorization: Bearer YOUR_KEY" \ --data-binary "@schedule.xer" | python3 -c " import json, sys d = json.load(sys.stdin)['dcma'] print(f'Score: {d[\"overall_score\"]}/100 Passed: {d[\"overall_passed\"]}') for c in d['checks']: icon = '✓' if c['passed'] else '✗' print(f' {icon} #{c[\"check_id\"]:<2} {c[\"name\"]:<28} {c[\"percent\"]:.1f}% (threshold {c[\"threshold\"]})') "