---
title: "US Patent & Trademark Assignments API"
slug: unified-uspto-search
url: https://apyhub.com/dosvak/service/unified-uspto-search
provider: Dosvak LLC
categories: [Data Extraction]
tags: [unified ip search, patent trademark search, ip ownership transfer, patent assignment search, intellectual property, ip due diligence, "m&a ip research", assignment records]
auth: api_key
version: 0.1.0
service_type: sync
endpoints: 3
atoms: 100
mcp: true
---

# US Patent & Trademark Assignments API

Search patents and trademarks in one query. Track ownership transfers and assignment history across US patent and trademark records.

## Endpoints

| Method | URL | Description | Atoms |
| --- | --- | --- | --- |
| GET | `https://api.eu.apyhub.com/dosvak/unified-uspto-search/api/v1/uspto/search/unified` | What it does Searches US patent and trademark data using a text query and returns a ranked list of… | 100 |
| GET | `https://api.eu.apyhub.com/dosvak/unified-uspto-search/api/v1/uspto/assignments/status` | What it does Retrieves the current US assignment status as a JSON object. The response includes a s… | 100 |
| GET | `https://api.eu.apyhub.com/dosvak/unified-uspto-search/api/v1/uspto/assignments/patent/search` | What it does Searches US patent assignment records using a required query string, with optional dat… | 100 |

## Endpoint reference

### Search US Patent & Trademark Data

`GET https://api.eu.apyhub.com/dosvak/unified-uspto-search/api/v1/uspto/search/unified` · 100 atoms · accepts `application/json` · returns `application/json`

| Parameter | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `year` | query | string | no | Year |
| `limit` | query | integer | no | Limit Default: `25`. |
| `query` | query | string | yes | Query Example: `wireless charging`. |
| `include_text` | query | boolean | no | Include Text Default: `true`. |
| `jurisdiction` | query | string | no | Jurisdiction |

#### Quickstart

Search USPTO patent and trademark data with a simple query.

```bash
curl -X GET "https://api.eu.apyhub.com/dosvak/unified-uspto-search/api/v1/uspto/search/unified?query=wireless%20charging" \
  -H "apy-token: $APY_TOKEN"
```

#### What you'll get back

Returns a JSON object with these top-level fields: `year` (integer or null), `count` (integer), `query` (string), `results` (array of ranked hit objects), `components` (object with per-dataset counts), `attribution` (array of attribution objects), `include_text` (boolean), and `jurisdiction` (string or null).

```json
{
  "year": 2024,
  "count": 1,
  "query": "wireless charging",
  "results": [],
  "components": {
    "trademark_count": 0,
    "patent_text_count": 1,
    "patent_metadata_count": 0,
    "patent_text_num_found": 1
  },
  "attribution": [],
  "include_text": true,
  "jurisdiction": null
}
```

### Get US Assignment Status

`GET https://api.eu.apyhub.com/dosvak/unified-uspto-search/api/v1/uspto/assignments/status` · 100 atoms · accepts `application/json` · returns `application/json`

#### Quickstart

This GET call checks the USPTO assignment status and returns the current status plus related tables and archive metadata.

```bash
curl -X GET "https://api.eu.apyhub.com/dosvak/unified-uspto-search/api/v1/uspto/assignments/status" \
  -H "apy-token: $APY_TOKEN"
```

#### What you'll get back

Returns a JSON object with these top-level fields: `status` is a string, `tables` is an object with `patent_assignments` and `trademark_assignments` sub-objects, `attribution` is an array of attribution objects, and `raw_archives` is an object listing archive file arrays.

```json
{
  "status": "ready",
  "tables": {
    "patent_assignments": { "rows": 0, "exists": false },
    "trademark_assignments": { "rows": 0, "exists": false }
  },
  "attribution": [],
  "raw_archives": {
    "patent_assignment_files": [],
    "trademark_assignment_files": []
  }
}
```

### Search US Patent Assignments

`GET https://api.eu.apyhub.com/dosvak/unified-uspto-search/api/v1/uspto/assignments/patent/search` · 100 atoms · accepts `application/json` · returns `application/json`

| Parameter | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `limit` | query | integer | no | Limit Default: `100`. |
| `query` | query | string | yes | Query Example: `Tesla`. |
| `end_date` | query | string | no | End Date |
| `start_date` | query | string | no | Start Date |

#### Quickstart

Search patent assignments for a company name like Tesla using the required `query` parameter.

```bash
curl -X GET "https://api.eu.apyhub.com/dosvak/unified-uspto-search/api/v1/uspto/assignments/patent/search?query=Tesla" \
  -H "apy-token: $APY_TOKEN"
```

#### What you'll get back

Returns a JSON object with `count` as an integer, `query` as a string, `status` as a string, `results` as an array of patent assignment records, `end_date` and `start_date` as date strings or null, and `attribution` as an array of attribution objects.

```json
{
  "count": 1,
  "query": "Tesla",
  "status": "ok",
  "results": []
}
```

## About

## What it does
US IP Search & Ownership Transfer covers the parts of USPTO data that span both patents and trademarks: cross-domain search, ingestion readiness, and patent ownership-transfer history.

`/search/unified` runs a single query across all three underlying datasets at once — patent metadata, full-text patent sections, and trademark records — and returns a blended, ranked result set. Each hit includes an `entity_type` (`patent_text`, `patent_metadata`, or `trademark`) and a `payload` shaped to match, plus a `components` object breaking down how many results came from each source. Use this when you don't yet know whether what you're looking for is a patent or a trademark, or when you want one search box to cover both.

`/assignments/status` is a lightweight, read-only readiness check for assignment data: it reports whether the `patent_assignments` and `trademark_assignments` tables exist, current row counts, and references to the underlying raw archive files. It's useful for monitoring checks and ingestion guards before downstream jobs depend on assignment coverage being present.

`/assignments/patent/search` searches recorded patent assignment transfers by name, company, or patent/application identifier, with optional recorded-date filtering. Each result includes `assignee_name`, `assignor_name`, `recorded_date`, `conveyance_text`, and `reel_frame` — the patent-side counterpart to the trademark assignment search in the Trademark Intelligence API.

Use this API when your workflow genuinely spans both patent and trademark data — unified discovery tools, ingestion monitoring, or patent ownership diligence — rather than when you're working exclusively within one domain. All responses include `attribution` metadata for source and licensing tracking.

## Usage

Base URL: `https://api.eu.apyhub.com` (default region — see
`GET https://apyhub.com/api/public/regions` for the rest).

Authenticate with an ApyHub API key in the `apy-token` header.
Full docs and a live playground: https://apyhub.com/dosvak/service/unified-uspto-search
