{
  "openapi": "3.0.1",
  "info": {
    "title": "Mexico Trademark Search (IMPI MARCia)",
    "description": "Search the official Mexican trademark register (IMPI MARCia, formerly Marcanet) by name, owner or number. Spanish phonetic similarity score (b/v, c/s/z, ll/y, mute h), Nice class, status and filing-date filters, full details and watch mode.",
    "version": "0.1",
    "x-build-id": "9Q3XRPABHjyUxCsaf"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/jpmendes~mexico-trademark-search-impi/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-jpmendes-mexico-trademark-search-impi",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/jpmendes~mexico-trademark-search-impi/runs": {
      "post": {
        "operationId": "runs-sync-jpmendes-mexico-trademark-search-impi",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/jpmendes~mexico-trademark-search-impi/run-sync": {
      "post": {
        "operationId": "run-sync-jpmendes-mexico-trademark-search-impi",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "names": {
            "title": "Trademark names",
            "type": "array",
            "description": "Brand names to check against the Mexican register. Hits are ranked by a Spanish phonetic + textual similarity score: 'Vella Ziudad' vs 'BELLA CIUDAD' scores 97.",
            "items": {
              "type": "string"
            }
          },
          "matchMode": {
            "title": "How IMPI matches names",
            "enum": [
              "similar",
              "similar_plus",
              "contains",
              "exact"
            ],
            "type": "string",
            "description": "Candidate retrieval in MARCia before our ranking. 'Similar' is the best default for clearance; 'Similar plus' casts a wider net; 'Contains' finds the name inside longer marks; 'Exact' only the same words.",
            "default": "similar"
          },
          "minSimilarity": {
            "title": "Minimum similarity (%)",
            "minimum": 0,
            "maximum": 100,
            "type": "integer",
            "description": "Name searches only. Drop hits scoring below this (0–100). 70 keeps real risks such as the name inside a longer mark (90) or a same-sounding spelling (97); use 0 to keep everything IMPI returned.",
            "default": 70
          },
          "spellingVariants": {
            "title": "Also search same-sounding spellings",
            "type": "boolean",
            "description": "Name searches only. IMPI's similar search works word by word, so a mark spelled differently (b/v, z/s/c, ll/y, k/qu/c, h) can rank too low to be fetched. When on, up to 2 extra searches with alternative Spanish spellings are run and merged; similarity is always scored against the name you typed. Adds a few seconds per name, no extra charge.",
            "default": true
          },
          "owners": {
            "title": "Owners (applicant / holder names)",
            "type": "array",
            "description": "Company or person names. Returns trademarks whose owner contains the whole phrase, e.g. 'grupo bimbo'.",
            "items": {
              "type": "string"
            }
          },
          "numbers": {
            "title": "Application or registration numbers",
            "type": "array",
            "description": "IMPI expediente (application) or registration numbers, e.g. 1052179, or MARCia ids such as RM200901052179.",
            "items": {
              "type": "string"
            }
          },
          "maxResults": {
            "title": "Max trademarks per name/owner",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "Most trademarks returned (and billed) for each name or owner (1–1000).",
            "default": 50
          },
          "niceClasses": {
            "title": "Only these Nice classes",
            "type": "array",
            "description": "Optional (1–45). Keep only trademarks covering at least one of these classes. Applied by IMPI, so it works with any number of hits.",
            "items": {
              "type": "string"
            }
          },
          "status": {
            "title": "Status",
            "type": "array",
            "description": "Optional. 'registered' (REGISTRADO) and/or 'pending' (EN TRÁMITE). Empty = both. IMPI also shows abandoned and denied applications as EN TRÁMITE: check likelyInactive in the results (and status 'inactive' with full details).",
            "items": {
              "type": "string",
              "enum": [
                "registered",
                "pending"
              ],
              "enumTitles": [
                "Registered (REGISTRADO)",
                "Pending (EN TRÁMITE)"
              ]
            }
          },
          "filedAfter": {
            "title": "Filed on or after",
            "type": "string",
            "description": "Optional application-date filter: YYYY-MM-DD or a relative period such as '30 days' or '2 weeks' (handy for scheduled watch runs)."
          },
          "filedBefore": {
            "title": "Filed on or before",
            "type": "string",
            "description": "Optional: YYYY-MM-DD or a relative period such as '7 days'."
          },
          "excludeExpired": {
            "title": "Exclude expired registrations",
            "type": "boolean",
            "description": "IMPI keeps showing many lapsed marks as REGISTRADO. Turn on to drop registered marks whose expiry date has passed (they still appear with expired: true otherwise).",
            "default": false
          },
          "includeDetails": {
            "title": "Include full details",
            "type": "boolean",
            "description": "Adds Nice classes, goods and services, owner country (and address for companies), Vienna codes, priority claims, procedure history and the registration date, and confirms whether an application IMPI still shows as EN TRÁMITE was abandoned, denied or withdrawn (status 'inactive' with inactiveReason and inactiveDate). One extra request per trademark, billed as 'trademark with details'.",
            "default": false
          },
          "watchMode": {
            "title": "Watch mode (only new or changed)",
            "type": "boolean",
            "description": "Remembers what previous runs with the same query and filters returned and outputs only new trademarks or status/expiry changes (watchEvent: new/changed). Schedule the Actor to get alerts on new filings.",
            "default": false
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}