Skip to main content

CPC Beta Endpoint

Note: The content on this page is outdated. Please see our Search API Reference Page at

GET /api/v1/cpc_subsection/
POST /api/v1/cpc_subsection/
GET /api/v1/cpc_subsection/{cpc_subsection_id}/

GET /api/v1/cpc_group/   
POST /api/v1/cpc_group/   
GET /api/v1/cpc_group/{cpc_group_id}/

POST /api/v1/cpc_subgroup/   
GET /api/v1/cpc_subgroup/{cpc_subgroup_id}/

This will search for CPC subsections, groups, and subgroups matching the query string (q) and returning the data fields listed in the field string (f) sorted by the fields in the sort string (s) using options provided in the option string (o).

Either the HTTP GET, or POST method can be used; however, when the query parameters exceed a reasonable size (around 2,000 characters), then the POST method may be preferable. When using the POST method, the query parameters should be embedded within a JSON string within the request body.

Requests using the lookup version of the GET endpoint must include a single CPC subsection ID, CPC group ID, or CPC subgroup ID and will use the default f, s, and o options.

A request may be submitted with an empty query string. This will return all records.






JSON formatted object containing the query parameters. See below for details on formatting this object.


string, required
example: {"cpc_subsection_id":"G12"}
example: {"cpc_subsection_id": "A01"}
example: {"cpc_subgroup_id":"A01B1/00"}


JSON formatted array of fields to include in the results.

If not provided, CPC subsection defaults to cpc_section_id, cpc_subsection_id, and cpc_subsection_title.
CPC group defaults to cpc_group_id, cpc_group_title, and cpc_subsection_id.
CPC subgroup defaults to cpc_subgroup_id, cpc_subgroup_title, cpc_subsection_id, and cpc_group_id.

string, optional
example: [“cpc_subsection_id”, “cpc_subsection_title”, “cpc_subsection_num_patents”]
example: [“cpc_group_id”, “cpc_group_title”]
example: [“cpc_subgroup_id”, “cpc_subgroup_title”]


JSON formatted array of objects to sort the results.

If not provided, CPC subsection defaults to cpc_subsection_id, CPC group defaults to cpc_group_id, and CPC subgroup defaults to cpc_subgroup_id.

string, optional
example: [{"cpc_subsection_num_inventors": "desc"}]
example: [{"cpc_group_num_inventors": "desc"}]
example: [{"cpc_subgroup_num_inventors": "desc"}]


JSON formatted object of options to modify the results. Use these to page through results. Available options are:
Size: Number of results to return. 
Offset: Number of results to skip.

Size: Defaults to 100.
Offset: Defaults to 0.

string, optional
example: {"size": 50, "offset": 100}

Examples of complete API calls for each using the GET verb:{"cpc_section_id":"A"}&f=["cpc_subsection_id", "cpc_subsection_title", "cpc_subsection_num_patents"]{"cpc_subsection_id":"A01"}&f=["cpc_group_id", "cpc_group_title"]{"cpc_subgroup_id":"A01B"}&f=["cpc_subgroup_id", "cpc_subgroup_title"]

Examples of the equivalent API calls using the POST verb:

with the bodies containing, respectively:

{"q":{"cpc_section_id":"A"}, "f": ["cpc_subsection_id", "cpc_subsection_title", "cpc_subsection_num_patents"]}
{"q":{"cpc_subsection_id":"A01"},"f":["cpc_group_id", "cpc_group_title"]}
{"q":{"cpc_subgroup_id":"A01B"}},"f":["cpc_subgroup_id", "cpc_subgroup_title"]}

Examples of API calls using the lookup endpoint:


Return the total number of inventors within CPC subsection A42 “Headwear”:{"cpc_subsection_id":"A42"}&f=["cpc_subsection_num_inventors"]

Return the CPC subsection ID, title, and number of patents for the 10 subsections with the highest number of patents:{}&f=["cpc_subsection_id","cpc_subsection_title","cpc_subsection_num_patents"]&o={"size":10}&s=[{"cpc_subsection_num_patents":"desc"}]

Return the CPC group ID, title, and number of inventors for all CPC groups first seen on or after January 1, 2010:{"_gte":{"cpc_group_first_seen_date":"2010-01-01"}}&f=["cpc_group_id", "cpc_group_title", "cpc_group_num_inventors"]

Return 500 of all CPC subgroups:{}&o={"size":500}

CPC Subsection, Group, and Subgroup Field Lists



These endpoints' field lists can be viewed at the bottom of the webpage on the API's Swagger interface