RESTinstance
Robot Framework library for RESTful JSON APIs
What it is and what it does
RESTinstance bridges Robot Framework and REST API testing by providing keywords that let you write API tests in plain language rather than code. You make HTTP requests (GET, POST, PUT, PATCH, DELETE), then validate responses using assertions tied to JSON types and paths—no custom validation logic needed. The library automatically generates JSON Schema from your requests and responses, which you can refine through tests and export to file or extend into a full OpenAPI spec. This schema-first approach reduces test maintenance when API response values change, because tests focus on type and structure rather than hardcoded values.
The library depends on established tools: requests for HTTP, jsonschema and openapi-core for validation, GenSON for schema generation, and jsonpath-ng for querying nested JSON. It supports JSON Schema Draft 2020-12 and 2019-09, and OpenAPI 3.0, 3.1, and 3.2. Robot Framework's language-agnostic syntax means tests can be written and maintained by non-programmers, making it suitable for teams where QA and developers have different skill levels.
Use it for:
- Write API contract tests in plain language without programming, using Robot Framework's keyword-driven syntax to validate endpoints.
- Auto-generate and refine JSON Schema from test runs, then export it as a reusable spec or extend it to OpenAPI for documentation.
- Test multiple HTTP methods (GET, POST, PUT, PATCH, DELETE) against the same endpoint and verify both status codes and response structure.
- Query nested JSON responses using JSONPath to assert on specific fields across multiple objects in a single test step.
- Validate API responses against an existing OpenAPI spec to ensure the implementation matches the contract.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
RESTinstance is a Robot Framework library that lets you write API tests in plain language, validating JSON responses against schemas and OpenAPI specifications without requiring programming expertise.
Yes. RESTinstance is actively maintained, has low install friction, and fills a clear niche: API testing in Robot Framework without programming. The copyleft license is not a barrier for internal testing. Choose it if your team uses Robot Framework or prefers keyword-driven test syntax; avoid it if you need a Python-native test library or are already invested in pytest or another framework.
Install
restinstance on PyPI
pip
pip install restinstanceuv
uv add restinstancepoetry
poetry add restinstanceInstalling RESTinstance
Before you install
Low install friction with a pure Python wheel distribution. The package is actively maintained with recent commits and supports current Python versions (3.11–3.14). Twelve runtime dependencies are all well-established libraries (requests, jsonschema, openapi-core, etc.), so dependency resolution is straightforward.
License in practice
Licensed under LGPLv3 (copyleft). If you distribute software that uses RESTinstance, you must make your own source code available under a compatible license. For internal testing use, this poses no constraint.
Quickstart
pip install RESTinstance
# In a Robot Framework test file:
*** Settings ***
Library REST https://api.example.com
*** Test Cases ***
Test API
GET /endpoint
Integer response status 200
Requires Robot Framework to be installed separately and Python 3.11 or later. Tests are written in Robot Framework's .robot syntax, not Python.
Verify before relying
- Whether the package's JSON Schema generation feature remains accurate as APIs evolve in production use.
- Performance characteristics when testing large JSON payloads or high-volume request sequences.
Package facts
| License | LGPLv3 (copyleft) |
| Python support | supports the current Python release (>=3.11) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 12 — docutils, flex, GenSON, jsonpath-ng, jsonschema, openapi-core, pygments, pytz, requests, robotframework, tzlocal, setuptools |
| Maintenance | actively maintained — 130 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 84,190/month — #14,020 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: restinstance-1.8.0-py3-none-any.whl
Keywords: robotframework, library, http, json, api
Tags
More Python Modules packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
PyYAMLPyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
annotated-typesProvides reusable metadata objects for use with…
permissive · top 100 on PyPI
typing-inspectionProvides runtime tools to inspect and…
permissive · top 100 on PyPI
robotframework-requestsRequestsLibrary wraps the Python Requests…
permissive · top 5,000 on PyPI
robotframework-jsonlibraryA Robot Framework library for querying, adding,…
permissive · top 15,000 on PyPI
robotframeworkRobot Framework is a generic open-source…
permissive · top 5,000 on PyPI
robotframework-seleniumlibrarySeleniumLibrary is a Robot Framework library…
permissive · top 5,000 on PyPI
robotframework-assertion-engineProvides a standardized assertion engine for…
permissive · top 15,000 on PyPI
robotframework-appiumlibraryAppiumLibrary is a Robot Framework library that…
permissive · top 15,000 on PyPI
robotframework-selenium2libraryA Robot Framework library that wraps Selenium…
permissive · top 15,000 on PyPI
robotframework-fakerWraps Faker's random test data generation as…
permissive · top 15,000 on PyPI
robotframework-seleniumtestabilitySeleniumTestability is a Robot Framework plugin…
permissive · top 15,000 on PyPI