Skip to main content
Glama

Compare Buyer Question Answers

compare_buyer_question_answers
Read-onlyIdempotent

Two stored check runs of one buyer question in one market, side by side per engine: each side's answer text, whether it cited or named you (youNamed: your current business name in the text), which tracked competitors it named or cited, and its cited pages with their stored titles; plus the pages cited in After and not Before (added), the reverse (dropped), and a count cited in both. Pages match ignoring www., case of the host and a trailing slash. By default After is the newest run and Before is the last run before the question's live answer page was last published or pushed to the CMS (else the previous run); defaultReason says which. Lists every completed or partial run you can pass, same-week reruns included. Reads stored checks only. Related: get_buyer_question_answers, get_ai_visibility.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "question": "<question>"
    },
    "name": "compare_buyer_question_answers"
  }
}

Input Schema

NameRequiredDescriptionDefault
marketNoActive market id or exact name. Defaults to the market Performance > AI answers shows.
questionYesActive buyer question id, or its exact text (case and outer spaces ignored).
afterRunIdNoA run id from runs. Defaults to the newest. Before newer than After swaps them.
beforeRunIdNoA run id from runs. Unknown or failed ids fall back to the default.

Output Schema

NameRequiredDescriptionDefault
foundYes
appUrlYes
reasonYes
comparisonYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / properties / comparison / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "afterRunId": {
      -        "description": "Both null with fewer than two runs.",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "beforeRunId": {
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "defaultReason": {
      -        "anyOf": [
      -          {
      -            "additionalProperties": false,
      -            "properties": {
      -              "changedAt": {
      -                "type": [
      -                  "string",
      -                  "null"
      -                ]
      -              },
      -              "kind": {
      -                "enum": [
      -                  "answer_page_changed",
      -                  "no_check_since_change",
      -                  "previous_run"
      -                ],
      -                "type": "string"
      -              },
      -              "page": {
      -                "anyOf": [
      -                  {
      -                    "additionalProperties": false,
      -                    "properties": {
      -                      "label": {
      -                        "type": "string"
      -                      },
      -                      "postId": {
      -                        "type": "string"
      -                      }
      -                    },
      -                    "required": [
      -                      "postId",
      -                      "label"
      -                    ],
      -                    "type": "object"
      -                  },
      -                  {
      -                    "type": "null"
      -                  }
      -                ]
      -              }
      -            },
      -            "required": [
      -              "kind",
      -              "page",
      -              "changedAt"
      -            ],
      -            "type": "object"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "Why Mark picked Before; null when you passed beforeRunId. The page and changedAt are the answer page change it keyed on."
      -      },
      -      "engines": {
      -        "items": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "after": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "answerText": {
      -                  "type": [
      -                    "string",
      -                    "null"
      -                  ]
      -                },
      -                "baseline": {
      -                  "anyOf": [
      -                    {
      -                      "additionalProperties": false,
      -                      "properties": {
      -                        "checkedAt": {
      -                          "type": "string"
      -                        },
      -                        "state": {
      -                          "type": "string"
      -                        }
      -                      },
      -                      "required": [
      -                        "state",
      -                        "checkedAt"
      -                      ],
      -                      "type": "object"
      -                    },
      -                    {
      -                      "type": "null"
      -                    }
      -                  ],
      -                  "description": "The first answered check for this question and engine in this market (cited, mentioned or not_mentioned, and when); null when none."
      -                },
      -                "checkedAt": {
      -                  "type": [
      -                    "string",
      -                    "null"
      -                  ]
      -                },
      -                "citedPages": {
      -                  "items": {
      -                    "additionalProperties": false,
      -                    "properties": {
      -                      "answerPage": {
      -                        "description": "The live URL of a post linked to this question.",
      -                        "type": "boolean"
      -                      },
      -                      "competitor": {
      -                        "type": [
      -                          "string",
      -                          "null"
      -                        ]
      -                      },
      -                      "title": {
      -                        "description": "The page title the engine returned with the answer; null when it gave none. Pages are never fetched for it.",
      -                        "type": [
      -                          "string",
      -                          "null"
      -                        ]
      -                      },
      -                      "url": {
      -                        "type": "string"
      -                      },
      -                      "yours": {
      -                        "type": "boolean"
      -                      }
      -                    },
      -                    "required": [
      -                      "url",
      -                      "yours",
      -                      "answerPage",
      -                      "competitor",
      -                      "title"
      -                    ],
      -                    "type": "object"
      -                  },
      -                  "type": "array"
      -                },
      -                "competitors": {
      -                  "description": "Active tracked competitors the answer named or cited.",
      -                  "items": {
      -                    "additionalProperties": false,
      -                    "properties": {
      -                      "cited": {
      -                        "type": "boolean"
      -                      },
      -                      "name": {
      -                        "type": "string"
      -                      },
      -                      "named": {
      -                        "type": "boolean"
      -                      }
      -                    },
      -                    "required": [
      -                      "name",
      -                      "named",
      -                      "cited"
      -                    ],
      -                    "type": "object"
      -                  },
      -                  "type": "array"
      -                },
      -                "failedAt": {
      -                  "type": [
      -                    "string",
      -                    "null"
      -                  ]
      -                },
      -                "failedReason": {
      -                  "description": "Why the check failed, as recorded; null unless failed.",
      -                  "type": [
      -                    "string",
      -                    "null"
      -                  ]
      -                },
      -                "platform": {
      -                  "type": "string"
      -                },
      -                "state": {
      -                  "description": "cited, mentioned or not_mentioned are answers about you. no_answer, unknown, failed, not_set_up and no_data are not, and never mean not mentioned.",
      -                  "type": "string"
      -                },
      -                "youNamed": {
      -                  "description": "Whether the answer names your current business name or an alias, the rule the app highlights with; null with no answer text or no business name. state uses the name at check time, so the two can differ after a rename.",
      -                  "type": [
      -                    "boolean",
      -                    "null"
      -                  ]
      -                }
      -              },
      -              "required": [
      -                "platform",
      -                "state",
      -                "failedAt",
      -                "failedReason",
      -                "checkedAt",
      -                "baseline",
      -                "answerText",
      -                "youNamed",
      -                "competitors",
      -                "citedPages"
      -              ],
      -              "type": "object"
      -            },
      -            "before": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "answerText": {
      -                  "type": [
      -                    "string",
      -                    "null"
      -                  ]
      -                },
      -                "baseline": {
      -                  "anyOf": [
      -                    {
      -                      "additionalProperties": false,
      -                      "properties": {
      -                        "checkedAt": {
      -                          "type": "string"
      -                        },
      -                        "state": {
      -                          "type": "string"
      -                        }
      -                      },
      -                      "required": [
      -                        "state",
      -                        "checkedAt"
      -                      ],
      -                      "type": "object"
      -                    },
      -                    {
      -                      "type": "null"
      -                    }
      -                  ],
      -                  "description": "The first answered check for this question and engine in this market (cited, mentioned or not_mentioned, and when); null when none."
      -                },
      -                "checkedAt": {
      -                  "type": [
      -                    "string",
      -                    "null"
      -                  ]
      -                },
      -                "citedPages": {
      -                  "items": {
      -                    "additionalProperties": false,
      -                    "properties": {
      -                      "answerPage": {
      -                        "description": "The live URL of a post linked to this question.",
      -                        "type": "boolean"
      -                      },
      -                      "competitor": {
      -                        "type": [
      -                          "string",
      -                          "null"
      -                        ]
      -                      },
      -                      "title": {
      -                        "description": "The page title the engine returned with the answer; null when it gave none. Pages are never fetched for it.",
      -                        "type": [
      -                          "string",
      -                          "null"
      -                        ]
      -                      },
      -                      "url": {
      -                        "type": "string"
      -                      },
      -                      "yours": {
      -                        "type": "boolean"
      -                      }
      -                    },
      -                    "required": [
      -                      "url",
      -                      "yours",
      -                      "answerPage",
      -                      "competitor",
      -                      "title"
      -                    ],
      -                    "type": "object"
      -                  },
      -                  "type": "array"
      -                },
      -                "competitors": {
      -                  "description": "Active tracked competitors the answer named or cited.",
      -                  "items": {
      -                    "additionalProperties": false,
      -                    "properties": {
      -                      "cited": {
      -                        "type": "boolean"
      -                      },
      -                      "name": {
      -                        "type": "string"
      -                      },
      -                      "named": {
      -                        "type": "boolean"
      -                      }
      -                    },
      -                    "required": [
      -                      "name",
      -                      "named",
      -                      "cited"
      -                    ],
      -                    "type": "object"
      -                  },
      -                  "type": "array"
      -                },
      -                "failedAt": {
      -                  "type": [
      -                    "string",
      -                    "null"
      -                  ]
      -                },
      -                "failedReason": {
      -                  "description": "Why the check failed, as recorded; null unless failed.",
      -                  "type": [
      -                    "string",
      -                    "null"
      -                  ]
      -                },
      -                "platform": {
      -                  "type": "string"
      -                },
      -                "state": {
      -                  "description": "cited, mentioned or not_mentioned are answers about you. no_answer, unknown, failed, not_set_up and no_data are not, and never mean not mentioned.",
      -                  "type": "string"
      -                },
      -                "youNamed": {
      -                  "description": "Whether the answer names your current business name or an alias, the rule the app highlights with; null with no answer text or no business name. state uses the name at check time, so the two can differ after a rename.",
      -                  "type": [
      -                    "boolean",
      -                    "null"
      -                  ]
      -                }
      -              },
      -              "required": [
      -                "platform",
      -                "state",
      -                "failedAt",
      -                "failedReason",
      -                "checkedAt",
      -                "baseline",
      -                "answerText",
      -                "youNamed",
      -                "competitors",
      -                "citedPages"
      -              ],
      -              "type": "object"
      -            },
      -            "citations": {
      -              "anyOf": [
      -                {
      -                  "additionalProperties": false,
      -                  "properties": {
      -                    "added": {
      -                      "description": "Pages cited in After and not in Before.",
      -                      "items": {
      -                        "additionalProperties": false,
      -                        "properties": {
      -                          "answerPage": {
      -                            "description": "The live URL of a post linked to this question.",
      -                            "type": "boolean"
      -                          },
      -                          "competitor": {
      -                            "type": [
      -                              "string",
      -                              "null"
      -                            ]
      -                          },
      -                          "title": {
      -                            "description": "The page title the engine returned with the answer; null when it gave none. Pages are never fetched for it.",
      -                            "type": [
      -                              "string",
      -                              "null"
      -                            ]
      -                          },
      -                          "url": {
      -                            "type": "string"
      -                          },
      -                          "yours": {
      -                            "type": "boolean"
      -                          }
      -                        },
      -                        "required": [
      -                          "url",
      -                          "yours",
      -                          "answerPage",
      -                          "competitor",
      -                          "title"
      -                        ],
      -                        "type": "object"
      -                      },
      -                      "type": "array"
      -                    },
      -                    "dropped": {
      -                      "description": "Pages cited in Before and not in After.",
      -                      "items": {
      -                        "additionalProperties": false,
      -                        "properties": {
      -                          "answerPage": {
      -                            "description": "The live URL of a post linked to this question.",
      -                            "type": "boolean"
      -                          },
      -                          "competitor": {
      -                            "type": [
      -                              "string",
      -                              "null"
      -                            ]
      -                          },
      -                          "title": {
      -                            "description": "The page title the engine returned with the answer; null when it gave none. Pages are never fetched for it.",
      -                            "type": [
      -                              "string",
      -                              "null"
      -                            ]
      -                          },
      -                          "url": {
      -                            "type": "string"
      -                          },
      -                          "yours": {
      -                            "type": "boolean"
      -                          }
      -                        },
      -                        "required": [
      -                          "url",
      -                          "yours",
      -                          "answerPage",
      -                          "competitor",
      -                          "title"
      -                        ],
      -                        "type": "object"
      -                      },
      -                      "type": "array"
      -                    },
      -                    "inBoth": {
      -                      "description": "Pages cited in both.",
      -                      "type": "number"
      -                    }
      -                  },
      -                  "required": [
      -                    "added",
      -                    "dropped",
      -                    "inBoth"
      -                  ],
      -                  "type": "object"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "description": "Null when either side has no completed check for this engine."
      -            },
      -            "notCompared": {
      -              "description": "The sides with no completed check for this engine.",
      -              "items": {
      -                "enum": [
      -                  "before",
      -                  "after"
      -                ],
      -                "type": "string"
      -              },
      -              "type": "array"
      -            },
      -            "platform": {
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "platform",
      -            "before",
      -            "after",
      -            "citations",
      -            "notCompared"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "market": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "id": {
      -            "type": "string"
      -          },
      -          "name": {
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "id",
      -          "name"
      -        ],
      -        "type": "object"
      -      },
      -      "question": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "id": {
      -            "type": "string"
      -          },
      -          "question": {
      -            "type": "string"
      -          },
      -          "topic": {
      -            "description": "The question's topic, if set.",
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          }
      -        },
      -        "required": [
      -          "id",
      -          "question",
      -          "topic"
      -        ],
      -        "type": "object"
      -      },
      -      "runs": {
      -        "description": "Every completed or partial check run that asked this question in this market, newest first; same-week reruns are separate entries.",
      -        "items": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "finishedAt": {
      -              "type": "string"
      -            },
      -            "id": {
      -              "type": "string"
      -            },
      -            "weekKey": {
      -              "type": "string"
      -            },
      -            "weekOf": {
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "id",
      -            "weekKey",
      -            "weekOf",
      -            "finishedAt"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      }
      -    },
      -    "required": [
      -      "question",
      -      "market",
      -      "runs",
      -      "beforeRunId",
      -      "afterRunId",
      -      "defaultReason",
      -      "engines"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "afterRunId": {
      +        "description": "Both null with fewer than two runs.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "beforeRunId": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "defaultReason": {
      +        "anyOf": [
      +          {
      +            "additionalProperties": false,
      +            "properties": {
      +              "changedAt": {
      +                "type": [
      +                  "string",
      +                  "null"
      +                ]
      +              },
      +              "kind": {
      +                "enum": [
      +                  "answer_page_changed",
      +                  "no_check_since_change",
      +                  "previous_run"
      +                ],
      +                "type": "string"
      +              },
      +              "page": {
      +                "anyOf": [
      +                  {
      +                    "additionalProperties": false,
      +                    "properties": {
      +                      "label": {
      +                        "type": "string"
      +                      },
      +                      "postId": {
      +                        "type": "string"
      +                      }
      +                    },
      +                    "required": [
      +                      "postId",
      +                      "label"
      +                    ],
      +                    "type": "object"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ]
      +              }
      +            },
      +            "required": [
      +              "kind",
      +              "page",
      +              "changedAt"
      +            ],
      +            "type": "object"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "Why Mark picked Before; null when you passed beforeRunId. The page and changedAt are the answer page change it keyed on."
      +      },
      +      "engines": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "after": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "answerText": {
      +                  "description": "The engine's answer as markdown, its tables, headings and lists kept; citation chips, images and [n] footnote markers are left out, as they are for matching. Null with no answer.",
      +                  "type": [
      +                    "string",
      +                    "null"
      +                  ]
      +                },
      +                "baseline": {
      +                  "anyOf": [
      +                    {
      +                      "additionalProperties": false,
      +                      "properties": {
      +                        "checkedAt": {
      +                          "type": "string"
      +                        },
      +                        "state": {
      +                          "type": "string"
      +                        }
      +                      },
      +                      "required": [
      +                        "state",
      +                        "checkedAt"
      +                      ],
      +                      "type": "object"
      +                    },
      +                    {
      +                      "type": "null"
      +                    }
      +                  ],
      +                  "description": "The first answered check for this question and engine in this market (cited, mentioned or not_mentioned, and when); null when none."
      +                },
      +                "checkedAt": {
      +                  "type": [
      +                    "string",
      +                    "null"
      +                  ]
      +                },
      +                "citedPages": {
      +                  "items": {
      +                    "additionalProperties": false,
      +                    "properties": {
      +                      "answerPage": {
      +                        "description": "The live URL of a post linked to this question.",
      +                        "type": "boolean"
      +                      },
      +                      "competitor": {
      +                        "type": [
      +                          "string",
      +                          "null"
      +                        ]
      +                      },
      +                      "title": {
      +                        "description": "The page title the engine returned with the answer; null when it gave none. Pages are never fetched for it.",
      +                        "type": [
      +                          "string",
      +                          "null"
      +                        ]
      +                      },
      +                      "url": {
      +                        "type": "string"
      +                      },
      +                      "yours": {
      +                        "type": "boolean"
      +                      }
      +                    },
      +                    "required": [
      +                      "url",
      +                      "yours",
      +                      "answerPage",
      +                      "competitor",
      +                      "title"
      +                    ],
      +                    "type": "object"
      +                  },
      +                  "type": "array"
      +                },
      +                "competitors": {
      +                  "description": "Active tracked competitors the answer named or cited.",
      +                  "items": {
      +                    "additionalProperties": false,
      +                    "properties": {
      +                      "cited": {
      +                        "type": "boolean"
      +                      },
      +                      "name": {
      +                        "type": "string"
      +                      },
      +                      "named": {
      +                        "type": "boolean"
      +                      }
      +                    },
      +                    "required": [
      +                      "name",
      +                      "named",
      +                      "cited"
      +                    ],
      +                    "type": "object"
      +                  },
      +                  "type": "array"
      +                },
      +                "failedAt": {
      +                  "type": [
      +                    "string",
      +                    "null"
      +                  ]
      +                },
      +                "failedReason": {
      +                  "description": "Why the check failed, as recorded; null unless failed.",
      +                  "type": [
      +                    "string",
      +                    "null"
      +                  ]
      +                },
      +                "platform": {
      +                  "type": "string"
      +                },
      +                "state": {
      +                  "description": "cited, mentioned or not_mentioned are answers about you. no_answer, unknown, failed, not_set_up and no_data are not, and never mean not mentioned.",
      +                  "type": "string"
      +                },
      +                "youNamed": {
      +                  "description": "Whether the answer names your current business name or an alias, the rule the app highlights with; null with no answer text or no business name. state uses the name at check time, so the two can differ after a rename.",
      +                  "type": [
      +                    "boolean",
      +                    "null"
      +                  ]
      +                }
      +              },
      +              "required": [
      +                "platform",
      +                "state",
      +                "failedAt",
      +                "failedReason",
      +                "checkedAt",
      +                "baseline",
      +                "answerText",
      +                "youNamed",
      +                "competitors",
      +                "citedPages"
      +              ],
      +              "type": "object"
      +            },
      +            "before": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "answerText": {
      +                  "description": "The engine's answer as markdown, its tables, headings and lists kept; citation chips, images and [n] footnote markers are left out, as they are for matching. Null with no answer.",
      +                  "type": [
      +                    "string",
      +                    "null"
      +                  ]
      +                },
      +                "baseline": {
      +                  "anyOf": [
      +                    {
      +                      "additionalProperties": false,
      +                      "properties": {
      +                        "checkedAt": {
      +                          "type": "string"
      +                        },
      +                        "state": {
      +                          "type": "string"
      +                        }
      +                      },
      +                      "required": [
      +                        "state",
      +                        "checkedAt"
      +                      ],
      +                      "type": "object"
      +                    },
      +                    {
      +                      "type": "null"
      +                    }
      +                  ],
      +                  "description": "The first answered check for this question and engine in this market (cited, mentioned or not_mentioned, and when); null when none."
      +                },
      +                "checkedAt": {
      +                  "type": [
      +                    "string",
      +                    "null"
      +                  ]
      +                },
      +                "citedPages": {
      +                  "items": {
      +                    "additionalProperties": false,
      +                    "properties": {
      +                      "answerPage": {
      +                        "description": "The live URL of a post linked to this question.",
      +                        "type": "boolean"
      +                      },
      +                      "competitor": {
      +                        "type": [
      +                          "string",
      +                          "null"
      +                        ]
      +                      },
      +                      "title": {
      +                        "description": "The page title the engine returned with the answer; null when it gave none. Pages are never fetched for it.",
      +                        "type": [
      +                          "string",
      +                          "null"
      +                        ]
      +                      },
      +                      "url": {
      +                        "type": "string"
      +                      },
      +                      "yours": {
      +                        "type": "boolean"
      +                      }
      +                    },
      +                    "required": [
      +                      "url",
      +                      "yours",
      +                      "answerPage",
      +                      "competitor",
      +                      "title"
      +                    ],
      +                    "type": "object"
      +                  },
      +                  "type": "array"
      +                },
      +                "competitors": {
      +                  "description": "Active tracked competitors the answer named or cited.",
      +                  "items": {
      +                    "additionalProperties": false,
      +                    "properties": {
      +                      "cited": {
      +                        "type": "boolean"
      +                      },
      +                      "name": {
      +                        "type": "string"
      +                      },
      +                      "named": {
      +                        "type": "boolean"
      +                      }
      +                    },
      +                    "required": [
      +                      "name",
      +                      "named",
      +                      "cited"
      +                    ],
      +                    "type": "object"
      +                  },
      +                  "type": "array"
      +                },
      +                "failedAt": {
      +                  "type": [
      +                    "string",
      +                    "null"
      +                  ]
      +                },
      +                "failedReason": {
      +                  "description": "Why the check failed, as recorded; null unless failed.",
      +                  "type": [
      +                    "string",
      +                    "null"
      +                  ]
      +                },
      +                "platform": {
      +                  "type": "string"
      +                },
      +                "state": {
      +                  "description": "cited, mentioned or not_mentioned are answers about you. no_answer, unknown, failed, not_set_up and no_data are not, and never mean not mentioned.",
      +                  "type": "string"
      +                },
      +                "youNamed": {
      +                  "description": "Whether the answer names your current business name or an alias, the rule the app highlights with; null with no answer text or no business name. state uses the name at check time, so the two can differ after a rename.",
      +                  "type": [
      +                    "boolean",
      +                    "null"
      +                  ]
      +                }
      +              },
      +              "required": [
      +                "platform",
      +                "state",
      +                "failedAt",
      +                "failedReason",
      +                "checkedAt",
      +                "baseline",
      +                "answerText",
      +                "youNamed",
      +                "competitors",
      +                "citedPages"
      +              ],
      +              "type": "object"
      +            },
      +            "citations": {
      +              "anyOf": [
      +                {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "added": {
      +                      "description": "Pages cited in After and not in Before.",
      +                      "items": {
      +                        "additionalProperties": false,
      +                        "properties": {
      +                          "answerPage": {
      +                            "description": "The live URL of a post linked to this question.",
      +                            "type": "boolean"
      +                          },
      +                          "competitor": {
      +                            "type": [
      +                              "string",
      +                              "null"
      +                            ]
      +                          },
      +                          "title": {
      +                            "description": "The page title the engine returned with the answer; null when it gave none. Pages are never fetched for it.",
      +                            "type": [
      +                              "string",
      +                              "null"
      +                            ]
      +                          },
      +                          "url": {
      +                            "type": "string"
      +                          },
      +                          "yours": {
      +                            "type": "boolean"
      +                          }
      +                        },
      +                        "required": [
      +                          "url",
      +                          "yours",
      +                          "answerPage",
      +                          "competitor",
      +                          "title"
      +                        ],
      +                        "type": "object"
      +                      },
      +                      "type": "array"
      +                    },
      +                    "dropped": {
      +                      "description": "Pages cited in Before and not in After.",
      +                      "items": {
      +                        "additionalProperties": false,
      +                        "properties": {
      +                          "answerPage": {
      +                            "description": "The live URL of a post linked to this question.",
      +                            "type": "boolean"
      +                          },
      +                          "competitor": {
      +                            "type": [
      +                              "string",
      +                              "null"
      +                            ]
      +                          },
      +                          "title": {
      +                            "description": "The page title the engine returned with the answer; null when it gave none. Pages are never fetched for it.",
      +                            "type": [
      +                              "string",
      +                              "null"
      +                            ]
      +                          },
      +                          "url": {
      +                            "type": "string"
      +                          },
      +                          "yours": {
      +                            "type": "boolean"
      +                          }
      +                        },
      +                        "required": [
      +                          "url",
      +                          "yours",
      +                          "answerPage",
      +                          "competitor",
      +                          "title"
      +                        ],
      +                        "type": "object"
      +                      },
      +                      "type": "array"
      +                    },
      +                    "inBoth": {
      +                      "description": "Pages cited in both.",
      +                      "type": "number"
      +                    }
      +                  },
      +                  "required": [
      +                    "added",
      +                    "dropped",
      +                    "inBoth"
      +                  ],
      +                  "type": "object"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ],
      +              "description": "Null when either side has no completed check for this engine."
      +            },
      +            "notCompared": {
      +              "description": "The sides with no completed check for this engine.",
      +              "items": {
      +                "enum": [
      +                  "before",
      +                  "after"
      +                ],
      +                "type": "string"
      +              },
      +              "type": "array"
      +            },
      +            "platform": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "platform",
      +            "before",
      +            "after",
      +            "citations",
      +            "notCompared"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "market": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "id": {
      +            "type": "string"
      +          },
      +          "name": {
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "id",
      +          "name"
      +        ],
      +        "type": "object"
      +      },
      +      "question": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "id": {
      +            "type": "string"
      +          },
      +          "question": {
      +            "type": "string"
      +          },
      +          "topic": {
      +            "description": "The question's topic, if set.",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          }
      +        },
      +        "required": [
      +          "id",
      +          "question",
      +          "topic"
      +        ],
      +        "type": "object"
      +      },
      +      "runs": {
      +        "description": "Every completed or partial check run that asked this question in this market, newest first; same-week reruns are separate entries.",
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "finishedAt": {
      +              "type": "string"
      +            },
      +            "id": {
      +              "type": "string"
      +            },
      +            "weekKey": {
      +              "type": "string"
      +            },
      +            "weekOf": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "id",
      +            "weekKey",
      +            "weekOf",
      +            "finishedAt"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      }
      +    },
      +    "required": [
      +      "question",
      +      "market",
      +      "runs",
      +      "beforeRunId",
      +      "afterRunId",
      +      "defaultReason",
      +      "engines"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
  2. Changed1 schema field changed
    • changedOutput schema / properties / comparison / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "afterRunId": {
      -        "description": "Both null with fewer than two runs.",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "beforeRunId": {
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "defaultReason": {
      -        "anyOf": [
      -          {
      -            "additionalProperties": false,
      -            "properties": {
      -              "changedAt": {
      -                "type": [
      -                  "string",
      -                  "null"
      -                ]
      -              },
      -              "kind": {
      -                "enum": [
      -                  "answer_page_changed",
      -                  "no_check_since_change",
      -                  "previous_run"
      -                ],
      -                "type": "string"
      -              },
      -              "page": {
      -                "anyOf": [
      -                  {
      -                    "additionalProperties": false,
      -                    "properties": {
      -                      "label": {
      -                        "type": "string"
      -                      },
      -                      "postId": {
      -                        "type": "string"
      -                      }
      -                    },
      -                    "required": [
      -                      "postId",
      -                      "label"
      -                    ],
      -                    "type": "object"
      -                  },
      -                  {
      -                    "type": "null"
      -                  }
      -                ]
      -              }
      -            },
      -            "required": [
      -              "kind",
      -              "page",
      -              "changedAt"
      -            ],
      -            "type": "object"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "Why Mark picked Before; null when you passed beforeRunId. The page and changedAt are the answer page change it keyed on."
      -      },
      -      "engines": {
      -        "items": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "after": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "answerText": {
      -                  "type": [
      -                    "string",
      -                    "null"
      -                  ]
      -                },
      -                "baseline": {
      -                  "anyOf": [
      -                    {
      -                      "additionalProperties": false,
      -                      "properties": {
      -                        "checkedAt": {
      -                          "type": "string"
      -                        },
      -                        "state": {
      -                          "type": "string"
      -                        }
      -                      },
      -                      "required": [
      -                        "state",
      -                        "checkedAt"
      -                      ],
      -                      "type": "object"
      -                    },
      -                    {
      -                      "type": "null"
      -                    }
      -                  ],
      -                  "description": "The first answered check for this question and engine in this market (cited, mentioned or not_mentioned, and when); null when none."
      -                },
      -                "checkedAt": {
      -                  "type": [
      -                    "string",
      -                    "null"
      -                  ]
      -                },
      -                "citedPages": {
      -                  "items": {
      -                    "additionalProperties": false,
      -                    "properties": {
      -                      "answerPage": {
      -                        "description": "The live URL of a post linked to this question.",
      -                        "type": "boolean"
      -                      },
      -                      "competitor": {
      -                        "type": [
      -                          "string",
      -                          "null"
      -                        ]
      -                      },
      -                      "url": {
      -                        "type": "string"
      -                      },
      -                      "yours": {
      -                        "type": "boolean"
      -                      }
      -                    },
      -                    "required": [
      -                      "url",
      -                      "yours",
      -                      "answerPage",
      -                      "competitor"
      -                    ],
      -                    "type": "object"
      -                  },
      -                  "type": "array"
      -                },
      -                "competitors": {
      -                  "description": "Active tracked competitors the answer named or cited.",
      -                  "items": {
      -                    "additionalProperties": false,
      -                    "properties": {
      -                      "cited": {
      -                        "type": "boolean"
      -                      },
      -                      "name": {
      -                        "type": "string"
      -                      },
      -                      "named": {
      -                        "type": "boolean"
      -                      }
      -                    },
      -                    "required": [
      -                      "name",
      -                      "named",
      -                      "cited"
      -                    ],
      -                    "type": "object"
      -                  },
      -                  "type": "array"
      -                },
      -                "failedAt": {
      -                  "type": [
      -                    "string",
      -                    "null"
      -                  ]
      -                },
      -                "failedReason": {
      -                  "description": "Why the check failed, as recorded; null unless failed.",
      -                  "type": [
      -                    "string",
      -                    "null"
      -                  ]
      -                },
      -                "platform": {
      -                  "type": "string"
      -                },
      -                "state": {
      -                  "description": "cited, mentioned or not_mentioned are answers about you. no_answer, unknown, failed, not_set_up and no_data are not, and never mean not mentioned.",
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "platform",
      -                "state",
      -                "failedAt",
      -                "failedReason",
      -                "checkedAt",
      -                "baseline",
      -                "answerText",
      -                "competitors",
      -                "citedPages"
      -              ],
      -              "type": "object"
      -            },
      -            "before": {
      -              "additionalProperties": false,
      -              "properties": {
      -                "answerText": {
      -                  "type": [
      -                    "string",
      -                    "null"
      -                  ]
      -                },
      -                "baseline": {
      -                  "anyOf": [
      -                    {
      -                      "additionalProperties": false,
      -                      "properties": {
      -                        "checkedAt": {
      -                          "type": "string"
      -                        },
      -                        "state": {
      -                          "type": "string"
      -                        }
      -                      },
      -                      "required": [
      -                        "state",
      -                        "checkedAt"
      -                      ],
      -                      "type": "object"
      -                    },
      -                    {
      -                      "type": "null"
      -                    }
      -                  ],
      -                  "description": "The first answered check for this question and engine in this market (cited, mentioned or not_mentioned, and when); null when none."
      -                },
      -                "checkedAt": {
      -                  "type": [
      -                    "string",
      -                    "null"
      -                  ]
      -                },
      -                "citedPages": {
      -                  "items": {
      -                    "additionalProperties": false,
      -                    "properties": {
      -                      "answerPage": {
      -                        "description": "The live URL of a post linked to this question.",
      -                        "type": "boolean"
      -                      },
      -                      "competitor": {
      -                        "type": [
      -                          "string",
      -                          "null"
      -                        ]
      -                      },
      -                      "url": {
      -                        "type": "string"
      -                      },
      -                      "yours": {
      -                        "type": "boolean"
      -                      }
      -                    },
      -                    "required": [
      -                      "url",
      -                      "yours",
      -                      "answerPage",
      -                      "competitor"
      -                    ],
      -                    "type": "object"
      -                  },
      -                  "type": "array"
      -                },
      -                "competitors": {
      -                  "description": "Active tracked competitors the answer named or cited.",
      -                  "items": {
      -                    "additionalProperties": false,
      -                    "properties": {
      -                      "cited": {
      -                        "type": "boolean"
      -                      },
      -                      "name": {
      -                        "type": "string"
      -                      },
      -                      "named": {
      -                        "type": "boolean"
      -                      }
      -                    },
      -                    "required": [
      -                      "name",
      -                      "named",
      -                      "cited"
      -                    ],
      -                    "type": "object"
      -                  },
      -                  "type": "array"
      -                },
      -                "failedAt": {
      -                  "type": [
      -                    "string",
      -                    "null"
      -                  ]
      -                },
      -                "failedReason": {
      -                  "description": "Why the check failed, as recorded; null unless failed.",
      -                  "type": [
      -                    "string",
      -                    "null"
      -                  ]
      -                },
      -                "platform": {
      -                  "type": "string"
      -                },
      -                "state": {
      -                  "description": "cited, mentioned or not_mentioned are answers about you. no_answer, unknown, failed, not_set_up and no_data are not, and never mean not mentioned.",
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "platform",
      -                "state",
      -                "failedAt",
      -                "failedReason",
      -                "checkedAt",
      -                "baseline",
      -                "answerText",
      -                "competitors",
      -                "citedPages"
      -              ],
      -              "type": "object"
      -            },
      -            "citations": {
      -              "anyOf": [
      -                {
      -                  "additionalProperties": false,
      -                  "properties": {
      -                    "added": {
      -                      "description": "Pages cited in After and not in Before.",
      -                      "items": {
      -                        "additionalProperties": false,
      -                        "properties": {
      -                          "answerPage": {
      -                            "description": "The live URL of a post linked to this question.",
      -                            "type": "boolean"
      -                          },
      -                          "competitor": {
      -                            "type": [
      -                              "string",
      -                              "null"
      -                            ]
      -                          },
      -                          "url": {
      -                            "type": "string"
      -                          },
      -                          "yours": {
      -                            "type": "boolean"
      -                          }
      -                        },
      -                        "required": [
      -                          "url",
      -                          "yours",
      -                          "answerPage",
      -                          "competitor"
      -                        ],
      -                        "type": "object"
      -                      },
      -                      "type": "array"
      -                    },
      -                    "dropped": {
      -                      "description": "Pages cited in Before and not in After.",
      -                      "items": {
      -                        "additionalProperties": false,
      -                        "properties": {
      -                          "answerPage": {
      -                            "description": "The live URL of a post linked to this question.",
      -                            "type": "boolean"
      -                          },
      -                          "competitor": {
      -                            "type": [
      -                              "string",
      -                              "null"
      -                            ]
      -                          },
      -                          "url": {
      -                            "type": "string"
      -                          },
      -                          "yours": {
      -                            "type": "boolean"
      -                          }
      -                        },
      -                        "required": [
      -                          "url",
      -                          "yours",
      -                          "answerPage",
      -                          "competitor"
      -                        ],
      -                        "type": "object"
      -                      },
      -                      "type": "array"
      -                    },
      -                    "inBoth": {
      -                      "description": "Pages cited in both.",
      -                      "type": "number"
      -                    }
      -                  },
      -                  "required": [
      -                    "added",
      -                    "dropped",
      -                    "inBoth"
      -                  ],
      -                  "type": "object"
      -                },
      -                {
      -                  "type": "null"
      -                }
      -              ],
      -              "description": "Null when either side has no completed check for this engine."
      -            },
      -            "notCompared": {
      -              "description": "The sides with no completed check for this engine.",
      -              "items": {
      -                "enum": [
      -                  "before",
      -                  "after"
      -                ],
      -                "type": "string"
      -              },
      -              "type": "array"
      -            },
      -            "platform": {
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "platform",
      -            "before",
      -            "after",
      -            "citations",
      -            "notCompared"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "market": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "id": {
      -            "type": "string"
      -          },
      -          "name": {
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "id",
      -          "name"
      -        ],
      -        "type": "object"
      -      },
      -      "question": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "id": {
      -            "type": "string"
      -          },
      -          "question": {
      -            "type": "string"
      -          },
      -          "topic": {
      -            "description": "The question's topic, if set.",
      -            "type": [
      -              "string",
      -              "null"
      -            ]
      -          }
      -        },
      -        "required": [
      -          "id",
      -          "question",
      -          "topic"
      -        ],
      -        "type": "object"
      -      },
      -      "runs": {
      -        "description": "Every completed or partial check run that asked this question in this market, newest first; same-week reruns are separate entries.",
      -        "items": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "finishedAt": {
      -              "type": "string"
      -            },
      -            "id": {
      -              "type": "string"
      -            },
      -            "weekKey": {
      -              "type": "string"
      -            },
      -            "weekOf": {
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "id",
      -            "weekKey",
      -            "weekOf",
      -            "finishedAt"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      }
      -    },
      -    "required": [
      -      "question",
      -      "market",
      -      "runs",
      -      "beforeRunId",
      -      "afterRunId",
      -      "defaultReason",
      -      "engines"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "afterRunId": {
      +        "description": "Both null with fewer than two runs.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "beforeRunId": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "defaultReason": {
      +        "anyOf": [
      +          {
      +            "additionalProperties": false,
      +            "properties": {
      +              "changedAt": {
      +                "type": [
      +                  "string",
      +                  "null"
      +                ]
      +              },
      +              "kind": {
      +                "enum": [
      +                  "answer_page_changed",
      +                  "no_check_since_change",
      +                  "previous_run"
      +                ],
      +                "type": "string"
      +              },
      +              "page": {
      +                "anyOf": [
      +                  {
      +                    "additionalProperties": false,
      +                    "properties": {
      +                      "label": {
      +                        "type": "string"
      +                      },
      +                      "postId": {
      +                        "type": "string"
      +                      }
      +                    },
      +                    "required": [
      +                      "postId",
      +                      "label"
      +                    ],
      +                    "type": "object"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ]
      +              }
      +            },
      +            "required": [
      +              "kind",
      +              "page",
      +              "changedAt"
      +            ],
      +            "type": "object"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "Why Mark picked Before; null when you passed beforeRunId. The page and changedAt are the answer page change it keyed on."
      +      },
      +      "engines": {
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "after": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "answerText": {
      +                  "type": [
      +                    "string",
      +                    "null"
      +                  ]
      +                },
      +                "baseline": {
      +                  "anyOf": [
      +                    {
      +                      "additionalProperties": false,
      +                      "properties": {
      +                        "checkedAt": {
      +                          "type": "string"
      +                        },
      +                        "state": {
      +                          "type": "string"
      +                        }
      +                      },
      +                      "required": [
      +                        "state",
      +                        "checkedAt"
      +                      ],
      +                      "type": "object"
      +                    },
      +                    {
      +                      "type": "null"
      +                    }
      +                  ],
      +                  "description": "The first answered check for this question and engine in this market (cited, mentioned or not_mentioned, and when); null when none."
      +                },
      +                "checkedAt": {
      +                  "type": [
      +                    "string",
      +                    "null"
      +                  ]
      +                },
      +                "citedPages": {
      +                  "items": {
      +                    "additionalProperties": false,
      +                    "properties": {
      +                      "answerPage": {
      +                        "description": "The live URL of a post linked to this question.",
      +                        "type": "boolean"
      +                      },
      +                      "competitor": {
      +                        "type": [
      +                          "string",
      +                          "null"
      +                        ]
      +                      },
      +                      "title": {
      +                        "description": "The page title the engine returned with the answer; null when it gave none. Pages are never fetched for it.",
      +                        "type": [
      +                          "string",
      +                          "null"
      +                        ]
      +                      },
      +                      "url": {
      +                        "type": "string"
      +                      },
      +                      "yours": {
      +                        "type": "boolean"
      +                      }
      +                    },
      +                    "required": [
      +                      "url",
      +                      "yours",
      +                      "answerPage",
      +                      "competitor",
      +                      "title"
      +                    ],
      +                    "type": "object"
      +                  },
      +                  "type": "array"
      +                },
      +                "competitors": {
      +                  "description": "Active tracked competitors the answer named or cited.",
      +                  "items": {
      +                    "additionalProperties": false,
      +                    "properties": {
      +                      "cited": {
      +                        "type": "boolean"
      +                      },
      +                      "name": {
      +                        "type": "string"
      +                      },
      +                      "named": {
      +                        "type": "boolean"
      +                      }
      +                    },
      +                    "required": [
      +                      "name",
      +                      "named",
      +                      "cited"
      +                    ],
      +                    "type": "object"
      +                  },
      +                  "type": "array"
      +                },
      +                "failedAt": {
      +                  "type": [
      +                    "string",
      +                    "null"
      +                  ]
      +                },
      +                "failedReason": {
      +                  "description": "Why the check failed, as recorded; null unless failed.",
      +                  "type": [
      +                    "string",
      +                    "null"
      +                  ]
      +                },
      +                "platform": {
      +                  "type": "string"
      +                },
      +                "state": {
      +                  "description": "cited, mentioned or not_mentioned are answers about you. no_answer, unknown, failed, not_set_up and no_data are not, and never mean not mentioned.",
      +                  "type": "string"
      +                },
      +                "youNamed": {
      +                  "description": "Whether the answer names your current business name or an alias, the rule the app highlights with; null with no answer text or no business name. state uses the name at check time, so the two can differ after a rename.",
      +                  "type": [
      +                    "boolean",
      +                    "null"
      +                  ]
      +                }
      +              },
      +              "required": [
      +                "platform",
      +                "state",
      +                "failedAt",
      +                "failedReason",
      +                "checkedAt",
      +                "baseline",
      +                "answerText",
      +                "youNamed",
      +                "competitors",
      +                "citedPages"
      +              ],
      +              "type": "object"
      +            },
      +            "before": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "answerText": {
      +                  "type": [
      +                    "string",
      +                    "null"
      +                  ]
      +                },
      +                "baseline": {
      +                  "anyOf": [
      +                    {
      +                      "additionalProperties": false,
      +                      "properties": {
      +                        "checkedAt": {
      +                          "type": "string"
      +                        },
      +                        "state": {
      +                          "type": "string"
      +                        }
      +                      },
      +                      "required": [
      +                        "state",
      +                        "checkedAt"
      +                      ],
      +                      "type": "object"
      +                    },
      +                    {
      +                      "type": "null"
      +                    }
      +                  ],
      +                  "description": "The first answered check for this question and engine in this market (cited, mentioned or not_mentioned, and when); null when none."
      +                },
      +                "checkedAt": {
      +                  "type": [
      +                    "string",
      +                    "null"
      +                  ]
      +                },
      +                "citedPages": {
      +                  "items": {
      +                    "additionalProperties": false,
      +                    "properties": {
      +                      "answerPage": {
      +                        "description": "The live URL of a post linked to this question.",
      +                        "type": "boolean"
      +                      },
      +                      "competitor": {
      +                        "type": [
      +                          "string",
      +                          "null"
      +                        ]
      +                      },
      +                      "title": {
      +                        "description": "The page title the engine returned with the answer; null when it gave none. Pages are never fetched for it.",
      +                        "type": [
      +                          "string",
      +                          "null"
      +                        ]
      +                      },
      +                      "url": {
      +                        "type": "string"
      +                      },
      +                      "yours": {
      +                        "type": "boolean"
      +                      }
      +                    },
      +                    "required": [
      +                      "url",
      +                      "yours",
      +                      "answerPage",
      +                      "competitor",
      +                      "title"
      +                    ],
      +                    "type": "object"
      +                  },
      +                  "type": "array"
      +                },
      +                "competitors": {
      +                  "description": "Active tracked competitors the answer named or cited.",
      +                  "items": {
      +                    "additionalProperties": false,
      +                    "properties": {
      +                      "cited": {
      +                        "type": "boolean"
      +                      },
      +                      "name": {
      +                        "type": "string"
      +                      },
      +                      "named": {
      +                        "type": "boolean"
      +                      }
      +                    },
      +                    "required": [
      +                      "name",
      +                      "named",
      +                      "cited"
      +                    ],
      +                    "type": "object"
      +                  },
      +                  "type": "array"
      +                },
      +                "failedAt": {
      +                  "type": [
      +                    "string",
      +                    "null"
      +                  ]
      +                },
      +                "failedReason": {
      +                  "description": "Why the check failed, as recorded; null unless failed.",
      +                  "type": [
      +                    "string",
      +                    "null"
      +                  ]
      +                },
      +                "platform": {
      +                  "type": "string"
      +                },
      +                "state": {
      +                  "description": "cited, mentioned or not_mentioned are answers about you. no_answer, unknown, failed, not_set_up and no_data are not, and never mean not mentioned.",
      +                  "type": "string"
      +                },
      +                "youNamed": {
      +                  "description": "Whether the answer names your current business name or an alias, the rule the app highlights with; null with no answer text or no business name. state uses the name at check time, so the two can differ after a rename.",
      +                  "type": [
      +                    "boolean",
      +                    "null"
      +                  ]
      +                }
      +              },
      +              "required": [
      +                "platform",
      +                "state",
      +                "failedAt",
      +                "failedReason",
      +                "checkedAt",
      +                "baseline",
      +                "answerText",
      +                "youNamed",
      +                "competitors",
      +                "citedPages"
      +              ],
      +              "type": "object"
      +            },
      +            "citations": {
      +              "anyOf": [
      +                {
      +                  "additionalProperties": false,
      +                  "properties": {
      +                    "added": {
      +                      "description": "Pages cited in After and not in Before.",
      +                      "items": {
      +                        "additionalProperties": false,
      +                        "properties": {
      +                          "answerPage": {
      +                            "description": "The live URL of a post linked to this question.",
      +                            "type": "boolean"
      +                          },
      +                          "competitor": {
      +                            "type": [
      +                              "string",
      +                              "null"
      +                            ]
      +                          },
      +                          "title": {
      +                            "description": "The page title the engine returned with the answer; null when it gave none. Pages are never fetched for it.",
      +                            "type": [
      +                              "string",
      +                              "null"
      +                            ]
      +                          },
      +                          "url": {
      +                            "type": "string"
      +                          },
      +                          "yours": {
      +                            "type": "boolean"
      +                          }
      +                        },
      +                        "required": [
      +                          "url",
      +                          "yours",
      +                          "answerPage",
      +                          "competitor",
      +                          "title"
      +                        ],
      +                        "type": "object"
      +                      },
      +                      "type": "array"
      +                    },
      +                    "dropped": {
      +                      "description": "Pages cited in Before and not in After.",
      +                      "items": {
      +                        "additionalProperties": false,
      +                        "properties": {
      +                          "answerPage": {
      +                            "description": "The live URL of a post linked to this question.",
      +                            "type": "boolean"
      +                          },
      +                          "competitor": {
      +                            "type": [
      +                              "string",
      +                              "null"
      +                            ]
      +                          },
      +                          "title": {
      +                            "description": "The page title the engine returned with the answer; null when it gave none. Pages are never fetched for it.",
      +                            "type": [
      +                              "string",
      +                              "null"
      +                            ]
      +                          },
      +                          "url": {
      +                            "type": "string"
      +                          },
      +                          "yours": {
      +                            "type": "boolean"
      +                          }
      +                        },
      +                        "required": [
      +                          "url",
      +                          "yours",
      +                          "answerPage",
      +                          "competitor",
      +                          "title"
      +                        ],
      +                        "type": "object"
      +                      },
      +                      "type": "array"
      +                    },
      +                    "inBoth": {
      +                      "description": "Pages cited in both.",
      +                      "type": "number"
      +                    }
      +                  },
      +                  "required": [
      +                    "added",
      +                    "dropped",
      +                    "inBoth"
      +                  ],
      +                  "type": "object"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ],
      +              "description": "Null when either side has no completed check for this engine."
      +            },
      +            "notCompared": {
      +              "description": "The sides with no completed check for this engine.",
      +              "items": {
      +                "enum": [
      +                  "before",
      +                  "after"
      +                ],
      +                "type": "string"
      +              },
      +              "type": "array"
      +            },
      +            "platform": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "platform",
      +            "before",
      +            "after",
      +            "citations",
      +            "notCompared"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "market": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "id": {
      +            "type": "string"
      +          },
      +          "name": {
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "id",
      +          "name"
      +        ],
      +        "type": "object"
      +      },
      +      "question": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "id": {
      +            "type": "string"
      +          },
      +          "question": {
      +            "type": "string"
      +          },
      +          "topic": {
      +            "description": "The question's topic, if set.",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          }
      +        },
      +        "required": [
      +          "id",
      +          "question",
      +          "topic"
      +        ],
      +        "type": "object"
      +      },
      +      "runs": {
      +        "description": "Every completed or partial check run that asked this question in this market, newest first; same-week reruns are separate entries.",
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "finishedAt": {
      +              "type": "string"
      +            },
      +            "id": {
      +              "type": "string"
      +            },
      +            "weekKey": {
      +              "type": "string"
      +            },
      +            "weekOf": {
      +              "type": "string"
      +            }
      +          },
      +          "required": [
      +            "id",
      +            "weekKey",
      +            "weekOf",
      +            "finishedAt"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      }
      +    },
      +    "required": [
      +      "question",
      +      "market",
      +      "runs",
      +      "beforeRunId",
      +      "afterRunId",
      +      "defaultReason",
      +      "engines"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
  3. Added

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish a safe, idempotent, closed-world read, so the description clears the lower bar and then adds substantial behavior: the default run-selection rule (newest vs last run before the live answer page was published/pushed), the defaultReason field, the swap when Before is newer than After, fallback to defaults on unknown or failed run ids, and the page-matching normalization (www., host case, trailing slash). These are non-obvious semantics an agent could not infer from annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The content is front-loaded with the comparison scope before the mechanics, and nearly every clause carries information (matching rules, defaults, diff categories). It is a single dense run-on with heavy semicolon chaining, and some of the returned-field enumeration overlaps the output schema, so it is efficient but not maximally tight.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a four-parameter comparison tool with an output schema and full annotation coverage, the description covers everything an agent needs: what is compared, how defaults resolve, how cited pages are matched and diffed, and what id fallbacks do. The only arguable gap is when to choose this over its siblings, which is a routing concern rather than a completeness one.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds real meaning beyond it: it clarifies that 'youNamed' refers to the current business name in the text, and it explains the default resolution and fallback behavior that governs afterRunId/beforeRunId. It stops short of describing the question/market resolution semantics beyond what the schema already states.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: it compares two stored check runs of one buyer question in one market, side by side per engine, and enumerates what each side contains (answer text, youNamed, competitor mentions, cited pages). It is clearly distinct from the named siblings get_buyer_question_answers (single-run answers) and get_ai_visibility, and an agent can tell what it produces without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives clear operating context: 'Reads stored checks only', explains the default After/Before selection rule and that defaultReason reports which applied, and notes that every completed or partial run is listed as passable, same-week reruns included. What it lacks is explicit routing guidance — the 'Related' line names get_buyer_question_answers and get_ai_visibility but never states when to prefer one over this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources