For developers & agencies

The 5Sterne API

Order Google review removals from your own software and track every review until Google decides. Built for agencies managing many client profiles and for businesses with their own tools.

Find

Search a Google business and list its reviews, lowest rating first.

Order

Send review ids. We re-read them from Google and file the reports.

Track

Per-review status and events: filed, deleted, rejected, appealed.

Automate

Switch on the Lösch-Abo per profile: new 1–3 star reviews every 30 days.

How to get access

  1. Place one order on 5sterne.net. The API uses your contact and billing data from it.
  2. Open your customer area and request API access at the bottom of the page.
  3. Once approved, you get an email with a one-time link. It creates your key and shows it once.
Go to customer area

Pricing

Same terms as on the website: €19 net per review Google confirms as deleted. No base fee, nothing for rejected reviews. Orders and invoices run through your customer account; payment uses your saved card or SEPA mandate, otherwise invoice. Terms

Quickstart

1. Find the business

curl "https://api.5sterne.net/v1/businesses?query=Autohaus%20M%C3%BCller%20Berlin" \
  -H "Authorization: Bearer $API_KEY"

2. List its reviews

curl "https://api.5sterne.net/v1/businesses/0x47a84e373f035901%3A0x42120465b5e3b70/reviews?sort=lowest" \
  -H "Authorization: Bearer $API_KEY"

3. Order removal

curl -X POST "https://api.5sterne.net/v1/orders" \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: kunde-42-2026-10-01" \
  -d '{
    "businessDataId": "0x47a84e373f035901:0x42120465b5e3b70",
    "reviewIds": ["ChZDSUhNMG9nS0VJQ0FnSUM..."],
    "termsVersion": "2026-10-price-19-v1",
    "externalReference": "kunde-42"
  }'

4. Track the order

curl "https://api.5sterne.net/v1/orders/ORDER_ID" \
  -H "Authorization: Bearer $API_KEY"

Basics

Base URL
https://api.5sterne.net
Authentication
Authorization: Bearer 5s_live_…. Keys are shown once; revoke them in your customer area.
Limits
60 requests per minute per key. Per customer and day: 1,000 Google calls (each search, review page, and page read while placing an order).
Retries
Send an Idempotency-Key header with every order. A retry with the same key returns the original order.
Price changes
Orders must name the current termsVersion (2026-10-price-19-v1). After a price change, old versions get a 422 instead of being billed at the new price.
Errors
RFC 7807 JSON: {"type","title","status","detail"}. 409 and 422 for reviews also list the affected reviewIds.
Specification
OpenAPI 3.1: https://api.5sterne.net/v1/openapi.yaml, importable into Postman, Insomnia or a client generator.

Reference

Spec

The machine-readable contract.

GET/v1/openapi.yaml(no API key)

This specification

Responses
  • 200OpenAPI document.

Lookup

Find a Google business and the reviews you want removed. Each search, each review page, and each page read while placing an order counts towards a daily budget of 1000 Google calls per customer (resets 00:00 UTC).

GET/v1/businesses

Search Google businesses in Germany

Parameters
query required string Business name and city, e.g. Autohaus Müller Berlin.
Responses
  • 200Matches.
  • 400RFC 7807 problem.
  • 401RFC 7807 problem.
  • 429RFC 7807 problem.
  • 503RFC 7807 problem.
Responses 200
data required Business[]
GET/v1/businesses/{dataId}/reviews

List a business's reviews

Up to 8 reviews on the first page, 18 on later ones. Pass nextPageToken as pageToken for more.

Parameters
dataId (path) required string dataId from the search, URL-encoded.
sort "lowest" | "newest"
pageToken string
Responses
  • 200A page of reviews.
  • 400RFC 7807 problem.
  • 401RFC 7807 problem.
  • 429RFC 7807 problem.
  • 503RFC 7807 problem.
Responses 200
businessDataId required string
businessName required string
rating required number
totalReviews required integer
data required LookupReview[]
nextPageToken required string | null

Orders

Place removal orders and follow each review until Google decides.

GET/v1/orders

List orders

Newest first. Includes orders placed on the website and by the Lösch-Abo.

