Discover/Diplo API
live

Diplo APIvidex.diplo.de

Access validation rules and dropdown option lists from the German Federal Foreign Office VIDEX short-term stay visa form via two structured endpoints.

Endpoint health
verified 3d ago
get_validation_rules
get_value_lists
2/2 passing latest checkself-healing
Endpoints
2
Updated
2mo ago

What is the Diplo API?

This API exposes 2 endpoints that return structured metadata from the German Federal Foreign Office VIDEX short-term stay (Schengen) visa application form. The get_validation_rules endpoint delivers field-level constraints — mandatory flags, length bounds, numeric ranges, and regex masks — for every form field identified by dot-notated path. The get_value_lists endpoint returns all dropdown option sets, including countries, Schengen member states, occupations, and travel purposes, in up to 11 languages.

This call costs1 credit / call— charged only on success
Try it

No input parameters required.

api.parse.bot/scraper/173d9312-da53-4641-a3cb-0c80f8ca9647/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/173d9312-da53-4641-a3cb-0c80f8ca9647/get_validation_rules' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace videx-diplo-de-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""Walkthrough: VIDEX visa form metadata — validation rules and dropdown lists."""
from parse_apis.videx_diplo_de_api import Videx, Language, ParseError

client = Videx()

# Fetch the complete validation ruleset for all form fields.
try:
    ruleset = client.validation_rulesets.get()
except ParseError as e:
    print(f"Could not fetch rules: {e.code}")
    raise
print(f"Total validated fields: {ruleset.total_fields}")

# Inspect a specific field's constraints by its dot-notated path.
passport_rule = ruleset.rules.get("antragsteller.pass.passnummer")
if passport_rule is not None:
    print(f"Passport number: mandatory={passport_rule.mandatory}, "
          f"length=[{passport_rule.min_length}, {passport_rule.max_length}], "
          f"pattern={passport_rule.mask_regex}")

# List all dropdown option lists in English, capped at 5 items.
for vl in client.value_lists.list(language=Language.EN, limit=5):
    print(f"{vl.name} (v{vl.version}): {vl.item_count} options")
    # Show first two items from each list.
    for item in vl.items[:2]:
        print(f"  {item.key} -> {item.value}")

print("exercised: validation_rulesets.get / value_lists.list")
All endpoints · 2 totalmissing one? ·

Returns validation metadata for all form fields of the VIDEX short-term stay (Schengen) visa application. Each field entry includes whether it is mandatory, minimum/maximum length constraints, minimum/maximum numeric value constraints, and a regex pattern (maskRegex) that valid input must match. Internal valueListID sub-fields are filtered out. The response is language-independent since validation rules do not vary by display language.

Input

No input parameters required.

Response
{
  "type": "object",
  "fields": {
    "fields": "object mapping dot-notated field paths to their validation rule objects (mandatory, minLength, maxLength, minValue, maxValue, maskRegex, properties)",
    "total_fields": "integer count of field entries returned"
  },
  "sample": {
    "data": {
      "fields": {
        "antragsteller.familienname": {
          "maxValue": null,
          "minValue": null,
          "mandatory": true,
          "maskRegex": "^[A-ZÄÖÜß][-A-ZÄÖÜß'/.+? ]*$",
          "maxLength": 40,
          "minLength": 1,
          "properties": null
        },
        "antragsteller.geburtsdatum": {
          "maxValue": null,
          "minValue": null,
          "mandatory": true,
          "maskRegex": "^00\\.00\\.(19|20|21)\\d{2}|00\\.(0\\d|1[0-2])\\.(19|20|21)\\d{2}|(0\\d|[12][0-9]|3[01])\\.(0[13578]|1[02])\\.(19|20|21)\\d{2}|(0\\d|[12][0-9]|30)\\.(0[469]|11)\\.(19|20|21)\\d{2}|(0\\d|1\\d|2[0-8])\\.02\\.(19|20|21)\\d{2}|29\\.02\\.(?:2000|(19|20|21)(0[48]|[2468][048]|[13579][26]))$",
          "maxLength": null,
          "minLength": null,
          "properties": null
        },
        "visumdaten.gueltigkeit.dauer": {
          "maxValue": 90,
          "minValue": 1,
          "mandatory": true,
          "maskRegex": null,
          "maxLength": null,
          "minLength": null,
          "properties": null
        },
        "antragsteller.pass.passnummer": {
          "maxValue": null,
          "minValue": null,
          "mandatory": true,
          "maskRegex": "^[A-Z 0-9]*$",
          "maxLength": 20,
          "minLength": 1,
          "properties": null
        }
      },
      "total_fields": 224
    },
    "status": "success"
  }
}

About the Diplo API

Validation Rules

The get_validation_rules endpoint takes no inputs and returns a fields object mapping dot-notated field paths (e.g. applicant.surname, travelInfo.entryDate) to their validation rule objects. Each rule object can include mandatory (boolean), minLength and maxLength for text fields, minValue and maxValue for numeric fields, and a maskRegex pattern specifying the exact character format a valid entry must match. The total_fields integer tells you how many entries are in the map. This is the authoritative source for what the official VIDEX form requires at the field level.

