API Overview
Base URL
https://baas.dapita.net
Authentication
All API requests require an API key sent in the X-API-Key header.
curl -H "X-API-Key: baas_sk_your_key_here" https://baas.dapita.net/geo/ip/8.8.8.8
Request Headers
| Header | Required | Description |
|---|
X-API-Key | Yes | Your API key |
Content-Type | For POST | application/json |
Error Responses
| Code | Description |
|---|
| 400 | Bad Request |
| 401 | Unauthorized |
| 403 | Forbidden |
| 429 | Rate limit exceeded |
| 500 | Internal Server Error |
Rate Limits
| Plan | Requests/Month | Requests/Hour |
|---|
| Free | 1,000 | 5 |
| Pay-as-you-go | 5,000 | 20 |
| Growth | 50,000 | 100 |
| Scale | 500,000 | 700 |
Special Rate Limits
| Endpoint | Limit | Reason |
|---|
/vat/validate | 1 req / 10 sec | External VIES API |
/ip/reputation | 1 req / 60 sec | External AbuseIPDB |
/email/validate | 1 req / 5 sec | SMTP verification |
Get geolocation data for an IP address.
Parameters
| Name | Type | Required | Description |
|---|
ip | string | Yes | IPv4 or IPv6 address |
Example Request
curl -H "X-API-Key: YOUR_KEY" https://baas.dapita.net/geo/ip/8.8.8.8
Response
{"ip":"8.8.8.8","country_code":"US","country":"United States","city":"","timezone":"America/Chicago","latitude":37.751,"longitude":-97.822}
Get geolocation data for your current IP address.
Example Request
curl -H "X-API-Key: YOUR_KEY" https://baas.dapita.net/ip/me
Response
{"ip":"57.131.32.227","country_code":"FR","country":"France","city":"","timezone":"Europe/Paris","latitude":48.8582,"longitude":2.3387}
Get IP reputation data including abuse score, reports, and threat indicators. Rate limited: 1 request per 60 seconds.
Parameters
| Name | Type | Required | Description |
|---|
ip | string | Yes | IPv4 or IPv6 address |
Example Request
curl -H "X-API-Key: YOUR_KEY" https://baas.dapita.net/ip/reputation/8.8.8.8
Response
{"ip":"8.8.8.8","is_public":true,"abuse_score":0,"country_code":"US","isp":"Google LLC","domain":"google.com","total_reports":140,"last_reported_at":"2025-12-29T02:57:13Z","is_whitelisted":true,"is_tor":false,"source":"abuseipdb"}
Get country information. Without code returns all countries. With code returns specific country details.
Parameters
| Name | Type | Required | Description |
|---|
code | string | No | ISO 2-letter country code. Empty = all countries. |
format | query | No | Use "compact" for smaller payload (list mode only) |
Example Requests
# All countries
curl -H "X-API-Key: YOUR_KEY" https://baas.dapita.net/country/list
# Compact format
curl -H "X-API-Key: YOUR_KEY" "https://baas.dapita.net/country/list?format=compact"
# Single country
curl -H "X-API-Key: YOUR_KEY" https://baas.dapita.net/country/ES
Response (single)
{"code":"ES","name":"Spain","native_name":"EspaΓ±a","flag":"πͺπΈ","dial_code":"+34","currency":"EUR","languages":["es"],"capital":"Madrid","region":"Europe"}
Get countries with detailed geographic data from GeoNames. Supports filtering.
Query Parameters
| Name | Type | Required | Description |
|---|
iso | string | No | Filter by ISO 2-letter code |
iso3 | string | No | Filter by ISO 3-letter code |
name | string | No | Search by name |
lang | string | No | Language code for localized names |
continent | string | No | Filter: EU, AS, NA, SA, AF, OC, AN |
currency | string | No | Filter by currency code |
phone | string | No | Filter by phone code |
tld | string | No | Filter by TLD domain |
Example Requests
# All countries
curl -H "X-API-Key: YOUR_KEY" https://baas.dapita.net/geo/countries
# European countries
curl -H "X-API-Key: YOUR_KEY" "https://baas.dapita.net/geo/countries?continent=EU"
# Single country by ISO
curl -H "X-API-Key: YOUR_KEY" "https://baas.dapita.net/geo/countries?iso=ES"
Response
{"count":1,"countries":[{"iso":"ES","iso3":"ESP","iso_numeric":"724","name":"Spain","capital":"Madrid","continent":"EU","continent_name":"Europe","population":46723749,"currency_code":"EUR","currency_name":"Euro","phone":"34","tld":".es"}]}
Get regions/states/provinces for a country.
Query Parameters
| Name | Type | Required | Description |
|---|
country | string | Yes | ISO 2-letter country code |
code | string | No | Filter by region code |
name | string | No | Search by name |
Example Request
curl -H "X-API-Key: YOUR_KEY" "https://baas.dapita.net/geo/regions?country=ES"
Response
{"count":19,"regions":[{"name":"Andalusia","asciiname":"Andalusia","country_code":"ES","country_iso3":"ESP","country_name":"Spain","admin1_code":"51","latitude":37.5,"longitude":-4.58333,"population":8631862,"timezone":"Europe/Madrid"},...]}
Get cities for a country with pagination. Includes postal codes.
Query Parameters
| Name | Type | Required | Description |
|---|
country | string | Yes | ISO 2-letter country code |
iso3 | string | No | ISO 3-letter country code |
admin1 | string | No | Filter by region code |
name | string | No | Search by city name |
limit | int | No | Results per page (default: 100, max: 1000) |
offset | int | No | Skip N results |
short | bool | No | Return minimal fields (true/false) |
Example Requests
# Basic request with limit
curl -H "X-API-Key: YOUR_KEY" "https://baas.dapita.net/geo/cities?country=ES&limit=10"
# Search by city name
curl -H "X-API-Key: YOUR_KEY" "https://baas.dapita.net/geo/cities?country=ES&name=Madrid"
# Filter by region code
curl -H "X-API-Key: YOUR_KEY" "https://baas.dapita.net/geo/cities?country=ES&admin1=29"
# Short format (minimal fields)
curl -H "X-API-Key: YOUR_KEY" "https://baas.dapita.net/geo/cities?country=ES&short=true&limit=100"
Response
{"count":2,"total":30871,"limit":2,"offset":0,"cities":[{"name":"Madrid","asciiname":"Madrid","admin1_code":"29","admin1_name":"Comunidad de Madrid","latitude":40.4165,"longitude":-3.70256,"population":3255944,"timezone":"Europe/Madrid","continent_name":"Europe","phone_code":"34","currency_code":"EUR","currency_name":"Euro","tld":".es","postal_codes":["28001","28002",...]},...]}
Get current exchange rates. Base defaults to EUR.
Parameters
| Name | Type | Required | Description |
|---|
base | string | No | Base currency (default: EUR) |
Example Request
curl -H "X-API-Key: YOUR_KEY" https://baas.dapita.net/currency/rates/EUR
Response
{"base":"EUR","date":"2025-12-29","rates":{"USD":1.04,"GBP":0.83,"JPY":164.5,...}}
Convert amount from one currency to another.
Query Parameters
| Name | Type | Required | Description |
|---|
from | string | Yes | Source currency code |
to | string | Yes | Target currency code |
amount | number | Yes | Amount to convert |
Example Request
curl -H "X-API-Key: YOUR_KEY" "https://baas.dapita.net/currency/convert?from=USD&to=EUR&amount=100"
Response
{"from":"USD","to":"EUR","amount":100,"result":96.15,"rate":0.9615}
Get historical exchange rates for a specific date.
Query Parameters
| Name | Type | Required | Description |
|---|
base | string | No | Base currency (default: EUR) |
date | string | Yes | Date in YYYY-MM-DD format |
Example Request
curl -H "X-API-Key: YOUR_KEY" "https://baas.dapita.net/currency/history?base=EUR&date=2025-12-01"
Response
{"base":"EUR","date":"2025-12-01","rates":{"USD":1.05,"GBP":0.84,...}}
Get currency info with symbol and flag. Without code returns all currencies.
Parameters
| Name | Type | Required | Description |
|---|
code | string | No | Currency code. Empty = all currencies. |
Example Requests
# All currencies
curl -H "X-API-Key: YOUR_KEY" https://baas.dapita.net/currency/list/
# Single currency
curl -H "X-API-Key: YOUR_KEY" https://baas.dapita.net/currency/list/EUR
Response (single)
{"code":"EUR","name":"Euro","symbol":"β¬","flag":"πͺπΊ"}
Get VAT rates for a country including standard, reduced, and super-reduced rates.
Parameters
| Name | Type | Required | Description |
|---|
country | string | Yes | ISO 2-letter country code |
Example Request
curl -H "X-API-Key: YOUR_KEY" https://baas.dapita.net/vat/rates/ES
Response
{"country_code":"ES","country_name":"Spain","local_name":"IVA","standard_rate":21,"reduced_rates":[10],"super_reduced_rate":4,"parking_rate":null,"updated_at":"2025-12-03"}
Validate EU VAT number via VIES service. Rate limited: 1 request per 10 seconds.
Parameters
| Name | Type | Required | Description |
|---|
vat_number | string | Yes | VAT number with country prefix (e.g. ESB12345678) |
Example Request
curl -H "X-API-Key: YOUR_KEY" https://baas.dapita.net/vat/validate/ESB12345678
Response
{"valid":true,"country_code":"ES","vat_number":"B12345678","company_name":"Example Company SL","company_address":"Calle Example 123, Madrid"}
Validate phone number and get carrier information.
Parameters
| Name | Type | Required | Description |
|---|
number | string | Yes | Phone number with country code (e.g. +34612345678) |
Example Request
curl -H "X-API-Key: YOUR_KEY" https://baas.dapita.net/phone/validate/+34612345678
Response
{"valid":true,"number":"+34612345678","country_code":"ES","national_number":"612345678","type":"mobile","carrier":"Syma","formatted":{"international":"+34 612 34 56 78","national":"612 34 56 78","e164":"+34612345678"}}
Get phone input mask for a country.
Parameters
| Name | Type | Required | Description |
|---|
country | string | Yes | ISO 2-letter country code |
Example Request
curl -H "X-API-Key: YOUR_KEY" https://baas.dapita.net/phone/mask/ES
Response
{"country_code":"ES","country_name":"Spain","dial_code":"+34","mask":"### ## ## ##","example":"+34 810 12 34 56"}
Validate email address with syntax and MX record check. Rate limited: 1 request per 5 seconds.
Parameters
| Name | Type | Required | Description |
|---|
email | string | Yes | Email address to validate |
Example Request
curl -H "X-API-Key: YOUR_KEY" https://baas.dapita.net/email/validate/test@gmail.com
Response
{"email":"test@gmail.com","valid":true,"syntax_valid":true,"mx_valid":true,"mx_records":["gmail-smtp-in.l.google.com","alt1.gmail-smtp-in.l.google.com",...],"domain":"gmail.com"}
Get timezone information and current time for a location.
Parameters
| Name | Type | Required | Description |
|---|
location | string | Yes | IANA timezone identifier (e.g. Europe/Madrid) |
Example Request
curl -H "X-API-Key: YOUR_KEY" https://baas.dapita.net/timezone/Europe/Madrid
Response
{"timezone":"Europe/Madrid","offset":"+01:00","offset_seconds":3600,"current_time":"2025-12-29T12:53:42+01:00","is_dst":false}
Check if a date is a business day (not weekend or holiday).
Parameters
| Name | Type | Required | Description |
|---|
country | string | Yes | ISO 2-letter country code |
date | string | Yes | Date in YYYY-MM-DD format |
Example Request
curl -H "X-API-Key: YOUR_KEY" https://baas.dapita.net/business-day/ES/2025-12-25
Response
{"date":"2025-12-25","country_code":"ES","is_business_day":false,"is_weekend":false,"is_holiday":true,"holiday_name":"Christmas Day","day_of_week":"Thursday"}
Get public holidays for a country and year.
Parameters
| Name | Type | Required | Description |
|---|
country | string | Yes | ISO 2-letter country code |
year | int | Yes | Year (e.g. 2025) |
type | query | No | Filter by holiday type (e.g. Public) |
Example Request
curl -H "X-API-Key: YOUR_KEY" https://baas.dapita.net/holiday/ES/2025
Response
{"country_code":"ES","year":2025,"holidays":[{"date":"2025-01-01","name":"New Year's Day"},{"date":"2025-01-06","name":"Epiphany"},{"date":"2025-12-25","name":"Christmas Day"},...]}
Detect the language of a text.
Request Body
| Name | Type | Required | Description |
|---|
text | string | Yes | Text to analyze |
Example Request
curl -X POST -H "X-API-Key: YOUR_KEY" -H "Content-Type: application/json" \
-d '{"text":"Hola, ΒΏcΓ³mo estΓ‘s?"}' \
https://baas.dapita.net/language/detect
Response
{"language":"Spanish","code":"es","confidence":0.66}
Parse User-Agent string to get browser, OS, and device information.
Request Body
| Name | Type | Required | Description |
|---|
user_agent | string | Yes | User-Agent string to parse |
Example Request
curl -X POST -H "X-API-Key: YOUR_KEY" -H "Content-Type: application/json" \
-d '{"user_agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"}' \
https://baas.dapita.net/useragent/parse
Response
{"user_agent":"Mozilla/5.0...","browser":"Chrome","browser_version":"120.0","os":"Windows 10/11","os_version":"10.0","device":"PC","is_mobile":false,"is_tablet":false,"is_desktop":true,"is_bot":false}
Get WHOIS information for a domain.
Parameters
| Name | Type | Required | Description |
|---|
domain | string | Yes | Domain name (e.g. google.com) |
Example Request
curl -H "X-API-Key: YOUR_KEY" https://baas.dapita.net/whois/google.com
Response
{"domain":"google.com","registrar":"MarkMonitor Inc.","created_date":"1997-09-15T04:00:00Z","expiry_date":"2028-09-14T04:00:00Z","updated_date":"2019-09-09T15:39:04Z","name_servers":["ns1.google.com","ns2.google.com","ns3.google.com","ns4.google.com"],"domain_available":false}