Skip to main content
A Query keeps polling until you stop it. Explore asks once: every Source you name runs its searches now, and the answer is the mentions they found. Nothing keeps running afterwards, and nothing is charged again. It is how you test an angle before you commit a Query to it: a competitor’s name, a problem phrase like “alternative to” or “anyone know a tool”, the week of a launch. If the run comes back empty, you have learned that for the price of one run instead of a month of checks.

Price it, then run it

Both calls take the same body: the criteria every search inherits, and the Sources to ask, each with up to three searches of its own.
POST /v1/explore/estimate calls no Source and charges nothing. It runs the run’s own checks and answers either valid: false with the refusal the run would give (its status, code and the sentence naming the fix), or valid: true with:
  • estimate.total: what the run costs if every search answers.
  • estimate.perLeg: one entry per search, with its Source, its label and its credits.
  • estimate.balance: what the account can spend right now.
  • estimateToken: proof that this exact body was priced, valid 15 minutes.
Send the same body to POST /v1/explore, with the token in the Nephia-Estimate-Token header. The run then refuses any other body. The header is optional with an API key, and always required from the MCP server, so an agent never runs a question it did not price.

What a run answers

mentions are the same mentions every other read returns, newest first by publication date, one per post even when two searches found it. They carry the run and no Query, and no sentiment or intent: nothing has read them yet. outcomes has one entry per search, and it is where the finding often is. fetched without rows means the platform answered and your criteria kept nothing: the phrase is too narrow, or nobody says it there. A failed search carries a message and is charged nothing.

Read it again

A run is kept. Its mentions stay readable, for free, with the run id:
Read it there rather than running the same question twice. Widen since for an older run: the default window is the last 24 hours. Runs also appear in the dashboard’s Explore history.

Limits and billing

  • Charged per search, at each Source’s explore rate, the moment it runs. Most Sources are a flat rate per search. X is charged per tweet returned: a base of 5 credits plus 3 per tweet, so at most 65 for a page of 20, and 5 for a search that matches nothing. The estimate marks such a search variable: true and quotes the ceiling, so show it as “up to”; outcomes[].creditsCharged is what it really cost. A search that fails is not charged, and a run whose balance cannot cover the ceiling is refused before any search starts, with 402.
  • At most 6 Sources and 3 searches per Source in one run.
  • 30 seconds. A search still running then is reported failed with timed out. If its Source answers later, that charge shows in Spend without its mentions.
  • Five runs per five minutes per account. The estimate is not limited this way.
  • AI answers cannot be explored: an engine takes minutes to answer. Create a Query with the ai_answers Source instead.
Spend shows one line per search, grouped by run. See Credits.