> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://infonite.dev/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://infonite.dev/_mcp/server.

# Yearly personal tax

GET https://clients.infonite.tech/api/executions/results/{execution_id}/public/v1/tax/individual/yearly

Your customer's income-tax situation, year by year, from the Spanish tax agency (AEAT).

One entry per fiscal year: declared income, deductions and the resulting liability, as filed. It is the reference for verified income when a payslip is not enough — the same document a lender or a landlord would ask for. Field by field in [Taxes](/guides/data-models/taxes).

**The filed declarations travel with it**, as [documents](api:GET/executions/results/\{execution_id}/attachments/v1/all) of the execution: the figures and the paper they came from, together.

Features are chosen when the execution **starts**, not here. An execution that did not ask for `yearly_individual_tax` answers `204`, and the only way to get the data is to run another one.

Which years come back is set in that feature's configuration and bounded by what the administration still publishes.

| Status | Meaning                                                                                                                              |
| :----- | :----------------------------------------------------------------------------------------------------------------------------------- |
| `200`  | The years retrieved, most recent first.                                                                                              |
| `202`  | `feature_not_ready` — `yearly_individual_tax` is still running. **Only this family waits**: the ones that already closed answer now. |
| `204`  | The execution never asked for `yearly_individual_tax`. No body.                                                                      |
| `404`  | No execution with that id for your application, or it has been deleted.                                                              |

**Server to server only.** This call is authorised with your application secret: it belongs in your backend, never in a browser, a mobile app or anything your customer can read.

Reference: https://infonite.dev/api-reference/direct-executions/direct-executions-api/fetching-the-results/public-administration/direct-executions-v-1-results-public-yearly-tax

## Authentication

- `X-APP-SECRET` header (required) — Application Secret

## Servers

- `https://clients.infonite.tech/api` (Legacy Server, default)
- `https://clients.infonite.io/api` (Production Server)

## Request

### Path parameters

- `execution_id` (string, required) — The execution, as the acceptance response returned it.

## Response

### 200

**200 OK**One entry per fiscal year the source published: declared income, withholdings, the result, and the status of the declaration. **Which years come back is decided by the feature settings and by what the administration keeps.** **An empty list is an answer, not a gap**: the feature ran and the source reported none.

