Responses API Walkthroughs
Common use cases and step-by-step guides for working with the Typeform Responses API
The Responses API lets you programmatically retrieve and manage responses submitted to your typeforms. You can fetch responses, filter by date or completion status, and implement compliance features like data deletion.
These walkthroughs assume you already have your Typeform access token and know how to pass it in the Authorization header of your request. If you need an access token, go to the Get Started section first.
Retrieve responses for a form
The most basic operation is retrieving all responses for a specific form.
Get all responses
This returns a paginated list of responses with:
- Response IDs
- Submission times
- Calculated values (scores, etc.)
- All question-answer pairs
Example response:
Filter and paginate responses
Responses can be filtered by various criteria to get exactly what you need.
Filter by date range
Get responses submitted within a specific time period:
Parameters:
since: Include responses submitted after this datetime (ISO 8601 format)until: Include responses submitted before this datetime (ISO 8601 format)
Filter by completion status
Get only completed responses:
Or get partial/incomplete responses:
Paginate through responses
Control pagination with page_size and before/after parameters:
The default page size is 25 responses. The maximum is 1000 per request.
Combine filters
You can combine multiple filters:
Retrieve specific responses
Get responses by ID
Fetch a specific response using its token:
This is useful when you need to check specific submissions or update records in your system.
Query specific fields
Retrieve only certain fields from responses:
This reduces response payload size when you only need specific answers.
Sort responses
Order responses by submission time:
Handle file uploads
If your form includes file upload fields, response data includes download URLs:
Download uploaded files
To download files from responses:
This returns a list of all uploaded files with download URLs.
Download a specific file
File URLs are temporary and expire after a period of time. Always download files promptly or store them in your own system if needed long-term.
Working with response data
Parse answers by type
Different field types return answers in different formats:
Text fields:
Choice fields:
Multiple choices:
Number fields:
Date fields:
Email fields:
URL fields:
Phone number fields:
Boolean fields:
Payment fields:
Integration workflow
A typical integration workflow:
- Poll for new responses periodically:
- Process each response in your application
- Store the
submitted_attimestamp to use assinceparameter for next poll - Handle any file downloads needed
- Update your database with the response data
Example: Sync to database
Monitor response rates
Track form performance by analyzing response metadata:
Best practices
- Use pagination: Don’t try to fetch all responses at once for forms with many submissions
- Implement rate limiting: Respect API rate limits in your integration
- Cache responses: Store responses locally to reduce API calls
- Handle errors gracefully: Implement retry logic for failed requests
- Filter efficiently: Use date filters to only fetch new responses
- Process asynchronously: Handle response processing in background jobs
- Monitor API usage: Track your API usage to stay within limits
Error handling
Common scenarios to handle:
Next steps
- Learn about JSON response structure
- Implement Right to be Forgotten for GDPR compliance
- See the API Reference for complete endpoint documentation
- Set up Webhooks for real-time response notifications