Value Lists

The get_value_lists endpoint accepts an optional language parameter as an ISO 639-1 code (de, en, ar, zh, fr, id, fa, pt, ru, es, tr, vi). It returns a value_lists array where each element has a name, a version, an items array of key/value pairs, and an item_count. Lists cover reference data such as countries, Schengen member states, occupation types, and travel purposes — all of which correspond directly to select fields in the visa form. If no language is specified, labels default to German.

Data Shape and Practical Use

The dot-notated field paths from get_validation_rules align with the option keys in get_value_lists, so you can cross-reference a field's maskRegex or mandatory flag against the valid option keys for that field. The version field on each value list lets you detect when the official option set has been updated. Both endpoints reflect the current state of the VIDEX short-term stay form; the long-stay (national visa) form is a separate VIDEX variant not covered here.

Reliability & maintenanceVerified

The Diplo API is a managed, monitored endpoint for videx.diplo.de — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when videx.diplo.de changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official videx.diplo.de API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
3d ago
Latest check
2/2 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Validate user-entered visa application data client-side against official minLength, maxLength, and maskRegex constraints before submission.
  • Populate country and Schengen member state dropdowns in a visa application UI using the get_value_lists items in the user's preferred language.
  • Build multilingual visa form interfaces by fetching value lists with the language parameter for any of the 11 supported ISO 639-1 codes.
  • Detect field requirement changes by comparing the version field of returned value lists across periodic calls.
  • Generate automated test cases that exercise mandatory fields and boundary values derived from minValue, maxValue, minLength, and maxLength rules.
  • Map occupation codes and travel purpose keys from get_value_lists to their human-readable labels for display in application review tools.
  • Audit a pre-filled visa application object against mandatory flags and regex patterns to surface missing or malformed entries before a user submits.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo2005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min
Team$300/mo20,000300 req/min
Company$1,000/mo100,000500 req/min

Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does the German Federal Foreign Office provide an official developer API for VIDEX form data?+
No official public developer API is documented or published by the Federal Foreign Office for VIDEX form metadata. The videx.diplo.de API on Parse provides structured access to validation rules and dropdown option lists from that form.
What does `get_validation_rules` return for a field, and how granular is it?+
Each entry in the fields object is keyed by a dot-notated path and contains up to six properties: mandatory (boolean), minLength, maxLength (character bounds for text inputs), minValue, maxValue (numeric bounds), and maskRegex (a regular expression the input must satisfy). Not every field carries all six properties — a text field with no numeric constraint will omit minValue/maxValue, for example.
Does the API cover the VIDEX long-stay (national visa, Type D) form as well?+
Not currently. Both endpoints cover only the short-term stay (Schengen, Type C) variant of the VIDEX form. You can fork this API on Parse and revise it to add endpoints targeting the long-stay form.
Are value list labels available in languages beyond the 11 currently supported?+
The language parameter currently accepts de, en, ar, zh, fr, id, fa, pt, ru, es, tr, and vi. Labels for other languages are not available from this endpoint. You can fork the API on Parse and revise it if you need to add a translation layer or default mapping for an unsupported locale.
How do I know if the official dropdown options have changed since my last call?+
Each object in the value_lists array includes a version field. Storing that value and comparing it on subsequent calls lets you detect when a specific option list — such as the Schengen member states list — has been updated in the official form.
Page content last updated . Spec covers 2 endpoints from videx.diplo.de.
Related APIs in Government PublicSee all →
visaindex.com API
Check passport power rankings and visa requirements across countries, compare travel restrictions between nations, and explore golden visa programs and ETA eligibility for your destination. Find detailed information about visa policies, destination requirements, and investment-based visa options to plan international travel and relocation opportunities.
visa.vfsglobal.com API
Search visa application centers, appointment locations, and visa requirements across 100+ countries through VFS Global's visa portal. Stay updated with the latest visa news, center details, and application information for your destination country.
govdata.de API
Search and retrieve official German government datasets including demographics, economic indicators, and business statistics, or browse available organizations and categories to discover relevant open data resources. Filter results by high-value datasets and access site statistics to learn about recently updated information from Germany's Federal Open Data Portal.
atlys.com API
Discover visa requirements and pricing for destinations worldwide by browsing available countries and viewing detailed information including visa types, validity periods, government fees, and required documents. Plan your international travel with transparent cost breakdowns and all necessary documentation details in one place.
dwds.de API
Look up German words with detailed definitions, pronunciations, and usage examples, or explore curated word lists organized by proficiency level. Search vocabulary, discover random entries, and learn the featured word of the day to build your German language skills.
devex.com API
Search and explore global development opportunities including tenders, grants, job postings, news, organizations, and events all in one place. Find funding details, discover career opportunities, and stay updated on international development initiatives through a single integrated platform.
avis.de API
Search and explore Avis Germany rental locations with autocomplete functionality, view detailed location information and available vehicles, and discover current special offers. Find rental options by country or city to compare fleet availability and pricing.
jobs.eu.lever.co API
Get detailed information about job application forms on EU Lever job postings, including all sections, field types, required status, and dropdown options. Use this data to understand the application requirements or integrate application form structures into your hiring workflow.