Loading...
Loading...
Send card photos and get an independent condition estimate — predicted PSA, BGS and CGC grades, corner, edge, surface and centering fields, inspection crops, and market-value fields when available. Structured JSON, no SDK required.
CardGrade is a photo-based pre-screening service. It is not PSA, TAG, BGS or CGC; it does not authenticate, physically grade or encapsulate cards, and its predictions are not official grades.
Included with eligible Pro and Business plans · Developer tiers from $149.99/mo · Explore the OpenAPI 3.1 spec
$ curl -X POST https://cardgrade.io/api/v1/grade \
-H "Authorization: Bearer cgrd_live_..." \
-F "frontImage=@charizard.jpg"
{ "id": "d71bb389", "status": "pending" }
# poll until completed
{
"status": "completed",
"overallGrade": 9.2,
"results": {
"centering": 9.5, "corners": 9.0,
"edges": 9.0, "surface": 9.0,
"psaPrediction": 9, "gradeLabel": "Mint",
"marketValueLow": 120, "marketValueHigh": 180
}
}The same photo-based workflow used by CardGrade's apps, exposed through a documented REST API.
Core scores, analysis fields, predictions, and available crop URLs are returned as a clean JSON object. Use the report endpoint when you also need the rendered JPG.
Submit front and optional back photos, then poll or use a webhook. A typical result takes about 60 seconds, although image quality and system load can affect completion time.
Mint a read-only key for read-heavy apps that can pull grades and market values but can never spend a credit. Or a full-access key for automated grading.
Pass an Idempotency-Key and a timed-out request is safe to resend — you get the original grade back instead of being charged twice.
A physical grading-company integration and a photo-based condition API are different products. CardGrade owns and documents the latter: it helps software teams pre-screen visible condition before a collector decides whether to submit the card for authentication, grading and slabbing.
CardGrade is not an official PSA API and does not submit cards to PSA or return an official PSA grade. CardGrade does not represent PSA, so confirm the current availability, access rules and permitted uses of any first-party PSA developer offering directly with PSA. A search for "PSA card API" can also mean official certification or population data; verify that access with PSA too. If your goal is to pre-screen card photos before a physical submission, CardGrade returns an independent predicted PSA grade alongside condition details.
Review the PSA grading guideCardGrade is separate from TAG and cannot grant access to, or confirm the current terms of, a TAG-run API. Verify any current developer offering in TAG's own materials or with TAG support. CardGrade provides a different product: image-based condition pre-screening before you decide whether to send a physical card to a grading company.
See how TAG grading worksCardGrade returns its own condition analysis and cross-company grade predictions from images. For a closer look at another automated-grading approach, compare CardGrade vs AGS RoboGrading. If you want the consumer workflow before integrating, start with the CardGrade app. Developers can go straight to the API documentation.
No screen-scraping an HTML page. GET /api/v1/grade/:id returns the structured data behind every grade.
{
"id": "d71bb389",
"status": "completed",
"cardName": "2024 Topps Chrome Paul Skenes RC",
"overallGrade": 9.2,
"reportImageUrl": "https://cardgrade.io/…/report.jpg",
"results": {
"psaPrediction": 9,
"gradeLabel": "Mint",
"limitingFactor": "centering",
"frontCornerScores": { "topLeft": 9.0, "topRight": 9.5 },
"marketValueLow": 120,
"marketValueHigh": 180,
"zoneCropUrls": {
"front-full": "https://…",
"front-topLeft": "https://…",
"front-sfx": "https://…"
}
}
}If your product touches trading cards, grade and value data make it smarter.
Use a completed pre-screen to suggest condition, predicted grade, and an available value estimate before a card listing is published.
Use condition fields and optional market-value estimates in pricing models, comps, and portfolio dashboards.
Bulk pre-grade intake so staff only send the highest-potential cards to PSA, BGS, or CGC.
Generate consistent condition reports for cards moving through repeatable listing and consignment workflows.
The boring guarantees that matter when this is in your critical path.
Read-only or full-access, chosen when you create the key. Read-only keys cannot submit gradings or spend credits.
An Idempotency-Key header dedupes retried submits so network blips never double-charge a credit.
JSON responses include X-RateLimit headers where applicable; 429 responses include Retry-After so clients can back off cleanly.
A complete machine-readable spec that drops straight into Postman, Insomnia, or your codegen.
/api/v1/gradeSubmit a card for grading/api/v1/grade/validateDry-run a request — validate it without spending a credit/api/v1/grade/:idFetch status + structured results/api/v1/gradesList your gradings/api/v1/grade/:id/reportGet the report image (JPG)/api/v1/accountPlan, credits & rate limitsAPI access is included with eligible Pro ($24.99/mo) and Business ($74.99/mo) memberships. The dedicated Developer API tiers below are built for higher volume. The API token gate accepts eligible plans with an active or trialing status; contact the team to set up a dedicated tier. Compare all plans.
New integrations and smaller apps.
Intro pricing available
Scaling marketplaces and trend apps.
Intro pricing available
High-volume and bulk grading.
Intro pricing available
Email support@cardgrade.io for API access and custom volume pricing.
It accepts card photos and returns an independent, image-based condition pre-screen as structured JSON. Results can include an overall score, centering, corner, edge and surface fields, predicted PSA/BGS/CGC grades, analysis crops and market-value fields when available. It is not physical grading, authentication or encapsulation.
CardGrade is not affiliated with PSA and cannot confirm or grant access to PSA's current developer offerings. Verify current API availability, access terms and permitted uses directly in PSA's first-party materials or with PSA. CardGrade offers a separate photo-based pre-screening API that can return an independent predicted PSA grade, not an official PSA grade.
CardGrade is separate from TAG and cannot confirm the current availability or terms of a TAG-run developer offering. Check TAG's first-party materials or contact TAG directly. CardGrade's API is an independent image-based condition pre-screen; it does not replace TAG's physical grading service.
No. CardGrade analyzes visible condition from submitted photos. It does not authenticate a card, inspect attributes that a photo cannot reveal, assign an official PSA/TAG/BGS/CGC grade, or encapsulate the physical card. Use the result to prioritize submissions, then rely on the physical grader for its own final decision.
The completed-grade endpoint returns the core structured grading data used by the web report, including zone scores, centering metrics, predicted PSA/BGS/CGC grades and available crop URLs. Market-value fields are returned when available. A separate report endpoint can generate or return the rendered JPG.
The API token gate accepts eligible Pro, Business and dedicated Developer API plans when the subscription status is active or trialing. The dedicated Developer API tiers shown on this page do not advertise a separate API trial; contact the team for setup. Anyone can read the API documentation before choosing a plan.
Pokémon, baseball, basketball, football, hockey, Magic: The Gathering, Yu-Gi-Oh, One Piece, and most modern and vintage trading cards.
You do not need one. It is plain REST with bare JSON responses and an OpenAPI 3.1 spec, so any HTTP client in any language works out of the box.
No. Grading is async, so you can poll GET /api/v1/grade/:id — or register a webhook in your dashboard under Webhooks and we POST an HMAC-signed grading.completed event to your URL the moment a grade finishes. Webhooks are included on every plan with API access.
Each completed grade uses one credit from your plan. Submissions are idempotent, and failed requests are automatically refunded, so you only pay for grades you actually receive.
Building something bigger? Talk to us about volume pricing and integration support.