Sign inTry it

Search MathOverflow questions.

Searches MathOverflow, the research-level Q&A site for mathematicians, like its search page: question title, link, excerpt, vote count and answer count. Returns the first results page only.

No reports yetRead-only, no login
Site
MathOverflow, United States
Version
v1
Runs, last 7 days
No reports yet
sha256
06fa11b1eb0f…

Run it with your agent

after installing Wield

Ask in plain words. Your agent finds this recipe and calls it:

“Search MathOverflow questions.”

Read-only: it changes nothing on the site. No login needed.

{
  "tool": "run",
  "arguments": {
    "recipe_id": "mathoverflow.net/search-questions",
    "params": {
      "query": "homotopy"
    }
  }
}

Requests

sent from your browser, in order
  1. 1GET/search?qThe site's search results page for the query. Each result is a div.s-post-summary card.

Parameters

from your agent
querystringrequiredWhat to search for, e.g. 'homotopy', 'category theory'

Returns

to your agent
itemsobject[]answers, excerpt, title, url, votes
querystring

Where it can send

  • mathoverflow.net

Anything else is blocked by the extension.

Reads from your session

Nothing. Your browser attaches the site's cookies by itself.

Used only in requests to the addresses on the left. Never sent to wield.run or your agent.

Checks

a run passes when
  • length(output.items) > `0`
  • length(output.items[?starts_with(url, 'https://mathoverflow.net/questions/')]) == length(output.items)
  • length(output.items[?title != `null`]) == length(output.items)

Raw recipe

Served as canonical JSON from /api/v1/recipes/mathoverflow.net/search-questions, so its sha256 matches the ETag and the index.

Check it yourself
curl -s https://wield.run/api/v1/recipes/mathoverflow.net/search-questions | shasum -a 256
# 06fa11b1eb0f0c64a4395c4c6a8d409aa7cc0dc3539c3f40f9adae62f8b32c25
mathoverflow.net/search-questions.json, v1
{
  "description": "Searches MathOverflow, the research-level Q&A site for mathematicians, like its search page: question title, link, excerpt, vote count and answer count. Returns the first results page only.",
  "effect": "read",
  "id": "mathoverflow.net/search-questions",
  "keywords": [
    "mathoverflow",
    "math",
    "mathematics",
    "research mathematics",
    "homotopy",
    "category theory",
    "eigenvalues",
    "algebra",
    "topology",
    "questions",
    "answers",
    "stack exchange",
    "academic"
  ],
  "output": {
    "schema": {
      "properties": {
        "items": {
          "items": {
            "properties": {
              "answers": {
                "description": "Number of answers, null when there are none",
                "type": [
                  "number",
                  "null"
                ]
              },
              "excerpt": {
                "description": "Start of the question text, may be truncated",
                "type": [
                  "string",
                  "null"
                ]
              },
              "title": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "votes": {
                "description": "Question score",
                "type": [
                  "number",
                  "null"
                ]
              }
            },
            "required": [
              "title",
              "url"
            ],
            "type": "object"
          },
          "type": "array"
        },
        "query": {
          "type": "string"
        }
      },
      "required": [
        "query",
        "items"
      ],
      "type": "object"
    },
    "value": "{query: params.query, items: steps.search.entries[?title != `null` && href != `null`][].{title: title, url: join('', ['https://mathoverflow.net', href]), excerpt: excerpt, votes: to_number(votes), answers: to_number(answers)}}"
  },
  "params": {
    "additionalProperties": false,
    "properties": {
      "query": {
        "description": "What to search for, e.g. 'homotopy', 'category theory'",
        "maxLength": 100,
        "minLength": 2,
        "type": "string"
      }
    },
    "required": [
      "query"
    ],
    "type": "object"
  },
  "provenance": {
    "method": "har",
    "notes": "One GET to /search?q=<query>, which answers 200 HTML with server-rendered div.s-post-summary cards. Question links are relative and made absolute on mathoverflow.net. Layout matches the other Stack Exchange sites.",
    "recorded_at": "2026-11-08T16:40:00Z",
    "recorded_by": "wield-forge (claude-haiku agent)"
  },
  "requires_login": false,
  "schema": "https://wield.run/schema/recipe/v1.json",
  "site": {
    "country": "US",
    "id": "mathoverflow.net",
    "language": "en",
    "name": "MathOverflow",
    "origin": "https://mathoverflow.net",
    "origins": [
      "https://mathoverflow.net"
    ]
  },
  "steps": [
    {
      "description": "The site's search results page for the query. Each result is a div.s-post-summary card.",
      "expect": {
        "content_type": "html",
        "status": [
          200
        ]
      },
      "extract": {
        "html_items": {
          "entries": {
            "fields": {
              "answers": {
                "selector": "div.s-post-summary--stats-item.has-answers .s-post-summary--stats-item-number"
              },
              "excerpt": {
                "selector": "div.s-post-summary--content-excerpt"
              },
              "href": {
                "attr": "href",
                "selector": "h3.s-post-summary--content-title a.s-link"
              },
              "title": {
                "selector": "h3.s-post-summary--content-title a.s-link"
              },
              "votes": {
                "selector": "div.s-post-summary--stats-item__emphasized .s-post-summary--stats-item-number"
              }
            },
            "max": 30,
            "selector": "div.s-post-summary"
          }
        }
      },
      "id": "search",
      "request": {
        "headers": {
          "Accept": "text/html"
        },
        "method": "GET",
        "query": {
          "q": "{{ params.query }} is:question"
        },
        "url": "/search"
      }
    }
  ],
  "task": "Search MathOverflow questions",
  "tos": {
    "notes": "Not reviewed. One search page per call, the same page a visitor loads. The site's terms on automated access were not checked.",
    "reviewed": false
  },
  "verify": {
    "checks": [
      "length(output.items) > `0`",
      "length(output.items[?starts_with(url, 'https://mathoverflow.net/questions/')]) == length(output.items)",
      "length(output.items[?title != `null`]) == length(output.items)"
    ],
    "example_params": {
      "query": "homotopy"
    },
    "max_ms": 5000
  },
  "version": 1
}