Source product filters
curl --request GET \
--url https://api.dev.impactu.colav.co/source/{source_id}/products/filtersimport requests
url = "https://api.dev.impactu.colav.co/source/{source_id}/products/filters"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.dev.impactu.colav.co/source/{source_id}/products/filters', 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.dev.impactu.colav.co/source/{source_id}/products/filters",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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.dev.impactu.colav.co/source/{source_id}/products/filters"
req, _ := http.NewRequest("GET", url, nil)
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.dev.impactu.colav.co/source/{source_id}/products/filters")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.dev.impactu.colav.co/source/{source_id}/products/filters")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{"authors_count": {"max_authors": null, "min_authors": null}, "years": {"max_year": null, "min_year": null}}
{
"error": "1 validation error for QueryParams\nmax\n Input should be greater than or equal to 1 [type=greater_than_equal, input_value='0', input_type=str]\n For further i…"
}
Source
Source product filters
Options available to filter the products of a source, with their number of results.
GET
/
source
/
{source_id}
/
products
/
filters
Source product filters
curl --request GET \
--url https://api.dev.impactu.colav.co/source/{source_id}/products/filtersimport requests
url = "https://api.dev.impactu.colav.co/source/{source_id}/products/filters"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.dev.impactu.colav.co/source/{source_id}/products/filters', 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.dev.impactu.colav.co/source/{source_id}/products/filters",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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.dev.impactu.colav.co/source/{source_id}/products/filters"
req, _ := http.NewRequest("GET", url, nil)
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.dev.impactu.colav.co/source/{source_id}/products/filters")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.dev.impactu.colav.co/source/{source_id}/products/filters")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{"authors_count": {"max_authors": null, "min_authors": null}, "years": {"max_year": null, "min_year": null}}
{
"error": "1 validation error for QueryParams\nmax\n Input should be greater than or equal to 1 [type=greater_than_equal, input_value='0', input_type=str]\n For further i…"
}
Returns the values you can use in the filters of Source products. They are the same filters as Search products, but computed only over the products published in the given source.
The options and their counts depend on the filters you send: if you apply a filter, only the options that exist within that result are returned.
Path parameters
string
required
Source identifier. Example:
6aad68732be7843cde64e41b.Query parameters
All are optional. They accept several values separated by commas.string
Year range: minimum and maximum separated by a comma. Example:
2020,2026.string
Product types. Example:
impactu_Artículo de revista.string
Open access status. Example:
diamond,gold.string
OpenAlex topics (URL). Example:
https://openalex.org/T14483.string
Co-authors’ countries, by code. Example:
CO.string
Number of authors:
5 (exactly), 5- (5 or more), -5 (up to 5) or 5-8
(range).string
Author classification. Example:
Investigador Junior.string
Group classification. Example:
A1,A.string
Co-authors’ institution type (ROR). Example:
education,company.Response
The response is an object with one field per filter. A filter appears only if it has options within the result: if there is no data for it, the field is left out.Option lists
object[]
object[]
Research group classifications (
A1, A, B, C, Reconocido). Same
structure as authors_ranking.object[]
Countries of the authors’ affiliations.
value is the country code (for
example, CO) and label its name.object[]
Co-authors’ institution types (according to ROR):
education, funder,
healthcare, company, archive, nonprofit, government, facility and
other.Ranges
object
object
Option trees
These fields are lists of nodes withvalue, title, count and, if they group others, children.
object[]
Product types grouped by source (for example,
impactu). The value of each
child carries the source prefix: impactu_Artículo de revista.object[]
Open access status. The
open node groups diamond, green, hybrid,
gold and bronze; closed has no children.object[]
OpenAlex topics in a hierarchy (domain, field, subfield and topic). The
value of each node is its OpenAlex URL.{"authors_count": {"max_authors": null, "min_authors": null}, "years": {"max_year": null, "min_year": null}}
{
"error": "1 validation error for QueryParams\nmax\n Input should be greater than or equal to 1 [type=greater_than_equal, input_value='0', input_type=str]\n For further i…"
}