Work with this as data
Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/sprig-v2-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
OpenAPI Specification
openapi: 3.2.0
info:
contact:
email: support@sprig.com
name: Support
description: Sprig is a continuous product research tool that helps you automatically capture the user insights you need to consistently improve your product, user experience, marketing, and more.
title: Sprig V2 API
version: 2.2.1
servers:
- url: https://api.sprig.com
tags:
- name: v2
paths:
/v2/purge/visitors:
post:
description: 'The Purge Visitors API helps teams comply with end-user bulk data deletion requests mandated by laws like GDPR and CCPA. This endpoint will delete users and all related user data identified by a set of emails, visitor IDs, or user IDs.
Purge requests default to being processed 10 days after submission, however this delay can be configured via the delaySeconds parameter. The endpoint is limited to 100 visitor deletions per request.
One of email, userId, or visitorId parameter is required to identify the user for data deletion.'
operationId: post-v2-purge-visitors
parameters:
- description: Bearer YOUR_API_KEY
in: header
name: Authorization
required: true
schema:
type: string
requestBody:
content:
application/json:
examples:
example-1:
value:
delaySeconds: 86400
emails:
- freddy@sprig.com
- gustavo@sprig.com
userIds:
- '123456789'
visitorIds:
- 8cd04391-fc36-4e9d-a9ac-bc77cd507ee0
schema:
properties:
delaySeconds:
description: Seconds to wait before starting visitor data purging. This can be used as a safety measure in case the request needs to be canceled.
type: integer
emails:
description: List of emails for which visitor data will be purged.
items:
type: string
type: array
userIds:
description: List of user IDs (external user IDs) for which visitor data will be purged.
items:
type: string
type: array
visitorIds:
description: List of visitor IDs for which visitor data will be purged.
items:
type: string
type: array
type: object
description: At least one of “emails”, “visitorIds” or “userIds” needs to be non-empty in the request body. Only visitors that exist in the environment for which the API key is in the authorization header can be purged.
responses:
'200':
content:
application/json:
examples:
Successful Response:
value:
requestId: “b9570865-0840-497d-9016-8b66575c9683”
schema:
properties:
requestId:
type: string
type: object
description: OK
'400':
$ref: '#/components/responses/400'
'403':
$ref: '#/components/responses/403'
'404':
$ref: '#/components/responses/404'
'429':
$ref: '#/components/responses/429'
'500':
$ref: '#/components/responses/500'
summary: Purge Visitors
tags:
- v2
/v2/users:
parameters: []
post:
description: 'Endpoint facilitating the programatic upsertion of a user.
Users must be upserted 1 at a time.
Events created for this user are for historical tracking purposes. Any event tied to a user through this endpoint will not trigger a study through Sprig''s SDK.
Attributes and attribute values can be created and tied to a user through this endpoint.'
operationId: post-user-v2
parameters:
- $ref: '#/components/parameters/Authorization-API-Key'
requestBody:
content:
application/json:
examples:
example user:
value:
attributes:
customer: 'true'
email: user@test.com
events:
- event: login
timestamp: 1626448859836
userId: '12347'
schema:
properties:
attributes:
description: Key value pairs of attributes
properties:
attributeName:
description: Attribute name and value. Attributes limited to total of 100 values
type: string
type: object
emailAddress:
description: Valid Email to track visitor by
type: string
events:
items:
properties:
event:
description: Name of event already being tracked in Sprig
type: string
timestamp:
description: Unix timestamp in milliseconds
type: integer
type: object
type: array
userId:
description: Existing or desired id for visitor
type: string
required:
- userId
type: object
description: Post the necessary fields for the API to upsert a new user.
responses:
'202':
$ref: '#/components/responses/202'
'400':
$ref: '#/components/responses/400'
'422':
$ref: '#/components/responses/422'
'500':
$ref: '#/components/responses/500'
summary: Upsert a User
tags:
- v2
/v2/users/{userId}:
parameters:
- description: Id of an existing user.
in: path
name: userId
required: true
schema:
type: string
get:
description: 'Endpoint that allows the retrieval of a visitor based on a known User ID.
This endpoint can only recover visitors with user IDs, so please ensure your Sprig implementation has user tracking configured correctly based on your SDK installation: /docs/Installation/introduction-web/index
This endpoint will retrieve visitor info, a list of attributes tied to the visitor, and a list of events with relevant filter criteria.'
operationId: get-v2-users-:userId
parameters:
- $ref: '#/components/parameters/Authorization-API-Key'
responses:
'200':
content:
application/json:
examples: {}
schema:
$ref: '#/components/schemas/Userv2'
description: OK
'404':
$ref: '#/components/responses/404'
'500':
$ref: '#/components/responses/500'
summary: Retrieve a User
tags:
- v2
components:
schemas:
Userv2:
description: API V2 user model
properties:
attributes:
type: object
createdAt:
type: number
events:
items:
properties:
count:
type: number
createdAt:
type: number
event:
minLength: 1
type: string
updatedAt:
type: number
type: object
minItems: 1
type: array
uniqueItems: true
externalUserId:
minLength: 1
nullable: true
type: string
id:
minLength: 1
type: string
title: ''
type: object
x-examples:
V2 User:
attributes:
completed_flow: false
plan: enterprise
createdAt: 1612739790947
events:
- count: 1
createdAt: 1612739790947
event: Clicked Signup
updatedAt: 1612739912314
id: a926111b-fa62-49f7-8666-2c94ca8b18fc
responses:
'202':
description: Accepted
'403':
description: You may have an invalid or missing API key and you should check your authorization header. There is no message with this status code.
'429':
description: Your application has made too many requests in too short a time.
'500':
description: Something went wrong on Sprig's side. These are very rare :)
'422':
description: Unprocessable Entity
'400':
content:
application/json:
schema:
properties:
error:
type: string
description: Bad Request
'404':
description: Not Found
parameters:
Authorization-API-Key:
description: API-Key YOUR_API_KEY
in: header
name: Authorization
required: true
schema:
type: string
securitySchemes:
apiKeyAuth:
type: apiKey
in: header
name: Authorization
description: Use `API-Key YOUR_API_KEY` for v2 endpoints or `Bearer YOUR_API_KEY` for export endpoints.
x-readme:
explorer-enabled: true
proxy-enabled: true
samples-enabled: true