PSA API endpoint
PSA Price Guide's full category list -- the discovery endpoint for the category_path parameter used to browse or fetch a set's price table. Every category is a distinct collectible type (Baseball Cards, Basketball Cards, Boxing Cards, Football Cards, Golf Cards, Hockey Cards, Soccer Cards, Non-Sports/TCG Cards, Racing Cards, Sports Tickets, Tennis, Unopened Packs, Presidential Autographs, Sports Autographs, Professional Model/Game-Used Bats, Graded Baseballs).
/psa/price-guide/categoriesNo parameters.
Notable response behavior:
path is the category segment of the URL of the sets inside it, so use the
returned value verbatim as category_path for psa-price-guide-set and
psa-price-guide-sets. It is not a uniform slug+id template: most
categories end in -values, but non-sports-tcg-card-values,
game-used-bat-values and graded-baseball-values differ from the older
slugs PSA's navigation links redirect from, and Presidential Autographs and
Graded Baseballs each hold a single set.| Field | Filled in, of 16 checked | Values in the sample |
|---|---|---|
| id | 16 | |
| name | 16 | “Baseball Cards” and 15 other values |
| path | 16 | “baseball-card-values” and 15 other values |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/psa/price-guide/categories" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"categories": [
{
"id": 13,
"name": "Baseball Cards",
"path": "baseball-card-values"
},
{
"id": 3,
"name": "Basketball Cards",
"path": "basketball-card-values"
},
{
"id": 4,
"name": "Boxing Cards",
"path": "boxing-card-values"
},
{
"id": 5,
"name": "Football Cards",
"path": "football-card-values"
},
{
"id": 6,
"name": "Golf Cards",
"path": "golf-card-values"
},
{
"id": 1,
"name": "Hockey Cards",
"path": "hockey-card-values"
},
{
"id": 17,
"name": "Soccer Cards",
"path": "soccer-card-values"
},
{
"id": 7,
"name": "Non-Sports/TCG Cards",
"path": "non-sports-tcg-card-values"
},
{
"id": 10,
"name": "Racing Cards",
"path": "racing-card-values"
},
{
"id": 12,
"name": "Sports Tickets",
"path": "sports-ticket-values"
},
{
"id": 16,
"name": "Tennis",
"path": "tennis-card-values"
},
{
"id": 11,
"name": "Unopened Packs",
"path": "unopened-pack-values"
},
{
"id": 2176,
"name": "Presidential Autographs",
"path": "presidential-autograph-values"
},
{
"id": 2,
"name": "Sports Autographs",
"path": "sports-autograph-values"
},
{
"id": 8,
"name": "Professional Model / Game-Used Bats",
"path": "game-used-bat-values"
},
{
"id": 9,
"name": "Graded Baseballs",
"path": "graded-baseball-values"
}
]
}
}Request schema
No body schema
Response schema
#/definitions/psa.priceGuideCategoriesResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | psa.PriceGuideCategoriesResponse | No | ||||
| data.categories | array | No | ||||
| data.categories[].id | integer | No | ID is PSA's own numeric category id (SportCategoryID), confirmed live against every category this family covers. | |||
| data.categories[].name | string | No | Name is PSA's own display label, e.g. "Baseball Cards". | |||
| data.categories[].path | string | No | Path is the URL path segment(s) PSA Price Guide uses for this category, e.g. "baseball-card-values" -- most categories are a single segment, but not all (see notes on the shipped enum values). | |||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 500 | Internal Server Error | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/psa/price-guide/categories" \
-H "x-api-key: $CRAWLORA_API_KEY"