Guides
Playground
Try search, look-alikes, org charts, record lookups, the relationship graph and research agents in the dashboard before writing any code.
Explore the API before writing any code. The dashboard's API Playground calls the live API with your signed-in session: there is no key to paste and no setup. Sign in, run a query, and see the same response your integration would receive. When a result looks right, the Code tab has the same request written for you — Python, JavaScript or cURL — behind one Copy button.
The playground is six pages:
| Page | The route behind it |
|---|---|
| Search | POST /v1/search |
| Similar Companies | POST /v1/similar |
| Org Chart | POST /v1/org-chart, with /departments and /locations when you open a department or the country picker |
| Record Lookup | POST /v1/entities/{category} |
| Agents | POST /v1/agents/runs and the run reads |
| Relationships | the four POST /v1/relationships* routes |
Use cases#
Run your question in the playground and inspect live results before committing engineering time. Then copy the exact request from the Code tab.
Compare meta.credential on the two responses: "session" means the playground served it, "api_key" means your key did. The difference is usually a missing scope or a different key, not your request logic.
Rate the results, flag a record from its detail view, or use Report results and say what should have come back. The exact request and result set are attached on our side, so no screenshots or reproduction steps are needed.
How it authenticates#
Playground requests use your session cookie, not an API key. They run through exactly the same handlers as key-authenticated requests and return the same envelope, the same errors, and the same charge.
The one difference in the response is meta.credential:
"meta": { "request_id": "...", "environment": "live", "as_of": "...", "credential": "session" }"session" means the playground ran it; "api_key" means a key did. When "it works in the dashboard but not with my key", this field is the first thing to check — the playground result was served by a different credential with different scopes and limits.
Session throttles#
Interactive limits apply per session:
- 30 requests/minute
- 500 requests/day
Exceeding either returns 429 quota.burst_exceeded with a Retry-After header. These limits are for interactive use only. Anything automated should use an API key: there is no per-key request-rate limit on the REST API today.
Filters worked out from your question#
On Search, the filters the platform took from your question appear as chips above the results, and you can edit them like any other filter. A sort the platform detected in your question, such as "top fintechs by revenue", appears the same way, as chips in the Sort section marked Detected from your query. Change or remove a chip and the sort becomes yours.
When your question names the kind of people you want, you also get an Agentic filter block: the role logic worked out from your question, read back as one sentence. For example: "Either people titled "brand manager" or people at Director / Head level in Marketing, excluding Founders and Co Founders." Use it to check at a glance that your question was understood. Show the exact logic opens the same rule as nested All of / Any of / None of groups.
Rating and reporting results#
There are four ways to tell us how a result went. None of them costs credits.
Thumbs up or down on the result set. Search, Similar Companies, Record Lookup and Agents show Helpful? with a thumbs up and a thumbs down beside the results, once per result set. A thumbs down opens an optional list of reasons (Not relevant, Missing results I expected, Too few results, Wrong or outdated data, Other). Picking a reason opens a box for an optional comment. The thumbs down counts even if you close the panel without picking one. Your current vote is shown pressed, and you can change it at any time.
Flag this record. Open a record's detail view and choose Flag this record when the record itself is wrong. Pick a reason (Wrong company/person, Outdated, Duplicate, Missing information, Other) or flag it without one. Closing the panel without choosing sends nothing. A record you have flagged shows as flagged, and you can change the reason.
Report results. Every results page has a Report results button for the whole set (Report run on Agents). On Org Chart and Relationships it is the only control, because the answer is a set of counts or connections rather than a list of rated rows. It opens a short form:
- what went wrong,
- an optional comment,
- and — the part worth typing — what should have come back instead.
Report a problem. For anything that isn't about one result, such as something broken, confusing or missing in the dashboard, open the Help menu and choose Report a problem. It is one free-text box.
The votes, flags and reports use the same endpoints you can call from your own server, so one filed here is indistinguishable from one your integration files. See Feedback for the wire contract, the tag vocabulary and the vote reasons.
Saved lists#
On Search and Similar Companies, a record's detail view also has Save to list, and you can tick several records in the results and save them together. Your lists are under Saved lists › Lists in the sidebar. Saving is free. A free workspace's saved items may be capped in total, across all its lists. To work with lists from your own code, see Saved lists.
Report misses and empty runs too
Two cases look like nothing to report and are the opposite. A Record Lookup that came back with misses can be reported with Report results: "this domain exists and you did not find it" is a defect invisible from our side. And an agent run that returned no rows can still be reported with Report run, for the same reason.
The report controls are missing
You are past page one. Only the first page of a paginated call is recorded, so there is nothing to attach a report to. Go back to the first page.
The Code tab#
Every playground result pane opens on Code rather than on the rows, because the point of the page is the call you are about to write. It renders the request you just ran, and a picker switches between Python, JavaScript and cURL. The cURL version is the raw HTTP request, with an X-API-Key: $SPROUTS_API_KEY placeholder, exactly as the API reference shows it.
curl -X POST https://api.sproutsdata.ai/v1/search \
-H "X-API-Key: $SPROUTS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query": "fintech companies in berlin", "limit": 10}'