AdScaled API

Public API of the AdScaled digital agency (www.adscaled.media): send a project inquiry to the team.

AdScaled is a Czech digital agency (performance marketing, web and app development, branding, photo and video). This API backs the contact form on www.adscaled.media. Use sendContactInquiry only when a real person has asked you to contact AdScaled on their behalf and has given you their name, e-mail and message. It e-mails the team and sends a confirmation to the given address. Do not use it for testing, marketing or bulk messages.

No authentication is required. Requests from browsers are limited to the AdScaled origins (CORS); server-side clients without an Origin header are accepted. Every rate-limited response carries the IETF RateLimit-Policy and RateLimit headers (draft-ietf-httpapi-ratelimit-headers-11); a 429 also carries Retry-After in seconds. All /api paths share a limit of 300 requests per minute per client IP; the contact endpoint allows 5 messages per 15 minutes per client IP.

Endpoints

GET /api/health (getHealth)

Check API availability. Returns ok: true when the API is running and whether e-mail delivery for the contact endpoint is configured.

Example:

curl https://api.adscaled.media/api/health

Responses:

POST /api/contact (sendContactInquiry)

Send a project inquiry to AdScaled. E-mails the inquiry to the AdScaled team (Reply-To is the sender) and sends the sender a confirmation e-mail in the chosen language. Only call this on behalf of a real person who asked to contact AdScaled. The team usually answers within one business day. Text fields are trimmed and truncated to the stated maximum length.

Request body (JSON):

FieldTypeRequiredConstraintsDescription
namestringyesmin 2, max 100Full name of the person or company contact.
emailstringyesemail, max 160Reply address; the confirmation e-mail is sent here.
phonestringnomax 40Optional phone number with 9–15 digits.
subjectstringnomax 100Optional topic, e.g. "Website", "Performance marketing", "Branding".
messagestringyesmin 10, max 5000What the person needs: project, goals, timeline, budget.
languagestringnoone of cs, en, ru, de, frLanguage of the response messages and of the confirmation e-mail.
websitestringnomax 0Spam trap. Must be omitted or empty.

Example:

curl -X POST https://api.adscaled.media/api/contact \
  -H 'Content-Type: application/json' \
  -d '{"name":"Jana Nováková","email":"jana@example.com","phone":"+420 777 123 456","subject":"Website","message":"We need a new website for our e-shop and Meta Ads campaigns. Budget around 150k CZK.","language":"en"}'

Responses:

Rate limits

Responses carry RateLimit-Policy and RateLimit headers (draft-ietf-httpapi-ratelimit-headers-11). Each policy is listed by name:

Example: RateLimit-Policy: "flood";q=300;w=60, "contact";q=5;w=900 and RateLimit: "flood";r=297;t=41, "contact";r=4;t=900 (q quota, w window in seconds, r remaining, t seconds until the quota resets). A 429 response adds Retry-After in seconds.

Authentication

None. Browser requests are accepted only from the AdScaled origins (CORS); server-side requests without an Origin header are accepted.