- `list of object`
  - `product` ("tax_information", required)
  - `sub_family` ("tax_information:persons_yearly_fiscal_data", required)
  - `fetch_date` (string, required) — Date this product was fetched
  - `primary_taxpayer` (string, required) — National identifier of the taxpayer
  - `address` (object, required) — Fiscal address for the exercise
    - `title` (string, optional, nullable) — Free label for the address (e.g. `Headquarter`, `Domicilio`).
    - `street` (string, optional, nullable) — Street line: name and number.
    - `street_extra` (string, optional, nullable) — Second street line: floor, suite, staircase, apartment...
    - `municipality` (string, optional, nullable) — Municipality the address belongs to.
    - `city` (string, optional, nullable) — City or town.
    - `state` (string, optional, nullable) — State or province code.
    - `country` (string, optional, nullable) — Country, as a two-letter ISO code.
    - `zip_code` (string, optional, nullable) — Postal code.
  - `address_reference` (string, required) — Cadastral reference for the main home
  - `country_code` (string, required) — Country code for the tax declaration
  - `currency` (string, required) — Currency for the tax declaration
  - `tax_agency` (string, required) — Tax agency for the tax declaration
  - `fiscal_year_start` (date, required) — Start date of the fiscal year
  - `fiscal_year_end` (date, required) — End date of the fiscal year
  - `status` (enum, required) — Status of the fiscal data
    - Allowed values: `unknown`, `data`, `draft`, `submitted`, `not_required`, `amended`
  - `filing_category` (enum, required) — Category of the tax filing
    - Allowed values: `individual`, `joint`
  - `taxable_base` (map from string to string, required) — Total taxable base
  - `total_tax_paid` (map from string to string, required) — Total tax paid or withheld
  - `final_tax_result` (map from string to string, required) — Final tax result (to be paid or refunded)
  - `income` (object, required) — Detailed breakdown of income
    - `employment` (object, required) — Employment income details
      - `lines` (list of object, required) — List of employment income sources
        - `employer_id` (string, required) — Identifier of the employer (NIF/CIF)
        - `employer_name` (string, required) — Name of the employer
        - `gross_income` (map from string to string, required) — Gross income from this employer
        - `tax_withheld` (map from string to string, required) — Income tax withheld by this employer
        - `social_security_contributions` (map from string to string, required) — Social security contributions paid
        - `taxpayer_id` (string, required) — National identifier of the taxpayer for this line
      - `total_gross` (map from string to string, required) — Total gross employment income
      - `total_withheld` (map from string to string, required) — Total income tax withheld from employment
      - `total_social_security` (map from string to string, required) — Total social security contributions
    - `capital` (object, required) — Capital income details
      - `lines` (list of object, required) — List of capital income sources
        - `asset_type` (string, required) — Type of asset (e.g., Interests, Dividends)
        - `gross_income` (map from string to string, required) — Gross capital income
        - `tax_withheld` (map from string to string, required) — Tax withheld from capital income
        - `penalization` (map from string to string, required) — Penalization for early withdrawal
        - `deductible_expenses` (map from string to string, required) — Deductible administration or custody fees
        - `taxpayer_id` (string, required) — National identifier of the taxpayer for this line
        - `provider_id` (string, optional) — Identifier of the financial entity (NIF/CIF)
        - `provider_name` (string, optional) — Name of the financial entity
        - `account_number` (string, optional) — Account number or IBAN
      - `total_gross` (map from string to string, required) — Total gross capital income
      - `total_withheld` (map from string to string, required) — Total tax withheld from capital income
      - `total_penalization` (map from string to string, required) — Total penalization
      - `total_expenses` (map from string to string, required) — Total deductible expenses
    - `capital_gains` (object, required) — Capital gains and losses details
      - `lines` (list of object, required) — List of capital gain operations
        - `asset_description` (string, required) — Description of the asset sold
        - `asset_type` (string, required) — Type of asset (e.g., Shares, Crypto, Real Estate)
        - `sale_value` (map from string to string, required) — Total sale value (net of expenses)
        - `sale_expenses` (map from string to string, required) — Expenses associated with the sale
        - `taxpayer_id` (string, required) — National identifier of the taxpayer for this line
        - `issuer_id` (string, optional) — Identifier of the issuer
        - `issuer_name` (string, optional) — Name of the issuer
        - `broker_id` (string, optional) — Identifier of the broker
        - `broker_name` (string, optional) — Name of the broker
        - `sale_date` (date, optional) — Date of sale
    - `business` (object, required) — Business activity income details
      - `activities` (list of object, required) — List of business activities
        - `description` (string, required) — Description of the business activity
        - `activity_code` (string, required) — Activity code (IAE / NACE)
        - `total_income` (map from string to string, required) — Total business income
        - `tax_withheld` (map from string to string, required) — Tax withheld from the activity
        - `taxpayer_id` (string, required) — National identifier of the taxpayer for this line
        - `payer_id` (string, optional) — Payer NIF
      - `total_income` (map from string to string, required) — Total economic activities income
      - `total_withheld` (map from string to string, required) — Total economic activities withheld
      - `social_security_contributions` (map from string to string, required) — Social security contributions paid
    - `real_estate` (object, required) — Real estate/rental income details
      - `properties` (list of object, required) — List of rental properties
        - `address` (string, required) — Full address of the property
        - `gross_income` (map from string to string, required) — Gross rental income
        - `deductible_expenses` (map from string to string, required) — Total deductible expenses for this property
        - `net_income` (map from string to string, required) — Net rental income
        - `taxpayer_id` (string, required) — National identifier of the taxpayer for this line
        - `cadastral_reference` (string, optional) — Cadastral reference of the property
      - `total_gross_income` (map from string to string, required) — Total gross rental income
      - `total_net_income` (map from string to string, required) — Total net rental income
  - `deductions` (object, required) — Detailed breakdown of deductions
    - `donations` (list of object, required) — List of donations
      - `entity_id` (string, required) — Identifier of the receiving entity (NIF/CIF)
      - `entity_name` (string, required) — Name of the receiving entity
      - `amount` (map from string to string, required) — Amount donated
      - `is_recurring` (boolean, required) — Whether the donation is recurring
      - `taxpayer_id` (string, required) — National identifier of the taxpayer for this line
      - `donation_type` (string, optional) — Type of donation (e.g., Donativo)
    - `total_donations` (map from string to string, required) — Total donations
    - `personal_allowance` (map from string to string, required) — Personal tax-free allowance
    - `family_allowance` (map from string to string, required) — Family tax-free allowances (children, ascendants)
    - `regional_deductions` (map from string to string, required) — Total deductions applied at regional level
    - `state_deductions` (map from string to string, required) — Total deductions applied at state level
    - `total_deductions` (map from string to string, required) — Grand total of all deductions
  - `liabilities` (object, required) — Detailed breakdown of liabilities
    - `real_estate_loans` (list of object, optional, default: []) — List of real estate loans
      - `loan_id` (string, required) — Identifier of the loan
      - `lender_id` (string, required) — Identifier of the lender (NIF/CIF)
      - `lender_name` (string, required) — Name of the lender
      - `amortized_capital` (map from string to string, required) — Total amortized capital
      - `interests` (map from string to string, required) — Total interests paid
      - `financial_expenses` (map from string to string, required) — Total financial expenses
      - `taxpayer_id` (string, required) — National identifier of the taxpayer for this line
      - `participation` (string, optional, default: nan) — Percentage of participation in the loan
      - `formalization_date` (date, optional) — Date the loan was formalized
  - `joint_taxpayers` (list of string, optional) — List of national identifiers for joint taxpayers
  - `attachments` (list of object, optional, default: []) — List of attached supporting documents
    - `sub_family` (enum, required) — What kind of document this is (e.g. `attachment:es-tgss-life-report`).
      - Allowed values: `attachment:attachment`, `attachment:supplier_invoice`, `attachment:client_invoice`, `attachment:es-tgss-life-report`, `attachment:es-tgss-contribution-base-report`, `attachment:es-aeat-model-100`, `attachment:es-cirbe-report`, `attachment:sepa-direct-debit-bill`
    - `id` (string, required) — Attachment identifier — use it to download the file through the execution's attachments endpoint.
    - `content_name` (string, required) — File name of the document.
    - `content_type` (string, required) — MIME type of the content.
    - `metadata` (map from string to any, required) — Extra facts about the document, as simple key-value pairs (e.g. its official verification code, its issue date).
    - `product` ("attachment", optional, default: attachment) — The product type identifier. Always `attachment`.
    - `content_hash` (string, optional) — Fingerprint of the content, to verify its integrity.

