GopServer is a universal REST API server supporting PostgreSQL, MySQL, SQLite, MSSQL and Oracle. Once configured, it automatically exposes full CRUD operations for every table — no extra code, no recompilation required.
Configure your database, define your tables in a JSON file, start the server. Your API is ready.
JWT authentication, advanced filtering, pagination, CORS — everything included from day one.
GopServer is a universal REST API server supporting multiple relational database engines. Once configured, it automatically exposes complete CRUD operations for any table — without writing a single line of extra code or recompiling the application.
Every backend project starts with the same repetitive work: CRUD endpoints, authentication, filtering, pagination. GopServer eliminates all that boilerplate — configure it once, start the server, and your API is ready.
Need to add a new table? Edit a JSON file and restart. Switching from PostgreSQL to MySQL? Change a single parameter in the config. No recompilation, no new code.
Perfect for rapid prototyping, internal tools, server-to-server integrations, or as a backend for mobile apps and SPAs.
The binary is fully static — no runtime dependencies needed. Drop it on a server and it runs on Windows, Linux or macOS.
GopServer comes with everything you need for a solid REST API backend: multi-database support, complete authentication, advanced filtering, built-in security and straightforward JSON-based configuration.
Each table in tables.json now supports three new flags: allow_post, allow_put and allow_delete.
Set them to 1 to enable write operations, 0 to block them (HTTP 403). All three default to 0 if omitted — GET is always allowed.
This gives you fine-grained, per-table control over who can create, update or delete records without any extra code.
GopServer natively supports the most popular relational database engines. Switching between them requires only a config file change — no code changes whatsoever:
All drivers are bundled in the static binary. Nothing extra to install on the server.
Define your tables in a JSON file and the server automatically exposes all required operations:
GET /api/v1/{table} — paginated list (up to 100 per page) — always enabledGET /api/v1/{table}/{id} — single record by primary key — always enabledPOST /api/v1/{table} — create a new record — requires allow_post: 1PUT /api/v1/{table}/{id} — partial update — requires allow_put: 1DELETE /api/v1/{table}/{id} — delete a record — requires allow_delete: 1Write operations are disabled by default (HTTP 403). Enable only what each table needs. Adding a new table: edit tables.json, restart. Done.
GopServer supports three authentication methods, all configurable from app.conf:
api_token in app.confPasswords are verified via SHA-512 with salt. The auth table, identifier columns and password column are fully configurable.
Use any existing table in your database as the user source — no special schema required.
All parameters are passed as query strings and can be freely combined:
?limit=20&page=3 — default 10/page, max 100?sortby=price&order=desc?category=Electronicsgt, gte, lt, lte, contains, icontains, startswith, endswith, isnull and more?distinct=category — great for populating dropdownsExample: /api/v1/products?category=Electronics&price__lte=500&sortby=price&order=asc&limit=20&page=1
Control exactly what each column and each table can do via tables.json:
The primary key cannot be changed via PUT or set via POST. GET is always allowed for any table listed in tables.json.
When standard filters aren't enough, enable the raw SQL endpoint in app.conf (allow_raw_query = true):
Recommended for dev environments or trusted internal users only. Keep allow_raw_query = false in production.
Everything you need to get GopServer up and running. Follow the steps in order — from installation to your first authenticated API call.
GopServer requires a minimal folder structure. All files in conf/ are plain text editable with any editor. The logs/ directory is created automatically on first start.
conf/ requires a server restart to take effect.
The main configuration file. Two environment sections: [dev] and [prod]. The server uses the section indicated by the runmode value.
openssl rand -hex 32
Define which tables are accessible via the API, how each column behaves, and which write operations are permitted. Add one block per table. Changes require a restart.
User passwords must be stored as SHA-512 with salt in the database. After login you receive a JWT token valid for 24 hours, which you attach to every request.
GET /health — no authentication required.
Without a license the server runs in demo mode: GET limited to 3 records, POST / PUT / DELETE disabled. Activation takes 5 simple steps.
GopServer can run as a system service to start automatically on boot and restart on failure.
conf/ requires a stop + restart.
GopServer operates in two modes: demo (free, with restrictions) and fully activated (hardware-bound lifetime license). No monthly subscription — pay once, use forever.
Demo mode — no license required
Lifetime license — hardware-bound
Hardware-bound license — valid on the machine (physical or virtual) for which the HWID was generated. Moving to a new server? Contact us for a reissue.
Our team is made up of experienced software developers and data professionals passionate about creating efficient, developer-friendly backend tools. We focus on delivering powerful, practical solutions that help companies ship faster and manage their data with confidence. With a strong background in SQL, enterprise systems and API design, we turn complexity into simplicity.
Founder & CEO
Senior Programmer
Data Scientist
Marketing Specialist
Have questions or need support? We're here to help. Reach out via email or WhatsApp — whether you're evaluating the demo or running a licensed instance, our team is ready to assist you every step of the way.
Bratia din Vale, Valcea
str. Principala, 190
240247, Romania
Ramnicu Valcea
aleea Ionel Geanta, nr 2
Valcea, Romania