analyze_portfolio_risk
ChatGPTAnalyze action-required deadline and maintenance watch items across accessible portfolios. Identifies marks approaching renewal (registered 9+ years ago), upcoming docket deadlines within 90 days, and dead/abandoned marks. Informational publication opposition windows are excluded. Optionally narrow to a specific client.
analyze_prosecution_history
ChatGPTAnalyze the full prosecution history of a trademark — narrative timeline of office actions, responses, examiner decisions, and current status, with examiner-behavior patterns. For authenticated users this launches asynchronously (usually done in under a minute; longer for large file histories) and returns a processing handle used to retrieve the completed result once ready.
analyze_ttab_proceeding
ChatGPTAnalyze a TTAB (Trademark Trial and Appeal Board) proceeding in depth — fetches and analyzes proceeding documents, identifies key arguments, and returns a structured summary with timeline, party positions, and strategic assessment. For authenticated full-mode runs this launches asynchronously (typically 1-2 minutes) and returns a processing handle used to retrieve the completed result once ready.
check_brand_availability
ChatGPTQuick brand-name screen: checks whether the name's domains are registered and whether the .com site is in use, looks for similar registered trademarks in the given industries or classes, and returns a screening tier (avoid, probably avoid, promising, or no close conflicts surfaced) with the top conflicts and a domain snapshot. It is a first look, not a clearance search: it does not cover common-law use, state registrations or a full goods-relatedness analysis, so a result with no conflicts means none surfaced in this screen, not that the name is available. run_knockout_search is the fuller trademark conflict search.
check_domain_availability
ChatGPTCheck domain availability for a brand name. Returns status (available, parked, commercially used, or taken) for each TLD, plus .com variations (e.g., getbrand.com, brandhq.com).
compare_marks
ChatGPTCompare two trademarks for likelihood of confusion using DuPont-style analysis. Returns similarity scores and risk assessment.
count_filings_by_period
ChatGPTCounts U.S. trademark applications filed across the whole register in a date range, grouped by calendar year, month or day, with each period split into U.S.-filed and Madrid Protocol (79-series) applications and the change from the previous period. Answers questions such as how many trademark applications were filed in 2025 and how that compares with 2024, or which month of a year had the most filings. Counts are one per serial number by the filing date on the USPTO record; they are calendar periods, not USPTO fiscal-year statistics, and not class counts. Returns data_through, the latest filing date on the register; recent periods grow as late records arrive.
count_trademarks_by_attributes
ChatGPTCounts and previews USPTO marks by record attributes (drawing type, standard-character claim, Nice class, status, and combinations of these), with breakdowns by mark type, standard character and class, plus how complete the underlying data is. Claimed-color criteria can be combined with these attributes; counts by color alone, rankings, lists and color vocabulary are outside its scope.
fetch
ChatGPTRetrieve the full USPTO record for one trademark, using an id returned by the search tool. Returns mark, owner, status, filing and registration dates, Nice classes, the goods and services text, and counsel of record, with a public gleanmark.com URL for citation.
get_chain_of_title
ChatGPTTraces who has owned a trademark over time: the ownership stages the USPTO recorded, from the original applicant or registrant through each later owner, plus any recorded assignment documents GleanMark holds. Answers questions such as who owns a mark now versus who filed it, whether it was sold, transferred or assigned, and how it reached its current owner, including chain-of-title and due-diligence questions. lookup_trademark shows only the current owner. Owners listed within one stage are joint owners, not successive ones. Not a title opinion.
get_cited_mark_history
ChatGPTCitation history of one cited mark: every Office Action in GleanMark's parsed corpus that cited this registration (or pending application) against other applicants under Section 2(d), grouped by refused application, with what happened to each application (registered later, abandoned or still pending), the recorded outcome where a later action states one (withdrawn, obviated or maintained), and whether response text is on file. Answers questions such as how often a registration has been cited and whether applicants overcame the citation. Takes a registration number or a serial number; a mark name needs to be resolved to one of these first. Counts cover GleanMark-parsed Office Actions only, not every USPTO action. What was cited against a user's own application is returned by get_oa_case_detail and get_latest_office_action.
get_class_relationships
ChatGPTLook up coordinated Nice classes or related Nice classes for a given class number.
get_client_portfolios
ChatGPTList portfolios belonging to a specific client. Accepts a client UUID or client name and requires workspace access.
get_client_ttab_activity
ChatGPTGet TTAB proceedings involving a client's portfolio marks, including party names, the client's role, and the involved marks.
get_coexistence_evidence
ChatGPTFinds third-party coexistence evidence for a Section 2(d) likelihood-of-confusion refusal: pairs of live registrations owned by different parties that coexist on the federal register, one covering goods like the applicant's and one covering goods like the cited registration's. Takes the cited registration number plus the applicant's goods, given either as a filed application's serial number or, for an unfiled mark, as a free-text goods description with its Nice classes. Returns the coexisting pairs (marks, serial and registration numbers, owners, classes) and whether the number of pairs reaches the level usually treated as supportive; pairs are returned even when the count is below that level. Reads the public register only. Requires a signed-in GleanMark account.
get_cohort_event_intervals
ChatGPTMeasures the time between two prosecution events across a group of marks, e.g. the average days from Office Action to publication for marks published in Q2 2026. The group is chosen by an anchor event (preset: publication, notice_of_publication, registration, notice_of_allowance, abandonment or first_office_action, or raw event codes, where a trailing * matches a prefix) within a date window of up to 366 days; the interval runs from a start event to an end event. Returns the average, median and percentiles in days, how many marks in the group had no start event, and example marks. Samples up to max_sample marks from the start of the window and says when the sample is truncated. Event codes beyond the presets are listed by get_event_code_reference.
get_correspondent_marks
ChatGPTGet all trademarks handled by a specific attorney/correspondent, with prosecution event counts and office action flags. Returns marks sorted by prosecution history length. Use this for attorney-specific mark queries.
get_correspondent_specialization
ChatGPTSummarize what a named correspondent specializes in, including top clients, top Nice classes, and prosecution-versus-TTAB profile. Use this when the user asks what a specific correspondent or attorney specializes in.
get_crowded_field_evidence
ChatGPTMeasures whether a term sits in a crowded field: how many different owners hold live marks containing the term in the given Nice classes, with registered examples that can be cited. Relevant when arguing that a shared term is weak and entitled to a narrow scope of protection. Returns the distinct-owner count, isCrowded (true only when the count meets the standard threshold), and example registrations; isCrowded false means the register does not support a crowded-field argument for that term. Reads the public register only. Requires a signed-in GleanMark account.
get_deadline_satisfaction_mapping
ChatGPTCheck what role a USPTO event code plays for a deadline type (satisfies it, triggers it, abandons it, suspends it) per the deadline vocabulary table deadline_event_roles — office action response, opposition period, Statement of Use, Section 8/9/15, post-registration office action, ITU notice.
get_disclaimer_evidence
ChatGPTMeasures how live registrations containing a term in one Nice class treat it, for a disclaimer requirement or a Section 2(e)(1) descriptiveness refusal: how many disclaim the term and how many registered without disclaiming it, with examples of each. Reads the public register only. Requires a signed-in GleanMark account.
get_event_code_reference
ChatGPTLook up USPTO event codes used in trademark prosecution. Search by exact code, code prefix, or keyword in the event description. Returns the code, human-readable description, and category.
get_event_status_mapping
ChatGPTLook up which USPTO status code and status definition most commonly follow a specific prosecution event code.
get_fame_profile
ChatGPTGet the full fame profile for a brand (by mark wording or brand stem): fame tier (broad/dilution-tier vs market-specific), the fame "path" it cleared (concentrated dominant family vs large multi-class portfolio), its famous class footprint, corporate-family portfolio size and class breadth, brand-stem crowding, and TTAB enforcement history. Use to explain WHY a mark is (or is not) famous, or to profile a senior mark before a §2(d) / opposition / dilution strategy. Circumstantial signal, not statutory fame proof.
get_firm_correspondent_tasks
ChatGPTResolves a trademark law firm and returns its action-required work: overdue deadlines and those in the next window, plus recent Office Actions from case-file events and prosecution documents, with flags for a filed response and for Section 2(d) refusals. Answers questions such as which correspondent tasks a firm has in the next 30 days or which recent Office Actions a firm has received.
get_firm_deadlines
ChatGPTGet public, system-generated trademark deadlines across marks handled by a specific law firm. Uses public firm resolution and prosecution mappings only. Does not expose any workspace, client, reminder, or user-created deadline data.
get_firm_oa_outcomes
ChatGPTResolve a trademark law firm and compute mark-level Office Action outcome rates: how many firm-handled marks registered after receiving an OA, raw and excluding pending matters. Use this for questions like "what percentage registered after an OA?" or "OA success rate for this firm".
get_firm_top_correspondents
ChatGPTRanks the correspondents or attorneys within one named law firm by filing volume, with prosecution and TTAB activity counts. Answers questions such as who the top correspondents at Fross Zelnick Lehrman & Zissu are.
get_latest_office_action
ChatGPTReturns the most recent Office Action for a trademark serial number, the latest recorded response if there is one, and the refusal grounds parsed from the Office Action text, with the cited registration numbers. refusal_grounds is taken from the text of the action, not from the document title.
get_mark_ai_summary
ChatGPTGet an AI-generated deep-dive summary of a specific trademark. Covers mark details, goods/services, status, owner, prosecution context, and any active legal proceedings.
get_mark_deadlines
ChatGPTGet public, system-generated trademark deadlines for a specific mark. Accepts a serial number directly or resolves a mark name to a specific serial first. Does not expose any workspace, client, reminder, or user-created deadline data.
get_mark_international_profile
ChatGPTGet the international / foreign footprint of a U.S. trademark by serial number: its Madrid Protocol international registration (IR number, date, status, renewal), whether it was filed as a 66(a) Madrid extension, Madrid maintenance (§8/§15, renewal), and the foreign applications/registrations it claims as priority or basis (country, registration number, dates). Use this for ANY question about a mark's foreign, international, Madrid Protocol, WIPO, or EUIPO registrations. Data comes from USPTO records, so it is only available for marks with a USPTO record — it does not query WIPO/EUIPO live.
get_mark_owner_landscape
ChatGPTShow which owners hold marks matching a shared trademark term and summarize what else those owners have in their broader portfolios. Use this for crowded owner-landscape questions like "Which companies own a trademark for COMET?" or "Who owns trademarks for GLEAN?" Returns the matching owners ranked by footprint, with each owner's wider portfolio context.
get_mark_prosecution_summary
ChatGPTGet a compact prosecution summary for a trademark serial number. Returns current status, document counts, latest office action/response dates, milestones, and the latest key event.
get_my_clients
ChatGPTList clients accessible to the authenticated user. Respects firm-wide or restricted access modes.
get_my_tracked_owners
ChatGPTList trademark owners you are currently tracking, enriched with portfolio stats, TTAB stats, entity info, and health score. Supports ranking via limit + sort_by. For 'top pending pipeline' questions, use sort_by='pending_marks', sort_direction='desc', limit=10.
get_nice_classes
ChatGPTGet information about Nice Classification classes used for trademark registration. Lookup specific class numbers or search for classes by keyword.
get_oa_case_detail
ChatGPTGet the detailed office action case bundle for one serial number or OA document, including round context, refusal metadata, cited marks, and argument-analysis context.
get_office_action_research_status
ChatGPTCheck whether previously launched Office Action research for a serial number is still running, expired, or complete, and fetch the completed cached result when available.
get_owner_ai_summary
ChatGPTGet an AI-generated strategic analysis of a trademark owner. Covers brand protection philosophy, litigation posture, portfolio evolution, class distribution, and likely future behavior. Results are cached for 30 days.
get_owner_deadlines
ChatGPTGet public, system-generated trademark deadlines across a specific owner’s marks. Uses public USPTO owner resolution only. Does not expose any workspace, client, reminder, or user-created deadline data.
get_owner_filing_trends
ChatGPTGet a trademark owner's filing trends over time — yearly filing counts broken down by Nice class. Shows how the owner's trademark portfolio has evolved.
get_owner_goods_keywords
ChatGPTGet the most frequent goods/services keywords for a trademark owner. Shows what products and services the owner focuses on, useful for understanding their brand strategy and identifying class patterns.
get_owner_related_parties
ChatGPTFind entities likely related to a trademark owner (predecessors, subsidiaries, sister companies) from USPTO evidence: shared ownership history on the same marks, shared filing addresses (agent addresses excluded), and shared distinctive name tokens. Returns evidence and a high/possible confidence tier per hit — treat 'possible' as tentative. Use when analyzing an owner's full corporate family, portfolio scope, or whether two owners of similar marks are actually affiliated. Pass the owner name exactly as recorded (resolve with resolve_trademark_subject first if ambiguous).
get_owner_ttab_enforcement
ChatGPTAnalyze one trademark owner's TTAB enforcement in a single call. Filters and counts only target marks that actually satisfy the requested class, mark-type, and claimed-color criteria; separately reports all targets attached to qualifying proceedings. Supports exact class-only questions with target_class_match=only. Claimed-color metadata identifies candidate marks but does not prove color was alleged in the pleading; use analyze_ttab_proceeding for that evidence.
get_owner_ttab_stats
ChatGPTReturns a compact TTAB history for one owner: counts of inter partes proceedings, oppositions, cancellations, extensions of time to oppose and appeals, broken down by the owner's role. The total counts every record, including extensions and cases the owner defended, so it is not the number of oppositions the owner started. get_owner_ttab_enforcement covers date ranges and the marks and classes challenged.
get_portfolio_attention
ChatGPTSummarize what needs attention across the accessible workspace, a client, or a portfolio. Groups items into Needs Response, action-required Deadlines, and Potential Threats; informational publication opposition windows are not attention items.
get_portfolio_marks
ChatGPTList trademarks in a portfolio with full details (mark name, owner, status, filing/registration dates, Nice classes, mark type, attorney) plus facets (live/dead counts, status breakdown, mark type breakdown, class distribution). Accepts a portfolio UUID or portfolio name and verifies workspace access.
get_prosecution_document
ChatGPTRetrieve one specific USPTO prosecution document by the stable document_id returned from list_prosecution_documents, USPTO document id, code, or date. Returns the working USPTO document link, extraction/readability status, cached document text, and optional query-centered excerpts. Use text_query when the user asks what the document says about a particular issue. Call with serial_number alone and it returns the list of documents on file (newest first) so you can pick one — no separate list_prosecution_documents call needed.
get_prosecution_history_status
ChatGPTCheck whether previously launched prosecution history analysis for a serial number is still running or complete, and fetch the completed cached result when available.
get_prosecution_timeline
ChatGPTGet the prosecution timeline for a trademark — chronological list of office actions, responses, and key events (publication, registration, suspension, etc.). Raw data without AI analysis.
get_recent_alerts
ChatGPTList recent alerts for the authenticated user or organization. Returns alerts ordered by newest first, filterable by recency, count, and specific alert types.
get_reference_lookup
ChatGPTLook up USPTO or TTAB reference codes and small lookup tables such as status codes, statement types, legal entity types, Nice classes, design codes, and TTAB proceeding/status/role codes.
get_similar_marks
ChatGPTFind USPTO trademarks similar to a given mark name. Uses examiner-style knockout search with phonetic, trigram, and component matching to identify potential conflicts. Returns similarity_score (mark-only similarity) and confusion_score (blended mark + commercial overlap). Useful for trademark clearance searches.
get_top_filers
ChatGPTGet a ranked filer table for a date range, filer type, and optional Nice classes. Handles questions like "Who are the top 10 filers in Class 9 in 2025?" Returns ranked rows with per-filer live, registered, and pending counts plus corpus totals. A single call covers the full ranked list: limit (up to 100) sets the number of rows and the date range may span multiple years. offset reaches ranks beyond 100 or a specific band (ranks 40-45 = limit: 6, offset: 39).
get_ttab_document
ChatGPTRetrieve and read one specific TTABVUE filing by proceeding number and entry number. Returns filing metadata, a working USPTO TTABVUE viewer link, direct PDF link when available, extraction/readability status, document text, and optional query-centered excerpts. Use get_ttab_proceeding_details first when the entry number is unknown.
get_ttab_pleading_research_status
ChatGPTCheck a batch TTAB pleading-research job and fetch its completed evidence-backed classifications or exact term-search results. Results are paginated for large owner-wide cohorts.
get_ttab_proceeding_analysis_status
ChatGPTCheck whether previously launched TTAB proceeding analysis for a proceeding number is still running or complete, and fetch the completed cached result when available.
get_ttab_proceeding_details
ChatGPTGet raw details for a TTAB proceeding — parties, involved marks, counsel, and recent filings with entry numbers and working TTABVUE document links. Use get_ttab_document to read one selected filing. Use get_owner_ttab_enforcement for owner-wide distributions and analyze_ttab_proceeding for AI-powered merits analysis.
get_ttab_top_opposition_filers
ChatGPTRanks the parties that filed the most TTAB oppositions (or cancellations) across the whole Board in a date range. Answers market-wide questions such as which party filed the most oppositions in April 2026. Takes a calendar date range. One owner's record is covered by get_owner_ttab_stats, and one proceeding by get_ttab_proceeding_details.
get_upcoming_deadlines
ChatGPTLists the action-required trademark deadlines across the user's current workspace portfolios (their active organization workspace, or their personal portfolios), the same set shown on the GleanMark deadlines page. Includes overdue deadlines as well as upcoming ones, ordered by date. Opposition review windows for newly published marks are left out unless requested.
get_workspace_deadlines
ChatGPTList action-required docketed trademark deadlines in the active workspace, with optional client or portfolio filters, completion-state filtering, custom deadlines, and explicit informational-window control.
get_workspace_recent_office_actions
ChatGPTList the most recently issued USPTO Office Actions across every GleanMark portfolio the authenticated user can access. Ranks by actual issue date, includes matters even when a response has already been filed, and returns the portfolio name(s) for every mark. Use this for “recent/last/latest/newest Office Actions in my portfolios,” not for tracked-owner monitoring, action-required deadlines, or client-only questions.
get_workspace_ttab_deadlines
ChatGPTList TTAB proceeding deadlines in the active workspace, with optional client or portfolio filters and plaintiff/defendant narrowing.
is_mark_famous
ChatGPTChecks whether a trademark is famous, and whether it is famous for a specific market, using the applicant's Nice class as a stand-in for that market (fame is market-specific under Joseph Phelps Vineyards v. Fairmont: a mark famous for electronics is not automatically famous for fresh fruit). Returns is_famous, famous_in_class, the fame tier (broad household-name fame or market-specific fame), the classes where the mark is famous, portfolio size, and the corporate family's record as a TTAB plaintiff. Relevant to whether a mark is famous, the strength of a senior mark under Section 2(d), and dilution eligibility under Section 43(c). A circumstantial signal, not proof of statutory fame.
list_famous_marks
ChatGPTList famous brand families, optionally filtered by Nice class, fame path, or broad (dilution-tier) only, ranked by portfolio size. Capped at 50 results with no pagination. Use for "famous marks in Class 25", building a leaderboard, or surveying the crowded-field around a term. Circumstantial signal, not statutory fame proof.
list_marks_containing_term
ChatGPTLists every live USPTO mark containing a term as a whole word, including marks that match only through their USPTO pseudo-mark (respellings and compounds: for QUICK, marks such as KWIK REWARDS, QUICKSHIP and B-KWIK). Optional Nice class filter. Paged with limit (default 50, up to 200) and offset. Returns the full list, where get_crowded_field_evidence returns counts and about ten examples. Not a clearance search. Reads the public register only. Requires a signed-in GleanMark account.
list_prosecution_documents
ChatGPTList prosecution documents for a trademark serial number, including stable document identifiers, working USPTO links when available, extraction/readability status, office actions, responses, notices, and other dated filings. Use get_prosecution_document to read one selected document.
list_ttab_decisions
ChatGPTLists the Board opinions GleanMark has on file for a date or date range: case title, proceeding number, mailed date, whether precedential, how the proceeding ended (sustained, dismissed or granted, with the basis: default, uncontested, decided after testimony, or on the briefs), the defendant's marks, and page count. Also reports how many oppositions and cancellations on the docket ended by a Board decision in the window and how many of those were default judgments. Answers questions such as what the TTAB decided on a date, which decisions issued last week, or which precedential decisions issued recently; for one day, date_from and date_to are the same. Coverage is GleanMark's indexed corpus (about 5,400 opinions, about 200 of them precedential, mostly from 2017 onward), not every opinion the Board has issued. An opinion's text is available from get_ttab_document (proceeding_number and entry_number).
lookup_trademark
ChatGPTGet detailed information about a specific USPTO trademark by its serial number. Returns owner, status, filing dates, goods/services, correspondent (attorney/law firm of record — use this for "which firm represents/is correspondent for" questions), and more.
phonetic_search
ChatGPTFinds trademarks whose whole mark sounds like the given mark, using Metaphone codes and trigram similarity with a whole-mark threshold. Because it compares entire marks, a multi-word mark that only contains a sound-alike word is not returned: for QUICK, KWIK REWARDS does not appear even though KWIK sounds like QUICK. An empty or short result does not show that no sound-alike marks exist and is not a clearance result; run_knockout_search is the conflict search.
recommend_nice_classes
ChatGPTRecommend Nice trademark classes based on a business description. Returns the most relevant classes with confidence scores and explanations.
research_office_action
ChatGPTResearch the Office Action for a trademark — returns structured refusal categories, latest OA/response context, cited marks, and third-party registrations that support coexistence arguments. For authenticated users this launches asynchronously (typically 1-2 minutes) and returns a processing handle used to retrieve the completed result once ready.
research_ttab_pleadings
ChatGPTStarts research across the TTABVUE notice-of-opposition and petition-to-cancel PDFs (and optionally the answers) for a set of proceedings, and saves the job to the user's GleanMark account. Suited to classifying pleadings in batch, searching an owner's pleadings for terms, checking whether color, design, fame or sponsorship theories were actually alleged, or whether Class 35 cases assert brand extension or copying of a slogan. Takes proceeding numbers or owner, date and target filters. Runs in the background; get_ttab_pleading_research_status returns the result for the returned job_id. Requires a signed-in GleanMark account.
resolve_trademark_subject
ChatGPTMatches a name to one trademark entity (an owner, law firm, correspondent, mark, TTAB proceeding, client or portfolio) and returns the match with its identifiers, or the top candidates when the name is ambiguous. Resolving clients and portfolios requires a signed-in account.
run_dupont_analysis
ChatGPTAnalyzes Section 2(d) likelihood of confusion between two USPTO marks, following the du Pont reasoning used in the likelihood-of-confusion section of a GleanMark clearance memo, limited to this one pair. Covers the factors that apply (similarity of the marks, relatedness of the goods or services on the du Pont sliding scale, trade channels inferred from the identifications, and the cited mark's strength) and gives a directional conclusion on each (weighs against registration, neutral, or weighs in favor) without numeric scores. serial_a is the mark being assessed and serial_b the cited mark; swapping them changes the analysis. Returns the finished analysis. compare_marks gives a quick similarity score; this tool gives the reasoned assessment. Requires a signed-in GleanMark account.
run_knockout_search
ChatGPTRuns a scored trademark conflict (knockout) search over 14M USPTO records with the same engine as the GleanMark app: exact, phonetic, trigram and component-word matching, coordinated class expansion, foreign-equivalent translation and design codes, scored for mark similarity and commercial overlap. Returns results grouped into four risk tiers (very high, high, medium, low) with confusion scores, a four-level headline verdict (critical conflicts, elevated risk, moderate risk, low risk) with a one-line reason, and a sample of dead marks in the same naming territory. goods_description, when supplied, is scored for goods and services relatedness; without it, scoring uses classes only, which understates conflicts between related goods in different classes. owner_name adds the applicant's existing marks in the searched classes. It searches trademarks only, not domains or web use; check_brand_availability covers domains. Most searches finish in under a minute. Requires a signed-in GleanMark account.
run_register_query
ChatGPTRuns one read-only SQL query (SELECT or WITH) against markus_research, a sandboxed PostgreSQL schema of public USPTO and TTAB data, for register questions the purpose-built tools do not cover: novel aggregates, cross-cutting counts, letter-pattern scans and near-duplicate pairs (e.g. registered Class 42 marks whose first seven letters match and whose eighth differs). Requires a signed-in GleanMark account on a Professional plan. Views, schema-qualified as markus_research.<view>: register_marks (one row per mark: serial_number, registration_number, mark_identification, status_code, live_dead_indicator, display_status, owner_name, filing_date, registration_date, status_date, mark_type, goods_services_description, mark_category, attorney_name, law_firm_name, current_owners text[], original_owner, total_events, latest_event_date, latest_event_code, nice_classes text[] such as '042', class_count); register_detail (the full public register row per serial, including supplemental_register_in, mark_drawing_code, correspondent_name, correspondent_address, dates and prosecution flags); case_file_statements (serial_number, type_prefix, text); case_file_events (serial_number, code, date, description_text; event codes match on their 4-character stem); ttab_proceedings and ttab_proceeding_entries (proceeding numbers, types, statuses, dates), ttab_parties, ttab_properties, and ttab_proceeding_marks (proceeding, party role, serial, registration and mark text; one row per property); code tables: event_codes, status_codes, mark_drawing_codes, design_codes, statement_type_codes, international_class_codes, us_class_codes, ttab_entry_codes, ttab_role_codes, ttab_status_codes, ttab_proceeding_types. Limits: one statement, a 30-second budget over a 14M-row register, and at most 500 rows returned, so aggregates suit large populations. Class filters use the indexed form nice_classes @> ARRAY['042']; similarity to a given mark X uses the trigram prefilter mark_identification % 'X' before levenshtein(). A timeout returns hints for narrowing the query. The result includes a population_note describing what was measured; zero rows means nothing on the register matched.
run_safe_analytics
ChatGPTRuns a constrained analytics query over owners, law firms and correspondents (rankings, counts, snapshots and timelines) and returns the results without exposing database details. Suited to custom aggregate business questions that a single search or summary tool does not answer.
search
ChatGPTSearch GleanMark's USPTO trademark database and return citable results. Each result is a US trademark record with a stable id, a human-readable title (mark, owner and status) and a public gleanmark.com URL. Use the fetch tool with a returned id to read the full record. Covers 14M+ USPTO applications and registrations, live and dead.
search_attorneys
ChatGPTSearch for trademark attorneys or law firms. Returns prosecution statistics, TTAB proceeding counts (as plaintiff/defendant), and contact information.
search_by_owner
ChatGPTSearch for trademark owners by name. Use this to resolve or list candidate owners, not for owner counts, rankings, prosecution snapshots, or recent activity checks. Returns matching companies/individuals with their trademark portfolio statistics (total marks, live/dead counts, registered/pending).
search_claimed_colors
ChatGPTSearches or counts U.S. trademarks by the colors they claim, parsed from USPTO color-claim statements. Two levels: level="family" (16 color families; red also finds dark red, maroon and burgundy) and level="shade" (the exact term claimed, e.g. dark red). match="all" finds marks claiming at least the given colors, match="only" marks claiming exactly those colors, and match="only_bw" the same while also allowing black and white. claimed=false counts marks whose statement says color is not claimed. Modes: count, top_owners, list_marks, vocabulary (the valid families or shades with counts), explain_term (the family a shade belongs to) and by_serial (what one mark claims).
search_design_codes
ChatGPTFind US trademarks by USPTO design code — the codes examiners assign to the visual elements of a logo (26.17.01 = straight bands, 24.11 = crowns). Accepts dotted (26.17.01) or packed (261701) form. USPTO design vocabulary is literal and narrow: it records "Bands, straight" where a person says "stripe", and has no entry for words like "swoosh", so a plain shape word resolves to a code through mode="search_codes" before marks can be counted or listed. Modes: count, top_owners, list_marks, by_serial (what codes one mark carries), describe_code, search_codes. Omitting mode infers it from the arguments supplied.
search_design_similarity
ChatGPTSearch for visually or conceptually similar U.S. design and combined marks, optionally limited by USPTO claimed-color metadata. An image URL, uploaded-image URL, or existing serial/registration number uses true image-to-image similarity. A plain-English description and/or USPTO design codes uses semantic design similarity with exact-code boosting. Color limits candidate eligibility; visual/conceptual similarity still determines ranking. Returns mark images, color claims, and similarity signals.
search_goods_services
ChatGPTFull-text search over the goods and services identifications of 14M USPTO marks, for questions such as which other owners claim a product in their goods (competitive landscape, descriptiveness or crowded-field evidence, identification drafting precedent). Keyword-based: the query is tokenized and matched against each mark's indexed goods keywords (match_mode all requires every keyword, any requires at least one). Rows include a short excerpt around the matched clause, not the full identification. mode=count returns how many marks claim the goods, with class and status breakdowns; mode=top_owners ranks the owners claiming them; neither returns rows. Searches goods and services text, not mark names; run_knockout_search and search_trademarks search mark names.
search_mark_statements
ChatGPTSearches the statements the USPTO records on a trademark: disclaimers ("no claim is made to PIZZA apart from the mark"), descriptions of the drawing ("the mark consists of a red and white striped awning"), translations of foreign wording, and claims of prior registrations. Answers questions such as which marks disclaim a word or which marks are described as stripes. Modes: count, top_terms, top_owners, list_marks, by_serial (every statement on one mark) and statement_types. mode=top_terms with nice_class ranks the most-disclaimed terms in a class with per-term mark counts (disclaimers only); its status filter accepts live (registered and pending together), any or dead, so a registered-only ranking is not available. A single term's registered-only count is available with mode=count, text set to the term, and status=registered. Color claims are searched with search_claimed_colors.
search_marks_by_pattern
ChatGPTExhaustive structured search over all 14M USPTO marks, using the same engine as the structured search workspace in the GleanMark app. Returns every mark that matches a name pattern combined with class, status, owner, date or register filters, with an exact total count and paging: for example all marks that start with a word, every registered mark ending in a word, or marks containing a word in a class. search_trademarks instead returns up to 20 ranked closest matches. match_mode sets literal matching: contains, starts_with, ends_with or exact, plus contains_word, starts_with_word and ends_with_word, which require the term to stand alone as a word (starts_with_word on ON matches ON, ON THE GO and ON & ON, but not ONE or ONYX). The word modes suit short terms where substring matches would add noise. mark_name also accepts wildcards: * for any run of characters and ? for exactly one. Requires a signed-in GleanMark account on a Professional plan; TESS_SEARCH_ACCESS_DENIED means the plan does not include it. Not a clearance opinion.
search_oa_cases
ChatGPTSearches historical Office Action and response cases with filters for query text, refusal types, refusal subtypes, outcome, Office Action type, response status, round, and analysis availability.
search_trademarks
ChatGPTSearches USPTO trademarks by name (14M records) and returns the closest whole-mark matches, ranked by similarity and prefix. It is not an exhaustive contains-search: multi-word marks that only contain the queried word rank low and are often cut (a KWIK query can miss KWIK REWARDS or KWIK KOPY); search_marks_by_pattern returns complete lists. A short result does not show that a name is absent from the register or available.
search_ttab_opinions
ChatGPTFull-text search over the Board opinions GleanMark has on file (precedential only by default) for a doctrine, issue or phrase, such as fraud, materiality, specimens, dilution, genericness, descriptiveness, likelihood of confusion, abandonment, Rule 9(b) pleading or sanctions. Supports web-search syntax: quoted phrases, OR, and -exclude. Returns ranked opinions with keyword snippets, precedential status, mailed date and how the proceeding ended, plus the number of non-precedential opinions that also match (precedential_only=false includes them). Snippets are keyword windows, not holdings; get_ttab_document returns an opinion's full text. Coverage is GleanMark's indexed corpus, not the Board's full reading room.
search_ttab_proceedings
ChatGPTSearch TTAB proceedings using the same discovery index as the GleanMark TTAB workspace. Use for broad proceeding discovery by party name, exact 8-digit proceeding number, 8-digit trademark serial number, or 7-digit registration number. Supports status, proceeding type, matched party role, and owner-name filters. For one known case after discovery, use get_ttab_proceeding_details; for owner enforcement statistics, use get_owner_ttab_enforcement.
suggest_gs_descriptions
ChatGPTSearch the USPTO Trademark ID Manual (pre-approved, surcharge-free goods & services identifications) by plain words. Call once per distinct product/service line (e.g. construction services and lighting products are two separate calls), not once per whole business. Returns selectable Term IDs; entries with {curly-brace} placeholders are fill-in templates.
summarize_client
ChatGPTGet a composite summary of a client including name, status, portfolio count, total tracked marks, and recent alert count (last 30 days). Accepts a client UUID or client name.
summarize_portfolio
ChatGPTGet a composite summary of a portfolio including name, type, mark count, status breakdown, and a list of up to 20 marks with their details. Accepts a portfolio UUID or portfolio name.
validate_gs_description
ChatGPTCheck a draft goods & services description against the USPTO ID Manual, clause by clause (clauses split on ";"). Each clause comes back verbatim (selectable pre-approved entry), close (with up to 3 pre-approved substitutes), or freeform (subject to the USPTO $200/class free-form surcharge). Deterministic — no AI rewriting.
verify_ttab_holdings
ChatGPTChecks statements about what a TTAB decision held, found or decided against the text of that decision. Takes up to 20 claims per call; each claim is one sentence with the proceeding number (or, for an ex parte appeal, the application serial number). Returns for each claim a verdict (supports, does_not_support, insufficient or unverified), a one-sentence reason, the decision passage that was read, and the wording that passage supports. Intended for statements of a holding; docket facts such as dates, parties and case outcomes are outside its scope. Requires a signed-in GleanMark account.
web_research
ChatGPTResearch a company, trademark, or legal topic on the internet. Returns grounded results with source citations. Use for company background, recent news, common law trademark use, or case law research.