### 202

**202 Accepted**`feature_not_ready`: `yearly_individual_tax` is still running. **You do not have to wait for the whole execution** — every family answers as soon as its own feature closes, so a slow source does not hold up the ones that already finished.

- `detail` (string, required) — Error message

## Errors

### 404 Not Found Error

**404 Not Found**No execution with that id for your application, or it has been deleted.

- `detail` (string, required) — Error message

### 422 Unprocessable Entity Error

Validation Error

- `detail` (list of object, optional)
  - `loc` (list of string or integer, required)
  - `msg` (string, required)
  - `type` (string, required)
  - `input` (any, optional)
  - `ctx` (object, optional)

## Examples

### Three fiscal years as filed

**Response**

```json
[
  {
    "product": "tax_information",
    "sub_family": "tax_information:persons_yearly_fiscal_data",
    "fetch_date": "2026-09-12T00:46:04+00:00",
    "primary_taxpayer": "44444444A",
    "address": {
      "title": "Domicilio",
      "street": "Urbanización de Norberto Oliver, 5",
      "street_extra": "Apt. 59",
      "municipality": "Getafe",
      "city": "El Barrio",
      "state": "Madrid",
      "country": "ES",
      "zip_code": "28907"
    },
    "address_reference": "9463357PE7580Z1139PP1",
    "country_code": "ES",
    "currency": "EUR",
    "tax_agency": "AEAT",
    "fiscal_year_start": "2025-01-01",
    "fiscal_year_end": "2025-12-31",
    "status": "data",
    "filing_category": "individual",
    "taxable_base": {
      "amount": "50286.21",
      "currency": "EUR"
    },
    "total_tax_paid": {
      "amount": "9029.18",
      "currency": "EUR"
    },
    "final_tax_result": {
      "amount": "3542.37",
      "currency": "EUR"
    },
    "income": {
      "employment": {
        "lines": [
          {
            "employer_id": "B22222228",
            "employer_name": "SEGUNDA EMPRESA SL",
            "gross_income": {
              "amount": "46779.00",
              "currency": "EUR"
            },
            "tax_withheld": {
              "amount": "8888.01",
              "currency": "EUR"
            },
            "social_security_contributions": {
              "amount": "2970.47",
              "currency": "EUR"
            },
            "taxpayer_id": "44444444A"
          }
        ],
        "total_gross": {
          "amount": "46779.00",
          "currency": "EUR"
        },
        "total_withheld": {
          "amount": "8888.01",
          "currency": "EUR"
        },
        "total_social_security": {
          "amount": "2970.47",
          "currency": "EUR"
        }
      },
      "capital": {
        "lines": [
          {
            "asset_type": "Cuenta corriente",
            "gross_income": {
              "amount": "37.00",
              "currency": "EUR"
            },
            "tax_withheld": {
              "amount": "7.03",
              "currency": "EUR"
            },
            "penalization": {
              "amount": "0.00",
              "currency": "EUR"
            },
            "deductible_expenses": {
              "amount": "0.00",
              "currency": "EUR"
            },
            "taxpayer_id": "44444444A",
            "provider_id": "B11111119",
            "provider_name": "ING BANK NV SUCURSAL EN ESPAÑA",
            "account_number": "1483068403"
          },
          {
            "asset_type": "Dividendo / Dineraria",
            "gross_income": {
              "amount": "15.00",
              "currency": "EUR"
            },
            "tax_withheld": {
              "amount": "2.85",
              "currency": "EUR"
            },
            "penalization": {
              "amount": "0.00",
              "currency": "EUR"
            },
            "deductible_expenses": {
              "amount": "0.00",
              "currency": "EUR"
            },
            "taxpayer_id": "44444444A",
            "provider_id": "B22222228",
            "provider_name": "RENTA 4 BANCO SA"
          },
          {
            "asset_type": "Gastos",
            "gross_income": {
              "amount": "0.00",
              "currency": "EUR"
            },
            "tax_withheld": {
              "amount": "0.00",
              "currency": "EUR"
            },
            "penalization": {
              "amount": "0.00",
              "currency": "EUR"
            },
            "deductible_expenses": {
              "amount": "36.30",
              "currency": "EUR"
            },
            "taxpayer_id": "44444444A",
            "provider_id": "",
            "provider_name": ""
          }
        ],
        "total_gross": {
          "amount": "52.00",
          "currency": "EUR"
        },
        "total_withheld": {
          "amount": "9.88",
          "currency": "EUR"
        },
        "total_penalization": {
          "amount": "0.00",
          "currency": "EUR"
        },
        "total_expenses": {
          "amount": "36.30",
          "currency": "EUR"
        }
      },
      "capital_gains": {
        "lines": [
          {
            "asset_description": "Acciones Mercado Continuo",
            "asset_type": "Acciones",
            "sale_value": {
              "amount": "2073.00",
              "currency": "EUR"
            },
            "sale_expenses": {
              "amount": "0.00",
              "currency": "EUR"
            },
            "taxpayer_id": "44444444A",
            "broker_id": "B22222228",
            "broker_name": "RENTA 4 BANCO SA",
            "sale_date": "2025-11-22"
          }
        ]
      },
      "business": {
        "activities": [],
        "total_income": {
          "amount": "0.00",
          "currency": "EUR"
        },
        "total_withheld": {
          "amount": "0.00",
          "currency": "EUR"
        },
        "social_security_contributions": {
          "amount": "0.00",
          "currency": "EUR"
        }
      },
      "real_estate": {
        "properties": [
          {
            "address": "Urbanización de Norberto Oliver, 5",
            "gross_income": {
              "amount": "3499.00",
              "currency": "EUR"
            },
            "deductible_expenses": {
              "amount": "734.79",
              "currency": "EUR"
            },
            "net_income": {
              "amount": "2764.21",
              "currency": "EUR"
            },
            "taxpayer_id": "44444444A",
            "cadastral_reference": "9913886XO7448H5854BL1"
          }
        ],
        "total_gross_income": {
          "amount": "3499.00",
          "currency": "EUR"
        },
        "total_net_income": {
          "amount": "2764.21",
          "currency": "EUR"
        }
      }
    },
    "deductions": {
      "donations": [
        {
          "entity_id": "G84451087",
          "entity_name": "FUNDACIÓN UNICEF-COMITÉ ESPAÑOL",
          "amount": {
            "amount": "120.00",
            "currency": "EUR"
          },
          "is_recurring": true,
          "taxpayer_id": "44444444A",
          "donation_type": "Donativo"
        }
      ],
      "total_donations": {
        "amount": "120.00",
        "currency": "EUR"
      },
      "personal_allowance": {
        "amount": "0.00",
        "currency": "EUR"
      },
      "family_allowance": {
        "amount": "0.00",
        "currency": "EUR"
      },
      "regional_deductions": {
        "amount": "0.00",
        "currency": "EUR"
      },
      "state_deductions": {
        "amount": "0.00",
        "currency": "EUR"
      },
      "total_deductions": {
        "amount": "0.00",
        "currency": "EUR"
      }
    },
    "liabilities": {
      "real_estate_loans": [
        {
          "loan_id": "36181908146491315079",
          "lender_id": "B11111119",
          "lender_name": "ING BANK NV SUCURSAL EN ESPAÑA",
          "amortized_capital": {
            "amount": "3243.20",
            "currency": "EUR"
          },
          "interests": {
            "amount": "5001.53",
            "currency": "EUR"
          },
          "financial_expenses": {
            "amount": "0.00",
            "currency": "EUR"
          },
          "taxpayer_id": "44444444A",
          "participation": "0.50",
          "formalization_date": "2017-10-10"
        }
      ]
    },
    "attachments": []
  },
  {
    "product": "tax_information",
    "sub_family": "tax_information:persons_yearly_fiscal_data",
    "fetch_date": "2026-09-12T00:46:04+00:00",
    "primary_taxpayer": "44444444A",
    "address": {
      "title": "Domicilio",
      "street": "Urbanización de Norberto Oliver, 5",
      "street_extra": "Apt. 59",
      "municipality": "Getafe",
      "city": "El Barrio",
      "state": "Madrid",
      "country": "ES",
      "zip_code": "28907"
    },
    "address_reference": "6013536EH8518R8091VF3",
    "country_code": "ES",
    "currency": "EUR",
    "tax_agency": "AEAT",
    "fiscal_year_start": "2024-01-01",
    "fiscal_year_end": "2024-12-31",
    "status": "submitted",
    "filing_category": "individual",
    "taxable_base": {
      "amount": "49759.20",
      "currency": "EUR"
    },
    "total_tax_paid": {
      "amount": "9006.57",
      "currency": "EUR"
    },
    "final_tax_result": {
      "amount": "3433.23",
      "currency": "EUR"
    },
    "income": {
      "employment": {
        "lines": [
          {
            "employer_id": "B22222228",
            "employer_name": "SEGUNDA EMPRESA SL",
            "gross_income": {
              "amount": "46864.00",
              "currency": "EUR"
            },
            "tax_withheld": {
              "amount": "8904.16",
              "currency": "EUR"
            },
            "social_security_contributions": {
              "amount": "2975.86",
              "currency": "EUR"
            },
            "taxpayer_id": "44444444A"
          }
        ],
        "total_gross": {
          "amount": "46864.00",
          "currency": "EUR"
        },
        "total_withheld": {
          "amount": "8904.16",
          "currency": "EUR"
        },
        "total_social_security": {
          "amount": "2975.86",
          "currency": "EUR"
        }
      },
      "capital": {
        "lines": [
          {
            "asset_type": "Cuenta corriente",
            "gross_income": {
              "amount": "29.00",
              "currency": "EUR"
            },
            "tax_withheld": {
              "amount": "5.51",
              "currency": "EUR"
            },
            "penalization": {
              "amount": "0.00",
              "currency": "EUR"
            },
            "deductible_expenses": {
              "amount": "0.00",
              "currency": "EUR"
            },
            "taxpayer_id": "44444444A",
            "provider_id": "B11111119",
            "provider_name": "ING BANK NV SUCURSAL EN ESPAÑA",
            "account_number": "1028917579"
          },
          {
            "asset_type": "Dividendo / Dineraria",
            "gross_income": {
              "amount": "14.00",
              "currency": "EUR"
            },
            "tax_withheld": {
              "amount": "2.66",
              "currency": "EUR"
            },
            "penalization": {
              "amount": "0.00",
              "currency": "EUR"
            },
            "deductible_expenses": {
              "amount": "0.00",
              "currency": "EUR"
            },
            "taxpayer_id": "44444444A",
            "provider_id": "B22222228",
            "provider_name": "RENTA 4 BANCO SA"
          },
          {
            "asset_type": "Gastos",
            "gross_income": {
              "amount": "0.00",
              "currency": "EUR"
            },
            "tax_withheld": {
              "amount": "0.00",
              "currency": "EUR"
            },
            "penalization": {
              "amount": "0.00",
              "currency": "EUR"
            },
            "deductible_expenses": {
              "amount": "36.30",
              "currency": "EUR"
            },
            "taxpayer_id": "44444444A",
            "provider_id": "",
            "provider_name": ""
          }
        ],
        "total_gross": {
          "amount": "43.00",
          "currency": "EUR"
        },
        "total_withheld": {
          "amount": "8.17",
          "currency": "EUR"
        },
        "total_penalization": {
          "amount": "0.00",
          "currency": "EUR"
        },
        "total_expenses": {
          "amount": "36.30",
          "currency": "EUR"
        }
      },
      "capital_gains": {
        "lines": [
          {
            "asset_description": "Acciones Mercado Continuo",
            "asset_type": "Acciones",
            "sale_value": {
              "amount": "1488.00",
              "currency": "EUR"
            },
            "sale_expenses": {
              "amount": "0.00",
              "currency": "EUR"
            },
            "taxpayer_id": "44444444A",
            "broker_id": "B22222228",
            "broker_name": "RENTA 4 BANCO SA",
            "sale_date": "2024-11-22"
          }
        ]
      },
      "business": {
        "activities": [],
        "total_income": {
          "amount": "0.00",
          "currency": "EUR"
        },
        "total_withheld": {
          "amount": "0.00",
          "currency": "EUR"
        },
        "social_security_contributions": {
          "amount": "0.00",
          "currency": "EUR"
        }
      },
      "real_estate": {
        "properties": [
          {
            "address": "Urbanización de Norberto Oliver, 5",
            "gross_income": {
              "amount": "3366.00",
              "currency": "EUR"
            },
            "deductible_expenses": {
              "amount": "1009.80",
              "currency": "EUR"
            },
            "net_income": {
              "amount": "2356.20",
              "currency": "EUR"
            },
            "taxpayer_id": "44444444A",
            "cadastral_reference": "3190789GH5718G6326LA0"
          }
        ],
        "total_gross_income": {
          "amount": "3366.00",
          "currency": "EUR"
        },
        "total_net_income": {
          "amount": "2356.20",
          "currency": "EUR"
        }
      }
    },
    "deductions": {
      "donations": [
        {
          "entity_id": "G84451087",
          "entity_name": "FUNDACIÓN UNICEF-COMITÉ ESPAÑOL",
          "amount": {
            "amount": "120.00",
            "currency": "EUR"
          },
          "is_recurring": true,
          "taxpayer_id": "44444444A",
          "donation_type": "Donativo"
        }
      ],
      "total_donations": {
        "amount": "120.00",
        "currency": "EUR"
      },
      "personal_allowance": {
        "amount": "0.00",
        "currency": "EUR"
      },
      "family_allowance": {
        "amount": "0.00",
        "currency": "EUR"
      },
      "regional_deductions": {
        "amount": "0.00",
        "currency": "EUR"
      },
      "state_deductions": {
        "amount": "0.00",
        "currency": "EUR"
      },
      "total_deductions": {
        "amount": "0.00",
        "currency": "EUR"
      }
    },
    "liabilities": {
      "real_estate_loans": [
        {
          "loan_id": "86809874368754368287",
          "lender_id": "B11111119",
          "lender_name": "ING BANK NV SUCURSAL EN ESPAÑA",
          "amortized_capital": {
            "amount": "3243.20",
            "currency": "EUR"
          },
          "interests": {
            "amount": "5001.53",
            "currency": "EUR"
          },
          "financial_expenses": {
            "amount": "0.00",
            "currency": "EUR"
          },
          "taxpayer_id": "44444444A",
          "participation": "0.50",
          "formalization_date": "2017-10-10"
        }
      ]
    },
    "attachments": [
      {
        "sub_family": "attachment:es-aeat-model-100",
        "id": "6aa743ccd1763aff31cb62f3",
        "content_name": "M100_2024.pdf",
        "content_type": "application/pdf",
        "metadata": {
          "csv-code": "20240000000000",
          "csv-url": "https://sede.seg-social.gob.es/wps/portal/sede/sede/Inicio/Serviciosverficacion/",
          "document-date": "2026-09-12T02:46:04.057200+02:00",
          "document-type": "attachment:es-tgss-life-report"
        },
        "product": "attachment",
        "content_hash": "80b3ad5dc1b5fec5eb7fb53ba9b9d6498ff4f2f13d82d50859445c22db0c1006c7fc66d817a17ba38523cd2b7f73a629281bb273b6081ae2c344a7c01ee195ec"
      }
    ]
  },
  {
    "product": "tax_information",
    "sub_family": "tax_information:persons_yearly_fiscal_data",
    "fetch_date": "2026-09-12T00:46:04+00:00",
    "primary_taxpayer": "44444444A",
    "address": {
      "title": "Domicilio",
      "street": "Urbanización de Norberto Oliver, 5",
      "street_extra": "Apt. 59",
      "municipality": "Getafe",
      "city": "El Barrio",
      "state": "Madrid",
      "country": "ES",
      "zip_code": "28907"
    },
    "address_reference": "3934096DG1350E5241HQ2",
    "country_code": "ES",
    "currency": "EUR",
    "tax_agency": "AEAT",
    "fiscal_year_start": "2023-01-01",
    "fiscal_year_end": "2023-12-31",
    "status": "submitted",
    "filing_category": "individual",
    "taxable_base": {
      "amount": "49294.52",
      "currency": "EUR"
    },
    "total_tax_paid": {
      "amount": "8926.01",
      "currency": "EUR"
    },
    "final_tax_result": {
      "amount": "3397.62",
      "currency": "EUR"
    },
    "income": {
      "employment": {
        "lines": [
          {
            "employer_id": "B22222228",
            "employer_name": "SEGUNDA EMPRESA SL",
            "gross_income": {
              "amount": "46682.00",
              "currency": "EUR"
            },
            "tax_withheld": {
              "amount": "8869.58",
              "currency": "EUR"
            },
            "social_security_contributions": {
              "amount": "2964.31",
              "currency": "EUR"
            },
            "taxpayer_id": "44444444A"
          }
        ],
        "total_gross": {
          "amount": "46682.00",
          "currency": "EUR"
        },
        "total_withheld": {
          "amount": "8869.58",
          "currency": "EUR"
        },
        "total_social_security": {
          "amount": "2964.31",
          "currency": "EUR"
        }
      },
      "capital": {
        "lines": [
          {
            "asset_type": "Cuenta corriente",
            "gross_income": {
              "amount": "40.00",
              "currency": "EUR"
            },
            "tax_withheld": {
              "amount": "7.60",
              "currency": "EUR"
            },
            "penalization": {
              "amount": "0.00",
              "currency": "EUR"
            },
            "deductible_expenses": {
              "amount": "0.00",
              "currency": "EUR"
            },
            "taxpayer_id": "44444444A",
            "provider_id": "B11111119",
            "provider_name": "ING BANK NV SUCURSAL EN ESPAÑA",
            "account_number": "8028694984"
          },
          {
            "asset_type": "Dividendo / Dineraria",
            "gross_income": {
              "amount": "16.00",
              "currency": "EUR"
            },
            "tax_withheld": {
              "amount": "3.04",
              "currency": "EUR"
            },
            "penalization": {
              "amount": "0.00",
              "currency": "EUR"
            },
            "deductible_expenses": {
              "amount": "0.00",
              "currency": "EUR"
            },
            "taxpayer_id": "44444444A",
            "provider_id": "B22222228",
            "provider_name": "RENTA 4 BANCO SA"
          },
          {
            "asset_type": "Gastos",
            "gross_income": {
              "amount": "0.00",
              "currency": "EUR"
            },
            "tax_withheld": {
              "amount": "0.00",
              "currency": "EUR"
            },
            "penalization": {
              "amount": "0.00",
              "currency": "EUR"
            },
            "deductible_expenses": {
              "amount": "36.30",
              "currency": "EUR"
            },
            "taxpayer_id": "44444444A",
            "provider_id": "",
            "provider_name": ""
          }
        ],
        "total_gross": {
          "amount": "56.00",
          "currency": "EUR"
        },
        "total_withheld": {
          "amount": "10.64",
          "currency": "EUR"
        },
        "total_penalization": {
          "amount": "0.00",
          "currency": "EUR"
        },
        "total_expenses": {
          "amount": "36.30",
          "currency": "EUR"
        }
      },
      "capital_gains": {
        "lines": [
          {
            "asset_description": "Acciones Mercado Continuo",
            "asset_type": "Acciones",
            "sale_value": {
              "amount": "723.00",
              "currency": "EUR"
            },
            "sale_expenses": {
              "amount": "0.00",
              "currency": "EUR"
            },
            "taxpayer_id": "44444444A",
            "broker_id": "B22222228",
            "broker_name": "RENTA 4 BANCO SA",
            "sale_date": "2023-11-22"
          }
        ]
      },
      "business": {
        "activities": [],
        "total_income": {
          "amount": "0.00",
          "currency": "EUR"
        },
        "total_withheld": {
          "amount": "0.00",
          "currency": "EUR"
        },
        "social_security_contributions": {
          "amount": "0.00",
          "currency": "EUR"
        }
      },
      "real_estate": {
        "properties": [
          {
            "address": "Urbanización de Norberto Oliver, 5",
            "gross_income": {
              "amount": "3216.00",
              "currency": "EUR"
            },
            "deductible_expenses": {
              "amount": "900.48",
              "currency": "EUR"
            },
            "net_income": {
              "amount": "2315.52",
              "currency": "EUR"
            },
            "taxpayer_id": "44444444A",
            "cadastral_reference": "6878306UH5560Y7694CR5"
          }
        ],
        "total_gross_income": {
          "amount": "3216.00",
          "currency": "EUR"
        },
        "total_net_income": {
          "amount": "2315.52",
          "currency": "EUR"
        }
      }
    },
    "deductions": {
      "donations": [
        {
          "entity_id": "G84451087",
          "entity_name": "FUNDACIÓN UNICEF-COMITÉ ESPAÑOL",
          "amount": {
            "amount": "120.00",
            "currency": "EUR"
          },
          "is_recurring": true,
          "taxpayer_id": "44444444A",
          "donation_type": "Donativo"
        }
      ],
      "total_donations": {
        "amount": "120.00",
        "currency": "EUR"
      },
      "personal_allowance": {
        "amount": "0.00",
        "currency": "EUR"
      },
      "family_allowance": {
        "amount": "0.00",
        "currency": "EUR"
      },
      "regional_deductions": {
        "amount": "0.00",
        "currency": "EUR"
      },
      "state_deductions": {
        "amount": "0.00",
        "currency": "EUR"
      },
      "total_deductions": {
        "amount": "0.00",
        "currency": "EUR"
      }
    },
    "liabilities": {
      "real_estate_loans": [
        {
          "loan_id": "38596173363269744880",
          "lender_id": "B11111119",
          "lender_name": "ING BANK NV SUCURSAL EN ESPAÑA",
          "amortized_capital": {
            "amount": "3243.20",
            "currency": "EUR"
          },
          "interests": {
            "amount": "5001.53",
            "currency": "EUR"
          },
          "financial_expenses": {
            "amount": "0.00",
            "currency": "EUR"
          },
          "taxpayer_id": "44444444A",
          "participation": "0.50",
          "formalization_date": "2017-10-10"
        }
      ]
    },
    "attachments": [
      {
        "sub_family": "attachment:es-aeat-model-100",
        "id": "6aa743ccd1763aff31cb62f4",
        "content_name": "M100_2023.pdf",
        "content_type": "application/pdf",
        "metadata": {
          "csv-code": "20230000000000",
          "csv-url": "https://sede.seg-social.gob.es/wps/portal/sede/sede/Inicio/Serviciosverficacion/",
          "document-date": "2026-09-12T02:46:04.059434+02:00",
          "document-type": "attachment:es-tgss-life-report"
        },
        "product": "attachment",
        "content_hash": "80b3ad5dc1b5fec5eb7fb53ba9b9d6498ff4f2f13d82d50859445c22db0c1006c7fc66d817a17ba38523cd2b7f73a629281bb273b6081ae2c344a7c01ee195ec"
      }
    ]
  }
]
```

