Instagres gives you an instant Postgres database with a single API call. No account required.

Your database expires after 72 hours unless you claim it to your Neon account. Databases are provisioned on AWS us-east-2 running Postgres 17.

Access it at instagres.com or neon.new.

Quick start

curl -X POST https://instagres.com/api/v1/database \
  -H 'Content-Type: application/json' \
  -d '{"ref": "your-app-name"}'

Example response:

{
  "id": "01abc123-def4-5678-9abc-def012345678",
  "status": "UNCLAIMED",
  "neon_project_id": "cool-breeze-12345678",
  "connection_string": "postgresql://neondb_owner:npg_xxxx@ep-cool-breeze-pooler...",
  "claim_url": "https://instagres.com/claim/01abc123-def4-5678-9abc-def012345678",
  "expires_at": "2026-02-01T12:00:00.000Z",
  "created_at": "2026-01-29T12:00:00.000Z",
  "updated_at": "2026-01-29T12:00:00.000Z"
}

See API reference for details.

Limits

Unclaimed databases have stricter quotas. Claiming resets limits to your Neon plan.

UnclaimedClaimed (Free plan)
Storage100 MB512 MB
Transfer1 GB~5 GB
BranchesNoYes
Expiration72 hoursNone

Claiming a database

Claiming is optional. Your database works immediately. Claim only if you want to keep it beyond 72 hours.

To claim:

  1. Visit the claim_url from the API response
  2. Sign in to Neon (or create an account)
  3. Choose an organization for the database
  4. Complete the transfer

After claiming, the database appears in your Neon console with expiration removed. The status changes to CLAIMED and connection_string becomes null in the API (use Neon console instead).

API

The Instagres API provides programmatic database provisioning. No authentication required.

Base URL: https://instagres.com/api/v1

Create database

POST /api/v1/database
ParameterRequiredDescription
refYesReferrer identifier (for tracking)
enable_logical_replicationNoEnable logical replication (default: false)

Get database

GET /api/v1/database/:id

Returns the same response schema.

Response fields

FieldTypeDescription
idstringDatabase identifier (UUID v7)
statusstringUNCLAIMED, CLAIMING, or CLAIMED
neon_project_idstringUnderlying Neon project ID
connection_stringstring | nullPostgres connection URL with pooling (null after claimed). For direct connections, remove -pooler from the hostname.
claim_urlstringURL to claim the database
expires_atstringISO 8601 expiration timestamp
created_atstringISO 8601 creation timestamp
updated_atstringISO 8601 last update timestamp
Error responses
ConditionHTTPMessage
Missing or empty ref400Missing referrer (includes hint)
Invalid database ID400Database not found
Invalid JSON body500Failed to create the database.
Invalid parameter type500Failed to create the database.

Command-line interface

The get-db CLI creates a database and writes credentials to your .env file:

npx get-db

Options:

OptionAliasDescriptionDefault
--yes-ySkip prompts and use defaults
--env <path>-ePath to the .env file./.env
--key <string>-kEnv var for connection stringDATABASE_URL
--prefix <string>-pPrefix for generated public varsPUBLIC_
--seed <path>-sPath to SQL file to seed the database
--logical-replication-LEnable logical replicationfalse
--ref <string>-rReferrer ID for affiliates program
--help-hShow help message

Example output in .env:

# Claimable DB expires at: Sat, 01 Feb 2026 12:00:00 GMT
# Claim it now to your account: https://instagres.com/claim/01abc123-def4-5678-9abc-def012345678
DATABASE_URL=postgresql://neondb_owner:npg_xxxxxxxxxxxx@ep-cool-breeze-a1b2c3d4-pooler.c-2.us-east-2.aws.neon.tech/neondb?channel_binding=require&sslmode=require
DATABASE_URL_DIRECT=postgresql://neondb_owner:npg_xxxxxxxxxxxx@ep-cool-breeze-a1b2c3d4.c-2.us-east-2.aws.neon.tech/neondb?channel_binding=require&sslmode=require
PUBLIC_INSTAGRES_CLAIM_URL=https://instagres.com/claim/01abc123-def4-5678-9abc-def012345678

To claim, visit the URL in the comments above or run npx get-db claim to open it in your browser.

Vite plugin

Add automatic database provisioning to Vite projects with vite-plugin-db:

npm install -D vite-plugin-db
import { postgres } from 'vite-plugin-db';
import { defineConfig } from 'vite';

export default defineConfig({
  plugins: [
    postgres({ referrer: 'your-app-name' }),
  ],
});

The plugin provisions a database on first vite dev if DATABASE_URL is missing. It's inactive during vite build.

Additional options:

// Inside defineConfig({ plugins: [...] })
postgres({
  referrer: 'your-app-name', // Required
  dotEnvFile: '.env.local', // Default: .env
  dotEnvKey: 'DATABASE_URL', // Default: DATABASE_URL
  envPrefix: 'VITE_', // For public env vars
  seed: {
    type: 'sql-script',
    path: './schema.sql',
  },
})

Resources