Amass logo
Build AssistantDocumentationAPI ReferenceApp gallery
Sign inSign up

Search documentation

Search the documentation by keyword

Getting Started
  • Overview
  • Quickstart
  • Authentication
  • Roadmap
  • Pricing
For AI Agents
  • LLM Quick Reference
Amass Cores
  • BiomedCore
  • DrugCore
  • GeneCore
  • PatentCore
  • RegulatoryCore
  • TrialCore
Examples
  • Starter Agent
  • API Workflows
  • Amass SKILL.md

    PatentCore (preview)

    Preview. PatentCore is available to all API users, but its schema may still change while in preview.

    PatentCore provides access to patent publications. Each record carries bibliographic metadata (publication/application numbers, jurisdiction, kind code, family id), the English-preferred full text (title, abstract, claims, description), classifications (CPC/IPC), parties (inventors, assignees), key dates, citation lineage, and cross-links to DrugCore and BiomedCore.


    Endpoints

    Search — GET /v1/cores/patentcore/records

    Search across patent records with filters for jurisdiction, classification, parties, dates, and citation count.

    Shell
    curl "https://api.amass.tech/api/v1/cores/patentcore/records?query=lipid+nanoparticle+mRNA+delivery&limit=5" \
      -H "Authorization: Bearer amass_YOUR_KEY"

    Parameters:

    NameRequiredDefaultDescription
    queryyes—Search text (title, abstract, claims, description, assignees, inventors)
    limitno20Results to return (1–200)
    includeno—Optional fields to return. Repeat for multiple: claims, description, nplCitations, citedByPatents, referencesDrugCore, referencesBiomedCore
    countryCodeno—Comma-separated jurisdiction codes, match any, e.g. US,EP,WO
    kindCodeno—Comma-separated kind codes, match any, e.g. B2,A1
    languageno—Comma-separated language codes, match any
    cpcCodesno—Comma-separated CPC codes, match any
    ipcCodesno—Comma-separated IPC codes, match any
    assigneeno—Comma-separated assignee names, match any. Partial token match — Moderna finds the corpus-normalized MODERNATX INC, so you don't need the exact legal name.
    inventorno—Comma-separated inventor names, match any. Partial token match, same rules as assignee (e.g. Ciaramella matches CIARAMELLA GIUSEPPE).
    hasClaimsno—true/false to filter to patents that have claims text
    hasDescriptionno—true/false to filter to patents that have a description
    minPublicationDate / maxPublicationDateno—ISO date, e.g. 2020-01-01
    minFilingDate / maxFilingDateno—ISO date
    minGrantDate / maxGrantDateno—ISO date
    minPriorityDate / maxPriorityDateno—ISO date
    minCitedByCountno—Minimum forward-citation (cited-by) count

    Family collapsing

    A single invention is usually filed as many patent publications: the same disclosure across jurisdictions (US, EP, WO, CN…) and stages (application A1, grant B2), all sharing a familyId. Search returns one publication per family, the most relevant member, so a landscape query isn't flooded with near-duplicates of the same invention.

    ╔═ familyId = "12345678" — one invention ═══════════════════╗
    ║                                                            ║
    ║  AMPC_us_a1   AMPC_us_b2   AMPC_ep_a1   AMPC_wo_a1   …      ║
    ║  (US appl.)   (US grant)   (EP appl.)   (WO appl.)         ║
    ║                                                            ║
    ╚════════════════════════════════════════════════════════════╝
                              │
                       search collapses
                    the family to one member
                              ▼
                    ┌─────────────────────┐
                    │      AMPC_us_b2      │  ← one row returned
                    └─────────────────────┘
    
      AMPC_us_b2.familyMembers = [AMPC_us_a1, AMPC_ep_a1, AMPC_wo_a1, …]
                                 (collapsed siblings; may be a subset)
    • Collapsed siblings aren't lost: the kept row lists their PatentCore Amass IDs in familyMembers, so you can see the rest of the family and fetch any member directly via the get/batch endpoint. For a very large family this list may be a subset.
    • To retrieve every member of a family, including any not surfaced by a search, resolve the family via the lookup endpoint ({ "familyId": "<id>" }), which returns the Amass ID of every member publication.

    Which date to use

    A record carries four dates; they answer different questions, pick the filter to match the intent:

    • priorityDate: the invention's effective date and the legal prior-art cutoff. Use this for prior-art searches and innovation-trend analysis; it's the closest proxy for when the invention was made, and unlike the others it doesn't lag by a variable amount across jurisdictions.
    • publicationDate: when the document entered the public record (~18 months after filing for applications). Best for "what was recently disclosed / is now findable"; it's the most reliably populated date.
    • grantDate: when the patent issued as an enforceable right. Use it to restrict to granted patents, but note it is null for pending or never-granted applications, so a min/maxGrantDate filter silently drops everything that isn't granted.
    • filingDate: administrative anchor for the 20-year term; rarely the right analytical filter on its own.

    Rough default ranking: priority > publication > grant > filing. Results are always returned in search ranking relevance order; there is no sort-by-date, so narrow with a range filter rather than expecting chronological ordering.

    Example with filters, recent US mRNA-vaccine patents assigned to Moderna, sorted by relevance. assignee=Moderna partial-matches the normalized MODERNATX INC — no need for the exact legal name:

    Shell
    curl "https://api.amass.tech/api/v1/cores/patentcore/records\
    ?query=mRNA+vaccine\
    &countryCode=US\
    &assignee=Moderna\
    &minPublicationDate=2020-01-01\
    &limit=20" \
      -H "Authorization: Bearer amass_YOUR_KEY"

    Response:

    JSON
    { "data": [ { "amassId": "AMPC_...", "publicationNumber": "US-10266485-B2", "title": "...", "..." }, ... ] }

    Multi-value filters

    • Within one filter, OR. Comma-separated values match any: ?countryCode=US,EP returns US or EP patents.
    • Across filters, AND. Mixing filters narrows the result: ?countryCode=US&hasClaims=true returns US patents that also have claims text.

    Get — GET /v1/cores/patentcore/records/{amassId}

    Fetch a single patent by its Amass ID. Use ?include=claims,description,nplCitations,citedByPatents,referencesDrugCore,referencesBiomedCore to expand the opt-in fields.

    Shell
    curl "https://api.amass.tech/api/v1/cores/patentcore/records/AMPC_...?include=claims" \
      -H "Authorization: Bearer amass_YOUR_KEY"

    Lookup — POST /v1/cores/patentcore/records/lookup

    Resolve patent identifiers to Amass IDs. Each item carries exactly one of:

    • publicationNumber: the row's identity key; resolves to at most one Amass ID.
    • applicationNumber: resolves to every publication of that application (e.g. the A1 application publication and the B2 grant), so amassIds may hold several IDs.
    • familyId: resolves to every member publication of that family across jurisdictions/stages, so amassIds may hold many IDs.

    Each item returns an amassIds array (empty/omitted with an error when nothing matches). Items are resolved independently.

    Shell
    curl -X POST "https://api.amass.tech/api/v1/cores/patentcore/records/lookup" \
      -H "Authorization: Bearer amass_YOUR_KEY" \
      -H "Content-Type: application/json" \
      -d '{ "items": [ { "publicationNumber": "US-10266485-B2" }, { "applicationNumber": "US-15-123456" }, { "familyId": "12345678" } ] }'

    Response fields

    Default fields include publicationNumber, applicationNumber, countryCode, kindCode, familyId, familyMembers, title, abstract, language, nonEnglishFallback, cpcCodes, ipcCodes, inventors, assignees, publicationDate, filingDate, grantDate, priorityDate, citedPatents, priorityClaimNumbers, parentPublicationNumbers, childPublicationNumbers, hasClaims, hasDescription, nplCount, citedByCount.

    Optional (opt-in via include): claims, description, nplCitations, citedByPatents, referencesDrugCore, referencesBiomedCore.

    Citation fields — backward vs forward

    A citation can be read from both ends, so the fields split by direction. Getting this right matters: backward citations are the prior art a patent stands on (fixed at publication); forward citations are the later work that stands on it (a downstream-impact signal that grows over time).

    Backward — what this patent cites (prior art):

    FieldTypeMeaning
    citedPatentsstring[] (default)AMPC_* Amass IDs of the earlier patents this one cites — dereference each via the get/batch endpoint. Cited patents outside our life-science corpus are dropped, so this list can be shorter than the true backward-citation count.
    nplCitationsstring[] (opt-in)Raw non-patent-literature references (papers, books, standards) this patent cites.
    nplCountint (default)Count of the nplCitations entries. Returned by default (the list itself is opt-in via nplCitations).
    referencesBiomedCorestring[] (opt-in)Cross-core link to BiomedCore: AMBC_* Amass IDs of the papers this patent cites. Dereference each via the get/batch endpoint.

    Forward — what cites this patent (impact):

    FieldTypeMeaning
    citedByPatentsstring[] (opt-in)AMPC_* Amass IDs of later patents that cite this one — dereference each via the get/batch endpoint.
    citedByCountint (default)Forward-citation count. Returned by default (the list itself is opt-in).

    referencesDrugCore is the cross-core link to DrugCore AMDC_* Amass IDs. It is opt-in.

    referencesBiomedCore is the cross-core link to BiomedCore AMBC_* Amass IDs. It is opt-in.

    Reference field semantics

    ╔════════════════════════════════════════════════════════════════════════╗
    ║                                                                        ║
    ║  backward — prior art (fixed)        forward — impact (grows)          ║
    ║                                                                        ║
    ║  AMPC_e01 ─cited─┐                       ┌─cites─ AMPC_l01             ║
    ║  AMPC_e02 ─cited─┤    ┌───────────┐      ├─cites─ AMPC_l02             ║
    ║  AMPC_e03 ─cited─┼───►│  AMPC_X   │◄─────┼─cites─ AMPC_l03             ║
    ║                  │    └───────────┘      └─cites─ AMPC_l04             ║
    ║                                                                        ║
    ║  AMPC_X.citedPatents   = [AMPC_e01, AMPC_e02, AMPC_e03]  ← earlier     ║
    ║  AMPC_X.citedByPatents = [AMPC_l01, …, AMPC_l04]         ← later       ║
    ║                                                                        ║
    ║        ── intra-core: arrows stay within PatentCore ──                 ║
    ║                                                                        ║
    ╚════════════════════════════════════════════════════════════════════════╝
                       │                          │
            referencesBiomedCore          referencesDrugCore
            = [AMBC_p01, AMBC_p02]        = [AMDC_d01, AMDC_d02]
            nplCitations = [raw refs — no Amass ID, opt-in]
                       │                          │
                       ▼                          ▼
            ╔═ BiomedCore (papers) ══╗    ╔═ DrugCore (drugs) ════╗
            ║                        ║    ║                       ║
            ║  AMBC_p01   AMBC_p02   ║    ║  AMDC_d01   AMDC_d02  ║
            ║                        ║    ║                       ║
            ╚════════════════════════╝    ╚═══════════════════════╝
    • Intra-core arrows stay inside PatentCore — citedPatents (backward) and citedByPatents (forward) both target AMPC_ IDs. citedPatents is the prior art fixed at publication; citedByPatents is later work that grows over time.
    • Cross-core arrows leave PatentCore — referencesBiomedCore targets AMBC_ papers and referencesDrugCore targets AMDC_ drugs. Both are backward links (things this patent points to) and both are opt-in.
    • nplCitations are raw non-patent-literature strings, not Amass IDs — they don't dereference to a Core record; referencesBiomedCore is the resolved subset of that literature that maps to BiomedCore papers.

    Amass IDs

    PatentCore records use the AMPC_* prefix. Look up a record by its publicationNumber via the lookup endpoint or fetch it directly by AMPC_* id.