Parameters
limit integer
cursor string The nextCursor of the previous page.
Responses
  • 200A page of orders.
  • 400RFC 7807 problem.
  • 401RFC 7807 problem.
  • 429RFC 7807 problem.
Responses 200
data required Order[]
nextCursor required string | null
POST/v1/orders

Order review removals

We re-read the business's reviews from Google, so every id must be one of its current 1-3 star reviews. Contact and billing data are taken from your latest order. Payment: your saved card or SEPA mandate, otherwise invoice. You are billed only for reviews Google confirms as deleted. Filing starts right away; the call can take several seconds while reviews are read. Each review page read counts towards the daily budget of 1000 Google calls (see Lookup).

Parameters
Idempotency-Key (header) string Retrying with the same key returns the original order (200, Idempotent-Replayed: true) instead of a second one.
Request body
businessDataId required string
reviewIds required string[] Google review ids from GET /v1/businesses/{dataId}/reviews.
termsVersion required "2026-10-price-19-v1" Confirms the AGB you order under (19.00 EUR net per deleted review). When prices change, old versions are rejected with 422 instead of silently billing a new price.
externalReference string Your own reference, e.g. your client's id. Returned on every order.
Responses
  • 200Idempotent replay of an earlier order.
  • 201Order placed.
  • 400RFC 7807 problem.
  • 401RFC 7807 problem.
  • 409Some reviews are already part of a live order.
  • 422Unknown reviews (with reviewIds), outdated termsVersion, an Idempotency-Key reused with a different body, no usable payment method, or missing phone number.
  • 429RFC 7807 problem.
  • 503RFC 7807 problem.
Responses 200
id required string (uuid)
externalReference required string | null
createdAt required string (date-time)
source required "website" | "auto_delete" | "api"
businessName required string
status required "in_progress" | "completed" completed once no review awaits Google.
reviewCount required integer
counts required Counts
currency required "EUR"
estimatedNetCents required integer Net amount if every review were deleted.
billedNetCents required integer | null Net amount actually billed, once invoiced.
reviews required Review[]
GET/v1/orders/{orderId}

Get an order with per-review status

Parameters
orderId (path) required string (uuid)
Responses
  • 200The order.
  • 401RFC 7807 problem.
  • 404RFC 7807 problem.
  • 429RFC 7807 problem.
Responses 200
id required string (uuid)
externalReference required string | null
createdAt required string (date-time)
source required "website" | "auto_delete" | "api"
businessName required string
status required "in_progress" | "completed" completed once no review awaits Google.
reviewCount required integer
counts required Counts
currency required "EUR"
estimatedNetCents required integer Net amount if every review were deleted.
billedNetCents required integer | null Net amount actually billed, once invoiced.
reviews required Review[]

Profiles

The Google profiles you have ordered for, and their Lösch-Abo.

GET/v1/profiles

List your Google profiles

Every Google Maps profile you have ordered for, with totals and Lösch-Abo state.

Responses
  • 200Profiles.
  • 401RFC 7807 problem.
  • 429RFC 7807 problem.
Responses 200
data required Profile[]
PUT/v1/profiles/{dataId}/auto-delete

Switch the Lösch-Abo on or off

Every 30 days we check the profile and order removal of reviews never ordered before (1-3 stars), lowest rating first, up to maxReviewsPerCycle. Each run creates a regular order (source: auto_delete), billed like any other. Sending consentVersion means: "I authorize 5Sterne to request removal of previously unordered negative reviews (1–3 stars) every 30 days, up to my chosen limit. €19 net per successful removal; I can disable this at any time." It is required to switch the Lösch-Abo on or to raise the limit; lowering the limit or switching off needs none. The profile must have been ordered for at least once.

Parameters
dataId (path) required string
Request body
enabled required boolean
maxReviewsPerCycle integer | null Omit to keep the current limit; null = unlimited.
consentVersion "2026-10-auto-delete-api-v1"
Responses
  • 200The new state.
  • 400RFC 7807 problem.
  • 401RFC 7807 problem.
  • 404RFC 7807 problem.
  • 422RFC 7807 problem.
  • 429RFC 7807 problem.
Responses 200
enabled required boolean
nextCheckAt required string (date-time) | null
maxReviewsPerCycle required integer | null null = unlimited.
enrolled required boolean
Remove Reviews Now