Beta functionality: reach out to support to express interest in our API and MCP servers. Beta users can also browse the API Reference.
Bearer token; they only differ in how the resource is addressed.
Two URL families
- Team-scoped:
https://app.surfacd.com/api/v1/team/.... Use these when the operation is about the team: reading settings (GET /api/v1/team), team usage (/usage), and members (/members,/members/{email}). - Project-scoped:
https://app.surfacd.com/api/v1/projects/{project}/.... Use these for anything that targets a single project: project CRUD (read, update, delete, archive, share), prompts (/prompts,/prompts/{prompt}), and reporting (/brand-rankings,/mentions,/visibility-over-time,/matrix-analysis,/sources-data/...).
GET /api/v1/projects, list the projects for your API key’s team.
Discovering identifiers
To find project UUIDs for the key’s team, call the project collection:uuid you can use as {project} on project-scoped endpoints.
Reporting filters use public identifiers only. Numeric database IDs are not part of the API contract.
brands: brand UUIDs fromGET /api/v1/projects/{project}/brandstags: tag UUIDs fromGET /api/v1/projects/{project}/tagstopics: topic UUIDs fromGET /api/v1/projects/{project}/topicsservices: platform provider strings fromGET /api/v1/platformscountries: country codes fromGET /api/v1/countriescategories: enum values fromGET /api/v1/domain-categoriesprompt: a prompt UUID fromGET /api/v1/projects/{project}/prompts
services, but it accepts either platform provider strings, for example chatgpt or perplexity, or platform UUIDs. GET /api/v1/platforms returns both.