curl --request GET \
--url https://api.ipsofactura.com/empresas/{id} \
--header 'x-api: <api-key>'import requests
url = "https://api.ipsofactura.com/empresas/{id}"
headers = {"x-api": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api': '<api-key>'}};
fetch('https://api.ipsofactura.com/empresas/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.ipsofactura.com/empresas/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.ipsofactura.com/empresas/{id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.ipsofactura.com/empresas/{id}")
.header("x-api", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.ipsofactura.com/empresas/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"codigo_postal": "06000",
"curp": null,
"es_activo": true,
"fecha_actualizacion": "2026-08-28T12:00:00Z",
"fecha_creacion": "2026-08-28T12:00:00Z",
"id": "a1b2c3d4-1234-4abc-8def-1234567890ab",
"nombre_empresa": "Escuela Kemper Urgate",
"nombre_fiscal": "ESCUELA KEMPER URGATE",
"regimen_fiscal": "601",
"rfc": "EKU9003173C9",
"tipo_persona": "moral"
}{
"code": "INVALID_UUID_FORMAT",
"message": "UUID 'not-a-uuid' no tiene el formato correcto (debe ser UUID v4 válido con formato: 8-4-4-4-12 caracteres hexadecimales)"
}{
"code": "VALIDATION_ERROR",
"id": "<string>",
"idempotencyKey": "<string>",
"message": "CFDI40147: El RFC del receptor no se encuentra en la lista de contribuyentes inscritos no cancelados del SAT",
"retryAfter": 123,
"sat_code": "CFDI40147"
}{
"code": "VALIDATION_ERROR",
"id": "<string>",
"idempotencyKey": "<string>",
"message": "CFDI40147: El RFC del receptor no se encuentra en la lista de contribuyentes inscritos no cancelados del SAT",
"retryAfter": 123,
"sat_code": "CFDI40147"
}{
"code": "EMPRESA_NOT_FOUND",
"message": "La empresa no existe"
}{
"code": "VALIDATION_ERROR",
"id": "<string>",
"idempotencyKey": "<string>",
"message": "CFDI40147: El RFC del receptor no se encuentra en la lista de contribuyentes inscritos no cancelados del SAT",
"retryAfter": 123,
"sat_code": "CFDI40147"
}Consultar empresa
Consulta una empresa (emisor) de la cuenta por su id. Sólo devuelve empresas de la cuenta autenticada: el id de una empresa de otra cuenta responde 404, igual que un id inexistente. Con include_certificados=true incluye el detalle de los CSD activos (lista vacía si el emisor todavía no tiene ninguno).
curl --request GET \
--url https://api.ipsofactura.com/empresas/{id} \
--header 'x-api: <api-key>'import requests
url = "https://api.ipsofactura.com/empresas/{id}"
headers = {"x-api": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api': '<api-key>'}};
fetch('https://api.ipsofactura.com/empresas/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.ipsofactura.com/empresas/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.ipsofactura.com/empresas/{id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.ipsofactura.com/empresas/{id}")
.header("x-api", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.ipsofactura.com/empresas/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"codigo_postal": "06000",
"curp": null,
"es_activo": true,
"fecha_actualizacion": "2026-08-28T12:00:00Z",
"fecha_creacion": "2026-08-28T12:00:00Z",
"id": "a1b2c3d4-1234-4abc-8def-1234567890ab",
"nombre_empresa": "Escuela Kemper Urgate",
"nombre_fiscal": "ESCUELA KEMPER URGATE",
"regimen_fiscal": "601",
"rfc": "EKU9003173C9",
"tipo_persona": "moral"
}{
"code": "INVALID_UUID_FORMAT",
"message": "UUID 'not-a-uuid' no tiene el formato correcto (debe ser UUID v4 válido con formato: 8-4-4-4-12 caracteres hexadecimales)"
}{
"code": "VALIDATION_ERROR",
"id": "<string>",
"idempotencyKey": "<string>",
"message": "CFDI40147: El RFC del receptor no se encuentra en la lista de contribuyentes inscritos no cancelados del SAT",
"retryAfter": 123,
"sat_code": "CFDI40147"
}{
"code": "VALIDATION_ERROR",
"id": "<string>",
"idempotencyKey": "<string>",
"message": "CFDI40147: El RFC del receptor no se encuentra en la lista de contribuyentes inscritos no cancelados del SAT",
"retryAfter": 123,
"sat_code": "CFDI40147"
}{
"code": "EMPRESA_NOT_FOUND",
"message": "La empresa no existe"
}{
"code": "VALIDATION_ERROR",
"id": "<string>",
"idempotencyKey": "<string>",
"message": "CFDI40147: El RFC del receptor no se encuentra en la lista de contribuyentes inscritos no cancelados del SAT",
"retryAfter": 123,
"sat_code": "CFDI40147"
}Authorizations
API key emitida por Ipsofactura, enviada en el header x-api.
Path Parameters
Id de la empresa
Query Parameters
Incluye los CSD activos del emisor
Response
Empresa encontrada
Sólo presente con include_certificados=true. Lista vacía si el emisor no tiene CSD activo.
Show child attributes
Show child attributes
"06000"
CURP del emisor. Siempre null para personas morales.
null
true
"2026-08-28T12:00:00Z"
"2026-08-28T12:00:00Z"
"a1b2c3d4-1234-4abc-8def-1234567890ab"
"Escuela Kemper Urgate"
"ESCUELA KEMPER URGATE"
601, 603, 605, 606, 607, 608, 609, 610, 611, 612, 614, 615, 616, 620, 621, 622, 623, 624, 625, 626, 628, 629, 630 601
"EKU9003173C9"
fisica, moral "moral"