**SDK Code**

```python Three fiscal years as filed
import requests

url = "https://clients.infonite.tech/api/executions/results/6aa3d8b418d1c5dc9a8e3d36/public/v1/tax/individual/yearly"

headers = {"X-APP-SECRET": "<apiKey>"}

response = requests.get(url, headers=headers)

print(response.json())
```

```javascript Three fiscal years as filed
const url = 'https://clients.infonite.tech/api/executions/results/6aa3d8b418d1c5dc9a8e3d36/public/v1/tax/individual/yearly';
const options = {method: 'GET', headers: {'X-APP-SECRET': '<apiKey>'}};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go Three fiscal years as filed
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://clients.infonite.tech/api/executions/results/6aa3d8b418d1c5dc9a8e3d36/public/v1/tax/individual/yearly"

	req, _ := http.NewRequest("GET", url, nil)

	req.Header.Add("X-APP-SECRET", "<apiKey>")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby Three fiscal years as filed
require 'uri'
require 'net/http'

url = URI("https://clients.infonite.tech/api/executions/results/6aa3d8b418d1c5dc9a8e3d36/public/v1/tax/individual/yearly")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["X-APP-SECRET"] = '<apiKey>'

response = http.request(request)
puts response.read_body
```

```java Three fiscal years as filed
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.get("https://clients.infonite.tech/api/executions/results/6aa3d8b418d1c5dc9a8e3d36/public/v1/tax/individual/yearly")
  .header("X-APP-SECRET", "<apiKey>")
  .asString();
```

