Skip to the page

RapidAPI

Use SpecStream from RapidAPI to ask for live web data in plain words and get structured results back, each value with the page it came from. Subscribe on the hub, send your SpecStream key with each call, and work from the playground or your own code.

SpecStream for RapidAPIAPI & cloud platforms

What you need

  • A RapidAPI account.
  • A SpecStream account and an API key from it. A new account comes with $10 of work and needs no card.
  1. 1. Open SpecStream on RapidAPI

    Go to SpecStream on RapidAPI (opens in a new tab). The page lists each endpoint and what it takes.

  2. 2. Subscribe to a plan

    Subscribe to the Basic plan, which is free. Subscribing gives you access through RapidAPI. Work you start is paid from your SpecStream balance.

  3. 3. Create a SpecStream API key

    Calls from the hub run on your own SpecStream account. Create the key there: open Agents & API in the SpecStream workspace, switch to API keys, and click Create API key.

    Tick Read saved requests, Create and edit requests, Prepare work and follow-ups, Authorize paid work, and Read results and their sources. Add Read account and balance to read your balance through the hub. After you tick Authorize paid work, set a Total spending limit to cap what hub calls can spend.

    Pick the days under Expires after, days, click Create API key, and copy the key when it appears. It is shown once.

  4. 4. Send the key with each call

    Add an Authorization header with the value Bearer YOUR_SPECSTREAM_API_KEY to every request, in the playground or in your code. Start by reading a request: the body takes your wording in q.

    The response has read_back, your request in plain words, and ast_hash.

    POST /v1/parse
    POST /v1/parse
    Authorization: Bearer YOUR_SPECSTREAM_API_KEY
    Content-Type: application/json
    {
    "q": "Veterinary clinics in Denver open on Sundays, with their phone number",
    "locale": "en-US"
    }
  5. 5. Get the price

    Send ast_hash to /v1/capacity/quotes. requested_units is how many results to price for.

    The quote comes back with quote_id, quote_hash, maximum_cents, and expires_at. It is open for 30 minutes.

    POST /v1/capacity/quotes
    {
    "ast_hash": "PASTE_AST_HASH_HERE",
    "operation": "find",
    "requested_units": 25
    }
  6. 6. Approve the price

    Send quote_id and quote_hash to /v1/capacity/executions. Set confirm_max_cents to the quote's maximum_cents and choose an idempotency_key of 8 to 128 characters.

    The response has the find_id. The approved maximum is reserved while the work runs, and the final charge covers the matching results only.

    POST /v1/capacity/executions
    {
    "quote_id": "PASTE_QUOTE_ID_HERE",
    "quote_hash": "PASTE_QUOTE_HASH_HERE",
    "confirm_max_cents": 250,
    "idempotency_key": "vet-clinics-denver-001"
    }
  7. 7. Read the results

    Call GET /v1/finds/{id}/rows with the find_id. Each result lists its values with the page they were read from. Possible matches arrive in a separate possible list and are never billed.

    GET /v1/finds/{id} reports progress while the find runs.

    GET /v1/finds/{id}/rows
    GET /v1/finds/FIND_ID/rows
    Authorization: Bearer YOUR_SPECSTREAM_API_KEY

Endpoints on the hub

The hub exposes these endpoints, grouped by job.

JobEndpoints
Read a requestPOST /v1/parse
Price and approve workPOST /v1/capacity/quotes, GET /v1/capacity/quotes/{quote_id}, POST /v1/capacity/executions, GET /v1/capacity/executions/{find_id}, GET /v1/capacity/requests/{request_key}
Follow and read a findGET /v1/finds/{id}, GET /v1/finds/{id}/rows, POST /v1/finds/{id}/export, POST /v1/finds/{id}/cancel
Saved requestsGET /v1/specs, GET /v1/specs/{id}/finds
MonitorsPOST /v1/capacity/schedules, GET /v1/capacity/schedules
WebhooksPOST /v1/account/webhooks, GET /v1/account/webhooks, DELETE /v1/account/webhooks/{id}
AccountGET /v1/me, GET /v1/capacity/balance, GET /v1/capacity/catalog

Retry without paying twice

Keep the same idempotency_key when you retry an approval. If an answer never arrives, GET /v1/capacity/requests/{request_key} returns the find already started under that key.

To hear when a find completes without polling, register a find.completed webhook with POST /v1/account/webhooks.

Cost

The Basic plan on RapidAPI costs nothing. SpecStream work is paid from your SpecStream balance, only for results that match, and every approval names the most it can cost.

A key's total spending limit holds across every call you make with it, from RapidAPI or anywhere else. Balance, quotes and billing covers approvals, and pricing lists every rate.

Outside RapidAPI

The endpoints are the ones in the REST API guide, served from https://api.specstream.ai. The same key works there, with the SDKs, and over MCP.

Stop

End the subscription on RapidAPI. To stop the key, open Agents & API, choose API keys, and choose Revoke. Other ways to reach SpecStream are in Connect your tools; for help, email [email protected].

More

SpecStream for RapidAPI covers what it does in RapidAPI on one page. Every other tool has its guide in Connect your tools. You see the most a request can cost before it starts, and only the matches come out of your balance. Billing has the details. For help, email [email protected].