BASE URL
https://apis.davycorp.ec/v2/api/
POST
/validar-cedula-ruc
COMERCIAL
Modo comercial (
req.isComercial = true). Requiere solo Bearer
token (API Key). Los consumos
se descuentan del límite de la cuenta.Headers requeridos
Authorization
Bearer
TU_API_KEY
REQUERIDO
Content-Type
application/json
REQUERIDO
Body
"identification": "1700002563" // cédula (10 dígitos) o RUC (13 dígitos)
Ejemplos de consumo
cURL
JS Fetch
Node axios
Python
Java
C#
PHP
Go
Kotlin
Dart
Ruby
Rust
curl -X POST 'https://apis.davycorp.ec/v2/api//validar-cedula-ruc' \ -H 'Authorization: Bearer TU_API_KEY' \ -H 'Content-Type: application/json' \ -d '{"identification": "1700002563"}'
const res = await fetch('https://apis.davycorp.ec/v2/api//validar-cedula-ruc', { method: 'POST', headers: { 'Authorization': 'Bearer TU_API_KEY', 'Content-Type': 'application/json' }, body: JSON.stringify({ identification: '1700002563' }) }); const data = await res.json(); console.log(data);
import axios from 'axios'; async function validar(identification) { const { data } = await axios.post( 'https://apis.davycorp.ec/v2/api//validar-cedula-ruc', { identification }, { headers: { 'Authorization': 'Bearer TU_API_KEY', 'Content-Type': 'application/json' }} ); return data; } validar('1700002563').then(console.log);
import requests response = requests.post( 'https://apis.davycorp.ec/v2/api//validar-cedula-ruc', json={'identification': '1700002563'}, headers={ 'Authorization': 'Bearer TU_API_KEY', 'Content-Type': 'application/json' } ) data = response.json() if data['status']: contribuyente = data['data']['contribuyente'] print(f"Nombre: {contribuyente['nombreComercial']}") # Si es RUC también viene data['data']['infoRuc'] if 'infoRuc' in data['data']: print(f"Estado RUC: {data['data']['infoRuc']['Estado_del_Contribuyente_en_el_RUC']}")
import java.net.http.*; import java.net.URI; public class SriValidar { public static void main(String[] args) throws Exception { String body = "{\"identification\": \"1700002563\"}"; HttpClient client = HttpClient.newHttpClient(); HttpRequest request = HttpRequest.newBuilder() .uri(URI.create("https://apis.davycorp.ec/v2/api//validar-cedula-ruc")) .header("Authorization", "Bearer TU_API_KEY") .header("Content-Type", "application/json") .POST(HttpRequest.BodyPublishers.ofString(body)) .build(); HttpResponse<String> response = client.send( request, HttpResponse.BodyHandlers.ofString() ); System.out.println(response.body()); } }
using System.Net.Http; using System.Text; using System.Text.Json; var client = new HttpClient(); client.DefaultRequestHeaders.Add("Authorization", "Bearer TU_API_KEY"); var json = JsonSerializer.Serialize(new { identification = "1700002563" }); var content = new StringContent(json, Encoding.UTF8, "application/json"); var response = await client.PostAsync( "https://apis.davycorp.ec/v2/api//validar-cedula-ruc", content ); Console.WriteLine(await response.Content.ReadAsStringAsync());
$ch = curl_init(); curl_setopt_array($ch, [ CURLOPT_URL => 'https://apis.davycorp.ec/v2/api//validar-cedula-ruc', CURLOPT_RETURNTRANSFER => true, CURLOPT_POST => true, CURLOPT_POSTFIELDS => json_encode(['identification' => '1700002563']), CURLOPT_HTTPHEADER => [ 'Authorization: Bearer TU_API_KEY', 'Content-Type: application/json' ] ]); $data = json_decode(curl_exec($ch), true); curl_close($ch); // Cédula echo $data['data']['contribuyente']['nombreComercial']; // RUC (si aplica) if (isset($data['data']['infoRuc'])) echo $data['data']['infoRuc']['Estado_del_Contribuyente_en_el_RUC'];
package main import ( "bytes"; "encoding/json"; "fmt"; "io"; "net/http" ) func main() { payload, _ := json.Marshal(map[string]string{ "identification": "1700002563", }) req, _ := http.NewRequest("POST", "https://apis.davycorp.ec/v2/api//validar-cedula-ruc", bytes.NewBuffer(payload)) req.Header.Set("Authorization", "Bearer TU_API_KEY") req.Header.Set("Content-Type", "application/json") resp, _ := http.DefaultClient.Do(req) defer resp.Body.Close() body, _ := io.ReadAll(resp.Body) fmt.Println(string(body)) }
import okhttp3.* import okhttp3.MediaType.Companion.toMediaType import okhttp3.RequestBody.Companion.toRequestBody fun main() { val client = OkHttpClient() val body = """{"identification":"1700002563"}""" .toRequestBody("application/json".toMediaType()) val request = Request.Builder() .url("https://apis.davycorp.ec/v2/api//validar-cedula-ruc") .post(body) .addHeader("Authorization", "Bearer TU_API_KEY") .addHeader("Content-Type", "application/json") .build() println(client.newCall(request).execute().body?.string()) }
import 'package:http/http.dart' as http; import 'dart:convert'; Future<void> validar(String identification) async { final res = await http.post( Uri.parse('https://apis.davycorp.ec/v2/api//validar-cedula-ruc'), headers: { 'Authorization': 'Bearer TU_API_KEY', 'Content-Type': 'application/json', }, body: jsonEncode({'identification': identification}), ); final data = jsonDecode(res.body); print(data['data']['contribuyente']['nombreComercial']); } void main() => validar('1700002563');
require 'net/http' require 'json' require 'uri' uri = URI.parse('https://apis.davycorp.ec/v2/api//validar-cedula-ruc') http = Net::HTTP.new(uri.host, uri.port) http.use_ssl = true request = Net::HTTP::Post.new(uri.request_uri) request['Authorization'] = 'Bearer TU_API_KEY' request['Content-Type'] = 'application/json' request.body = { identification: '1700002563' }.to_json response = http.request(request) data = JSON.parse(response.body) puts data['data']['contribuyente']['nombreComercial']
// Cargo.toml: reqwest = { features = ["json"] }, tokio, serde_json use reqwest::Client; use serde_json::json; #[tokio::main] async fn main() -> Result<(), Box<dyn std::error::Error>> { let client = Client::new(); let res = client .post("https://apis.davycorp.ec/v2/api//validar-cedula-ruc") .header("Authorization", "Bearer TU_API_KEY") .json(&json!({ "identification": "1700002563" })) .send().await? .text().await?; println!("{}", res); Ok(()) }
Respuestas
200 — RUC (13 dígitos)
200 — Cédula (10 dígitos)
Errores
{
"status": true,
"data": {
"infoRuc": {
"Razon_Social": "AJILA LAPO ALBERTO DARIO",
"RUC": "1738994453001",
"Nombre_Comercial": "",
"Estado_del_Contribuyente_en_el_RUC": "Activo",
"Clase_de_Contribuyente": "Otro",
"Tipo_de_Contribuyente": "Persona Natural",
"Obligado_a_llevar_Contabilidad": "NO",
"Actividad_Economica_Principal": "ACTIVIDADES DE PLANIFICACIÓN Y DISEÑO...",
"Fecha_de_inicio_de_actividades": "05-04-2019",
"Categoria_Mi_PYMES": "No declarado"
},
"contribuyente": {
"nombreComercial": "AJILA LAPO ALBERTO DARIO",
"apellido": "AJILA LAPO",
"nombre": "ALBERTO DARIO",
"llevaContabilidad": "NO",
"estado": "Activo"
}
}
}
{
"status": true,
"data": {
"contribuyente": {
"nombreComercial": "AJILA LAPO ALBERTO DARIO",
"apellido": "AJILA LAPO",
"nombre": "ALBERTO DARIO"
}
}
}
// 401 — Sin API Key { "error": "API Key requerida" } // 403 — API Key inválida o expirada { "success": false, "error": "Api user inválido" } // 429 — Límite de consultas alcanzado { "error": "Límite de consultas alcanzado", "status": false } // 500 — Error interno { "error": "Error interno del servidor", "status": false }
POST
/validar-cedula-ruc-demo
DEMO
Modo demo (
req.isDemo = true). Mismo Bearer token, mismas respuestas,
pero sin descontar del límite de la cuenta. Ideal para pruebas de integración.Headers requeridos
Authorization
Bearer
TU_API_KEY
REQUERIDO
Content-Type
application/json
REQUERIDO
Body
"identification": "1700002563" // cédula (10 dígitos) o RUC (13 dígitos)
Ejemplos de consumo
cURL
JS Fetch
Node axios
Python
Java
C#
PHP
Go
Kotlin
Dart
Ruby
Rust
curl -X POST 'https://apis.davycorp.ec/v2/api//validar-cedula-ruc-demo' \ -H 'Authorization: Bearer TU_API_KEY' \ -H 'Content-Type: application/json' \ -d '{"identification": "1700002563"}'
const res = await fetch('https://apis.davycorp.ec/v2/api//validar-cedula-ruc-demo', { method: 'POST', headers: { 'Authorization': 'Bearer TU_API_KEY', 'Content-Type': 'application/json' }, body: JSON.stringify({ identification: '1700002563' }) }); const data = await res.json(); console.log(data);
import axios from 'axios'; const { data } = await axios.post( 'https://apis.davycorp.ec/v2/api//validar-cedula-ruc-demo', { identification: '1700002563' }, { headers: { 'Authorization': 'Bearer TU_API_KEY', 'Content-Type': 'application/json' }} ); console.log(data);
import requests response = requests.post( 'https://apis.davycorp.ec/v2/api//validar-cedula-ruc-demo', json={'identification': '1700002563'}, headers={ 'Authorization': 'Bearer TU_API_KEY', 'Content-Type': 'application/json' } ) print(response.json())
import java.net.http.*; import java.net.URI; HttpClient client = HttpClient.newHttpClient(); HttpRequest request = HttpRequest.newBuilder() .uri(URI.create("https://apis.davycorp.ec/v2/api//validar-cedula-ruc-demo")) .header("Authorization", "Bearer TU_API_KEY") .header("Content-Type", "application/json") .POST(HttpRequest.BodyPublishers.ofString( "{\"identification\": \"1700002563\"}")) .build(); System.out.println( client.send(request, HttpResponse.BodyHandlers.ofString()).body() );
using System.Net.Http; using System.Text; using System.Text.Json; var client = new HttpClient(); client.DefaultRequestHeaders.Add("Authorization", "Bearer TU_API_KEY"); var content = new StringContent( JsonSerializer.Serialize(new { identification = "1700002563" }), Encoding.UTF8, "application/json" ); var res = await client.PostAsync( "https://apis.davycorp.ec/v2/api//validar-cedula-ruc-demo", content ); Console.WriteLine(await res.Content.ReadAsStringAsync());
$ch = curl_init(); curl_setopt_array($ch, [ CURLOPT_URL => 'https://apis.davycorp.ec/v2/api//validar-cedula-ruc-demo', CURLOPT_RETURNTRANSFER => true, CURLOPT_POST => true, CURLOPT_POSTFIELDS => json_encode(['identification' => '1700002563']), CURLOPT_HTTPHEADER => [ 'Authorization: Bearer TU_API_KEY', 'Content-Type: application/json' ] ]); print_r(json_decode(curl_exec($ch), true)); curl_close($ch);
package main import ( "bytes"; "encoding/json"; "fmt"; "io"; "net/http" ) func main() { payload, _ := json.Marshal(map[string]string{ "identification": "1700002563", }) req, _ := http.NewRequest("POST", "https://apis.davycorp.ec/v2/api//validar-cedula-ruc-demo", bytes.NewBuffer(payload)) req.Header.Set("Authorization", "Bearer TU_API_KEY") req.Header.Set("Content-Type", "application/json") resp, _ := http.DefaultClient.Do(req) defer resp.Body.Close() body, _ := io.ReadAll(resp.Body) fmt.Println(string(body)) }
import okhttp3.* import okhttp3.MediaType.Companion.toMediaType import okhttp3.RequestBody.Companion.toRequestBody val client = OkHttpClient() val body = """{"identification":"1700002563"}""" .toRequestBody("application/json".toMediaType()) val request = Request.Builder() .url("https://apis.davycorp.ec/v2/api//validar-cedula-ruc-demo") .post(body) .addHeader("Authorization", "Bearer TU_API_KEY") .addHeader("Content-Type", "application/json") .build() println(client.newCall(request).execute().body?.string())
import 'package:http/http.dart' as http; import 'dart:convert'; final res = await http.post( Uri.parse('https://apis.davycorp.ec/v2/api//validar-cedula-ruc-demo'), headers: { 'Authorization': 'Bearer TU_API_KEY', 'Content-Type': 'application/json', }, body: jsonEncode({'identification': '1700002563'}), ); print(jsonDecode(res.body));
require 'net/http' require 'json'; require 'uri' uri = URI.parse('https://apis.davycorp.ec/v2/api//validar-cedula-ruc-demo') http = Net::HTTP.new(uri.host, uri.port) http.use_ssl = true req = Net::HTTP::Post.new(uri.request_uri) req['Authorization'] = 'Bearer TU_API_KEY' req['Content-Type'] = 'application/json' req.body = { identification: '1700002563' }.to_json puts JSON.parse(http.request(req).body)
use reqwest::Client; use serde_json::json; #[tokio::main] async fn main() -> Result<(), Box<dyn std::error::Error>> { let res = Client::new() .post("https://apis.davycorp.ec/v2/api//validar-cedula-ruc-demo") .header("Authorization", "Bearer TU_API_KEY") .json(&json!({ "identification": "1700002563" })) .send().await?.text().await?; println!("{}", res); Ok(()) }
Respuestas (idénticas al endpoint comercial)
200 — RUC (13 dígitos)
200 — Cédula (10 dígitos)
Errores
{
"status": true,
"data": {
"infoRuc": {
"Razon_Social": "AJILA LAPO ALBERTO DARIO",
"RUC": "1738994453001",
"Nombre_Comercial": "",
"Estado_del_Contribuyente_en_el_RUC": "Activo",
"Clase_de_Contribuyente": "Otro",
"Tipo_de_Contribuyente": "Persona Natural",
"Obligado_a_llevar_Contabilidad": "NO",
"Actividad_Economica_Principal": "ACTIVIDADES DE PLANIFICACIÓN Y DISEÑO...",
"Fecha_de_inicio_de_actividades": "05-04-2019",
"Categoria_Mi_PYMES": "No declarado"
},
"contribuyente": {
"nombreComercial": "AJILA LAPO ALBERTO DARIO",
"apellido": "AJILA LAPO",
"nombre": "ALBERTO DARIO",
"llevaContabilidad": "NO",
"estado": "Activo"
}
}
}
{
"status": true,
"data": {
"contribuyente": {
"nombreComercial": "AJILA LAPO ALBERTO DARIO",
"apellido": "AJILA LAPO",
"nombre": "ALBERTO DARIO"
}
}
}
// 401 — Sin API Key { "error": "API Key requerida" } // 403 — API Key inválida { "success": false, "error": "Api user inválido" } // 429 — Límite alcanzado { "error": "Límite de consultas alcanzado", "status": false } // 500 — Error interno { "error": "Error interno del servidor", "status": false }