```php Three fiscal years as filed
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://clients.infonite.tech/api/executions/results/6aa3d8b418d1c5dc9a8e3d36/public/v1/tax/individual/yearly', [
  'headers' => [
    'X-APP-SECRET' => '<apiKey>',
  ],
]);

echo $response->getBody();
```

```csharp Three fiscal years as filed
using RestSharp;

var client = new RestClient("https://clients.infonite.tech/api/executions/results/6aa3d8b418d1c5dc9a8e3d36/public/v1/tax/individual/yearly");
var request = new RestRequest(Method.GET);
request.AddHeader("X-APP-SECRET", "<apiKey>");
IRestResponse response = client.Execute(request);
```

```swift Three fiscal years as filed
import Foundation

let headers = ["X-APP-SECRET": "<apiKey>"]

let request = NSMutableURLRequest(url: NSURL(string: "https://clients.infonite.tech/api/executions/results/6aa3d8b418d1c5dc9a8e3d36/public/v1/tax/individual/yearly")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```

### This family has not finished

**Response**

```json
{
  "detail": "feature_not_ready"
}
```

**SDK Code**

```python This family has not finished
import requests

url = "https://clients.infonite.tech/api/executions/results/6aa3d8b418d1c5dc9a8e3d36/public/v1/tax/individual/yearly"

headers = {"X-APP-SECRET": "<apiKey>"}

response = requests.get(url, headers=headers)

print(response.json())
```

