Instant API on your data warehouse & data lake
Get started nowBuild API instantly
Just use SQL that the data analyst is most familiar with to build API.
Automate API development
Let data analyst focus on data insights and save development time and cost.
Easy to get data
Provide self-serve catalog UI for data consumer to easily get data from applications.
What is VulcanSQL?
Build API instantly with just SQL
No complex web framework and business logic. Learn about building API.Provide API best practices
Included dynamic parameters, validation, error response, response format, etc.- Dynamic parameters
- Validation
- Error response
- Response format
SELECT * FROM public.users
WHERE age >= {{ context.params.age }} AND {{ context.params.age }} <= 19;
urlPath: /orders/order_id
request:
- fieldName: orders_id
fieldIn: path
validators:
- required
- uuid
{% req user %}
SELECT COUNT(*) AS count FROM customers WHERE name = {{ context.params.name }}
{% endreq %}
{% if user.value()[0].count == 0 %}
{% error "CUSTOMER_NOT_FOUND" %}
{% endif %}
SELECT * FROM customers
WHERE name = {{ context.params.name }}
LIMIT 1
response-format:
enabled: true
options:
default: json
formats:
- json
- csv
Access control in SQL
Pass in user attributes to SQL to control the access. Learn about access control.SELECT
--- masking address if query user is not admin
{% if context.user.attr.role == 'ADMIN' %}
address
{% elif %}
{{ masking('address') }}
{% endif %},
orderId,
amount
FROM orders
--- limit the data to the store user belongs to.
WHERE store = {{ context.user.attr.store }}
Self-serve documentation and catalog
Automatically build API documentation (OpenAPI) and catalog for data consumers and web engineer. Learn about API documentation.Connect from framework & applications
Preview data and connect from your own framework and applications.Ready to dive in?
Join our developer community
Join the discord group to chat with the developers and connect directly with the VulcanSQL team.