```javascript This family has not finished
const url = 'https://clients.infonite.tech/api/executions/results/6aa3d8b418d1c5dc9a8e3d36/public/v1/tax/individual/yearly';
const options = {method: 'GET', headers: {'X-APP-SECRET': '<apiKey>'}};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go This family has not finished
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://clients.infonite.tech/api/executions/results/6aa3d8b418d1c5dc9a8e3d36/public/v1/tax/individual/yearly"

	req, _ := http.NewRequest("GET", url, nil)

	req.Header.Add("X-APP-SECRET", "<apiKey>")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby This family has not finished
require 'uri'
require 'net/http'

url = URI("https://clients.infonite.tech/api/executions/results/6aa3d8b418d1c5dc9a8e3d36/public/v1/tax/individual/yearly")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["X-APP-SECRET"] = '<apiKey>'

response = http.request(request)
puts response.read_body
```

```java This family has not finished
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.get("https://clients.infonite.tech/api/executions/results/6aa3d8b418d1c5dc9a8e3d36/public/v1/tax/individual/yearly")
  .header("X-APP-SECRET", "<apiKey>")
  .asString();
```

```php This family has not finished
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://clients.infonite.tech/api/executions/results/6aa3d8b418d1c5dc9a8e3d36/public/v1/tax/individual/yearly', [
  'headers' => [
    'X-APP-SECRET' => '<apiKey>',
  ],
]);

echo $response->getBody();
```

```csharp This family has not finished
using RestSharp;

var client = new RestClient("https://clients.infonite.tech/api/executions/results/6aa3d8b418d1c5dc9a8e3d36/public/v1/tax/individual/yearly");
var request = new RestRequest(Method.GET);
request.AddHeader("X-APP-SECRET", "<apiKey>");
IRestResponse response = client.Execute(request);
```

```swift This family has not finished
import Foundation

let headers = ["X-APP-SECRET": "<apiKey>"]

let request = NSMutableURLRequest(url: NSURL(string: "https://clients.infonite.tech/api/executions/results/6aa3d8b418d1c5dc9a8e3d36/public/v1/tax/individual/yearly")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```